Bachelors Level/Fourth Year/Eighth Semester/Science csit/eighth semester/mobile application development/syllabus

B.Sc Computer Science and Information Technology

Institute of Science and Technology, TU

Nature of the course: (Theory+Lab)

F.M: 60+20+20 P.M: 24+8+8

Credit Hrs: 3Hrs

Mobile Application Development [CSC484]
Course Objective
i.
The main objective of this course is to provide knowledge of understanding characterization and architecture with designing and developing of mobile applications.
Course Description

This course introduces mobile application development frameworks, architectures, design and engineering issues, techniques, methodologies for mobile application development.

S1:Introduction to Mobile Computing[5]
1
Introduction to Mobile Computing, 3-tier architecture of mobile computing, History of mobile, the evolution of devices (Brick era, Candy bar era, Feature phone era, Smartphone era, Touch era), Introduction to mobile application development frameworks (Swiftic, React Native, Xamarin, Ionic, Sencha, Adobe PhoneGap), Mobile ecosystem, Mobile application development environments, Factors in Developing Mobile Applications (Mobile Software Engineering, Framework and tools, User interface), Adding dimensions of mobile computing
S2:Architecture, Design and Mobile Development Frameworks[10]
1
Mobile computing architectures, Fully centralized and client server architectures, N-tier architecture, Mobile information architecture, Mobile design, The mobile design tent-pole, Elements of mobile design, Designing for right device and different size screen, Fully centralized framework, N-tier client server framework, Mobile operating system and Virtual machine, Hardware specific tools and frameworks, BREW (Binary Runtime Environment for Wireless), BREW SDK, Building and deploying BREW application, WAP Architecture, WAP UI, WAP proxies and gateways, Multimedia messaging services, WAP push, security, Publishing frameworks (cocoon architecture)
S3:User Interfaces[10]
1
Generic UI development, Human factors, Elements of the user interfaces (channels, interaction, prompts, response, commands, menus, forms, natural language), Resource files, Using UI widgets, Event driven programming, Context, (Taxonomy of context by domain, Extrinsic and Intrinsic context), User interface components, XForms, Developing mobile GUI, MVC, PAC, VUIs and mobile apps, Qualities of speech, Voice transcription, Voice recognition (Speech Grammar), Text to speech technologies, Speech synthesis, Multichannel and Multimodal UIs
S4:Testing and Publishing Apps[5]
1
Mobile application build and delivery, Testing mobile applications, Automated versus Manual testing, Testing the mobile infrastructure, Coding standards, Unit testing, Black box testing, White box testing, Regression testing, App distribution through App stores, Monetizing Apps
S5:Mobile Agent and Peer-to-Peer Architectures for Mobile Applications[3]
1
Basics of Agent technologies, Mobile agents for mobile computing, Peer to peer applications for mobile computing, JXTA
S6:Wireless Connectivity and Mobile Applications[3]
1
Modulation and Transmission techniques, Short range and long range wireless communication, Security in wireless network, Bluetooth security, Security in long range wireless networking technologies, Mobile IP, SMS
S7:Synchronization and Replication of Mobile Data[3]
1
Taxonomy of synchronization and replication, Scalability issues, Solving the mobile synchronization, Bluetooth synchronization, Working with the content provider
S8:Location and Sensing[4]
1
Mobility and location based service, Data acquisition of location information, GPS based solution, Non GPS solution, Using GIS for mobile applications, Location information modeling, Location based service, Architecture for offering location services, Security and privacy of location information
S9:Active Transactions[2]
1
Active computing and wireless infrastructure, WAP Push, Mobile IP and Push, Session initiation protocol
References
1.
Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML, Reza B’Far, Cambridge University Press, 2005
2.
Mobile Design and Development, Brian Fling, O’Reilly, 2009
Labrotary Work
The laboratory should contain all the features mentioned in a course, which should include
1.
Language overview (Java, Object oriented concept)
2.
Basic Concept of Android application architecture , source, resource folder concept , Terminology for android
3.
Concept of android Layouts , Concept of Linear layout, Relative layout, toolbar , Concepts of list view, recycler view, grid view, scroll view, view pager, tab Layout , Create form and form validation , Alert Dialogs, Toast , Popup
4.
Shared Preference , Menu , Option menu, context menu , Introduction to Activity, Fragment , Simple activity information , Working with intents , Theme and Style
5.
Database , Simple overview to database (simple query) , SQLite overview
6.
API Implementation , Working with volley , Working with Retrofit
7.
Advanced: Thread , JSON Parsing , Google Play Service (Maps, GPS) , FCM (Firebase Cloud Messaging)