CSE 382 Mobile App Development
Catalog description:
Implementation of cross-platform applications for mobile platforms such as iOS and Android. Programming languages, development environments, debugging, testing, and application design. Development of applications that: provide an effective graphical interface, access internet resources, permanently store data, access the device’s hardware, and display graphical elements.
Prerequisites:
CSE 278
Required topics (and weeks per topic):
- Introduction to Mobile Applications (0.5)
- Issues related to mobile applications: limited storage, minimize communication and power consumption, etc.
- Portable applications
- Tools for Mobile Application Development (2.0)
- IDE for application development and simulation
- Programming language(s) for mobile development
- Debugging mobile applications
- Testing GUIs
- Design and Implementation of Mobile Applications (5.0)
- Controls for user input
- Specifying GUIs using code and markup languages
- User interfaces for effective navigation
- Events and event handlers
- Software design patterns for supporting GUI development
- Asynchronous processing for responsive interfaces
- Using 3rd party software
- Permanent storage (2.5)
- Preferences
- File system
- Databases
- Connected applications (2.0)
- JSON
- Using web services
- Accessing Device Hardware (1.0)
- Devices: accelerometer, GPS, camera
- Accessing the devices from an application
- Quizzes (1.0)
Learning Outcomes:
- Utilize modern techniques to implement cross platform mobile applications
- The student can use an IDE to develop, debug, and test mobile applications
- The student can develop cross platform applications that provide behavior unique to the runtime platform
- The student can use software frameworks for testing GUI applications
- The student can compare and contrast the benefits and trade-offs of cross platform development relative to developing native applications
- Develop effective and responsive mobile applications
- identify the important issues relevant to mobile applications
- utilize common graphical elements to acquire user input and display data (e.g., labels, button, list box, etc)
- develop mobile applications that support different form factors (e.g., phone or tablet) and orientations (e.g., landscape or portrait)
- utilize software design patterns commonly used in mobile application development
- describe and utilize common navigation patterns for constraining user input (e.g., tabbed, carousel, hierarchical, etc)
- use asynchronous processing to provide a responsive interface
- identify the basic security aspects of mobile applications
- Implement mobile applications that permanently store data.
- store information in a local database
- store information in the app’s file system
- store information in the app’s preferences
- Implement mobile applications that use internet resources
- use a webservice to retrieve information from an internet resource
- use a standard data interchange format (e.g., JSON) to receive data from an external source
- Implement mobile applications that access the device’s hardware (e.g., GPS, accelerometer, camera, etc.)