Developing Native Mobile Apps course at UCAD; June-July 2013


Do you want to learn about mobile development?
Do you want to design mobile apps?
Do you want to deploy mobile apps?
Do you want to submit an app to an app store?
Do you want to be a mobile tech entrepreneur?


This course surveys the specifics of the development of native applications for different mobile platforms including phones and tablets. The software engineering of application development including user-centered design, testing and quality assurance will be emphasized. Students will learn how to design and develop applications for the Java ME and Android platforms. The following topics will be covered: user interface, events processing, services management, location based facilities, sensors, network / web access, and sound and multimedia. Java ME for feature and smart phones such as Blackberry phones will be presented. The distribution of mobile applications and business models for monetization will be covered. Research and a significant project are integrated in the course.

Prerequisites: Java

Instructor: Dr. Christelle Scharff

Note: Thesis and internship projects will be proposed during and after the course.

Recommended books:

Java ME
Kicking Butt with MIDP and MSA: Creating Great Mobile Applications, Jonathan Knudsen, Addison-Wesley Professional.

Android Wireless Application Development, Shane Conder and Lauren Darcey, Addison-Wesley Professional.
The Android Developer’s Cookbook: Building Applications with the Android SDK, James Steele and Nelson To, Addison-Wesley Professional

BlackBerry Development Fundamentals, John M. Wargo, Addison-Wesley Professional.
Beginning Blackberry Development, Anthony Rizk, Apress.

Additional materials and recommended readings will be provided.


After taking this course, students should be able to:

  • Have knowledge in developing for the Java ME and Android platforms (phones and tablets);
  • Understand the differences between Java ME, Blackberry and Android development;
  • Develop and maintain high-quality mobile software products;
  • Appreciate the importance of user-centered design, testing and quality assurance in developing quality mobile software products;
  • Understand the specifics and constraints of developing for mobile platforms;
  • Raise awareness on the entrepreneurship and monetization sides of mobile application development.