Mobile Computing

Course Context

Faculty Coordinator


  • Catalog Description: Mobile applications, their architecture, design, and supporting technologies; Mobile device operating systems and frameworks; synchronizing mobile applications, support for inter-application data-exchange; accessing and manipulating special-purpose device capability such as location, orientation, and input modality. Programming practices for securing mobile applications, and optimizing run-time performance. (3 credits)

  • Course Coordinator's Description: The course is about learning a Software Engineering Process for developing native mobile Apps. The course focuses on native mobile App development using the two most popular mobile platforms and languages: Java for Android and Swift for iOS. The course provides several individual mobile app development labs (roughly 5 on each platform) that explore using various aspects of the platform. These may or may not be turned in for grades. The course uses a comparison methodology to contrast these two common platforms and their development languages. Students are expected to be comfortable in developing software that uses Serialization, TCP/IP Sockets, and Threading as pre-requisite to the course. No prior Swift knowledge is required, but be prepared to learn Swift.

Prerequisite & Major Map


Student Outcomes

Course Outcomes

    Ser423 Course Learning Outcomes

  • Mobile Application Analysis: Select an appropriate mobile-device and system as well as development environment configuration to meet the requirements of a mobile application, knowing the tradeoffs involved such as performance, security, and available framework support.
  • Native App Programming Practices: knowledge of programming practices that are specific to developing efficient applications for mobile devices, and knowledge of host and target development tools including emulators and simulators, as well as device runtime environments.
  • App Storyboarding and UI Design: knowledge of and experience in developing applications with extensive user-interfaces in the context of limited display and various user input needs and capabilities.
  • Local and Remote App Information Management: Analyze, design and realize applications that synchronize mobile databases with information stores on other devices.
  • Device Resources: Develop applications that utilize available device capabilities including: network, location and other on-device resources, such as events, phone, and contacts.

These pages are a work in progress. See an error, let me know. Thanks.
Email: | Ser423 Home