Course Description:
This course introduces mobile application development frameworks, architectures, design and engineering issues, techniques, methodologies for mobile application development.
Course Objective:
The main objective of this course is to provide knowledge of understanding characterization and architecture with designing and developing of mobile applications.
Course Contents
Unit 1: Introduction to Mobile Computing (5 Hrs.)
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
Unit 2: Architecture, Design and Mobile Development Frameworks (10 Hrs.)
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)
Unit 3: User Interfaces (10 Hrs.)
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
Unit 4: Testing and Publishing Apps (5 Hrs.)
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
Unit 5: Mobile Agent and Peer-to-Peer Architectures for Mobile Applications (3 Hrs.)
Basics of Agent technologies, Mobile agents for mobile computing, Peer to peer applications for mobile computing, JXTA
Unit 6: Wireless Connectivity and Mobile Applications (3 Hrs.)
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
Unit 7: Synchronization and Replication of Mobile Data (3 Hrs.)
Taxonomy of synchronization and replication, Scalability issues, Solving the mobile synchronization, Bluetooth synchronization, Working with the content provider
Unit 8: Location and Sensing (4 Hrs.)
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
Unit 9: Active Transactions (2 Hrs.)
Active computing and wireless infrastructure, WAP Push, Mobile IP and Push, Session initiation protocol
Laboratory Works:
The laboratory should contain all the features mentioned in a course, which should include
- Language overview (Java, Object oriented concept)
- Basic Concept of Android application architecture
- source, resource folder concept
- Terminology for android
- 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
- Shared Preference
- Menu
- Option menu, context menu
- Introduction to Activity, Fragment
- Simple activity information
- Working with intents
- Theme and Style
- Database
- Simple overview to database (simple query)
- SQLite overview
- API Implementation
- Working with volley
- Working with Retrofit
- Advanced
- Thread
- JSON Parsing
- Google Play Service (Maps, GPS)
- FCM (Firebase Cloud Messaging)
Text Books:
- Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML, Reza B’Far, Cambridge University Press, 2005
- Mobile Design and Development, Brian Fling, O’Reilly, 2009