CSE 470 J Mobile App Development

Offered fall 2019
instructor: Michael Zmuda

Catalog description:

Creation of cross-platform and native applications on mobile platforms such as iOS, Android, and Windows. Programming languages, development environments, testing, debugging, and deployment. Development of applications with differing styles such as animated games, manipulation of structured input, applications that access Internet resources, and applications that access the device’s hardware.

Prerequisites:

CSE 278, or permission of instructor

learning Outcomes:

  1. The student can describe the critical issues related to creating mobile applications
    1. The student can describe the intrinsic differences between mobile applications, desktop applications, and web applications.
    2. The student can describe the difference between single threaded cooperative mobile and multi-threaded applications
  2. The student can use modern tools to develop mobile applications
    1. The student can use a modern IDE to develop mobile applications
    2. The student can use modern programming languages that are commonly used in mobile application development
    3. The student can develop both native and cross-platform applications
    4. The student can develop mobile applications for a variety of operating systems (e.g., iOS, Android, Windows)
    5. The student can develop mobile applications for a variety of hardware platforms (e.g., phone or tablet)
    6. The student can debug and test mobile applications using appropriate tools
  3. The student can design and implement mobile applications for a variety of purposes
    1. The student can design effective user interfaces for mobile applications
    2. The student can use asynchronous processing to process user input
    3. The student can describe and utilize common methods for acquiring user input (e.g., button text field, multi-selection list box, etc)
    4. The student can describe and utilize common navigation methods for constraining user input (e.g., stack, hierarchical, tabbed, model, etc)
    5. The student can implement mobile applications that access Internet resources (e.g., databases, web services, etc.)
  4. The student can implement mobile applications that access and use the device's hardware resources
    1. The student can store information in permanent storage
    2. The student can use hardware devices (e.g., camera, GPS, accelerometer, etc)
  5. The student can implement mobile applications that access and use Internet resources

Topics (approximate weeks allocated)

  • Introduction to Mobile Applications (0.5)
    • Issues related to mobile applications
    • Mobile applications and their type
  • Tools for Mobile Application Development (3.5)
    • IDE for application development and simulation
    • Programming language(s) for mobile development
    • Debugging and testing mobile applications
  • Design and implementation of Mobile Applications (5.0)
    • User interfaces for effective navigation
    • Model view controller
    • Power consumption
  • Accessing Device Resources
    • Permanent file storage
    • Hardware (e.g., camera, GPS, accelerometer)
  • Connected applications (2.0)
    • Using Internet resources such as: web services, databases, and maps.
    • Minimizing network communication
  • Exams/Review (1.0)