This course is an introduction to mobile programming using Android programming, windows and IoS. It blends theory and practice to help students build functional apps using acceptable software engineering principles and best practices of mobile development.
By the end of this course, the student should be able to:
a) Explain development tools in the Android development environment
b) Demonstrate the major components of Android API to develop apps
c) Describe components of android architecture and to build Android apps
d) Analyze application interface, GUI and android apps to solve real world problems
e) Package and prepare their apps for distribution in the Google Play Store
Introduction: Introduction to Mobile Computing, History and Android Development Environment. Installations and configurations. Factors in Developing Mobile Applications: Mobile Software Engineering, Frameworks and Tools, Generic UI Development, Android User, More on UIs: VUIs and Mobile Apps, Text-to-Speech Techniques, Designing the Right UI, Multichannel and Multimodal UIs. Intents and Services, Android Intents and Services, Characteristics and Successful Mobile Development. Storing and Retrieving Data: Synchronization and Replication of Mobile Data, Getting the Model Right, Android Storing and Retrieving Data, Working with a Content Provider. Communications via Network and the Web: State Machine, Correct Communications Model, Android Networking and Web. Telephony: Deciding Scope of an App, Wireless Connectivity and Mobile Apps, Android Telephony. Notifications and Alarms: Performance, Performance and Memory Management, Android Notifications and Alarms. Graphics: Performance and Multithreading, Graphics and UI Performance, Android Graphics and Multimedia, Mobile Agents and Peer-to-Peer Architecture. Location, Mobility and Location Based Services. Packaging and Deploying: Performance Best Practices, Android Field Service App. Security: Active Transactions, Security issues and measures. Trends in mobile applications development, Platforms and Additional Issues, Technology Selection and Mobile App Development Hurdles.
The course will use lectures, case analysis, discussion and presentations, simulations and independent readings. Students will develop, analyze, interpret and present cases, guest speakers, and practical skills.
Whiteboard, hand-outs, textbooks, videos/TVs, projectors, computers, journal articles, Internet and library resources. A java development kit (JDK), is required. Eclipse. XAMPP, OpenGL ES 2.X+
This course will be assessed in three forms, namely:
Sit in Continuous Assessment Test (20%)
Term paper (Assignment) (10 %)
Practical Project (10%)
Written Examination (60%)
1. Horton, J. (2015). Android programming for beginners: learn all the Java and Android skills you need to start making powerful mobile applications. Birmingham, UK: Packt Publishing Ltd. ISBN-10: 1785883267
2. Burnette, E. (2015). Hello, Android: introducing Google's mobile development platform(4th ed.). Dallas, TX: The Pragmatic Bookshelf.ISBN-10: 1680500376
3. Griffiths, D., & Griffiths, D. (2015). Head first android development: a brain-friendly guide. Sebastopol, CA: O'Reilly Media. ISBN-10: 1491974052
4. Android programming Beginners. Author John Horton 2015 December
5. Android Development for gifted primates: Android Essentials, 5th Edition by Antonis Tsangaris,2017.
6. Android Studio Development Essentials by Neil Smith, 2014, CreateSpace Independent Publishing Platform; 2 edition