04-801-D2   Android Mobile App Development

Location: Africa

Units: 6

Semester Offered: Intermittent

Course description

Android Mobile Application Development provides a comprehensive overview of developing Android mobile applications. The course will use a range of technologies, including the Android SDK, software development design patterns, and data storage models. To build robust apps that can be integrated into a broader IT infrastructure we will incorporate libraries, APIs, and data from myriad sources. The course will address the flow of data across the network, taking into account scalability considerations for both the client and the server components of apps. The course will also explore various interaction models and mobile interaction design principles.

The class is project-oriented, and students will complete a project utilizing a simplified version of the Agile
methodology. The class will feature a combination of lectures and demonstrations. Selected research, tutorials, and related readings will contribute to class discussions and projects. Student progress is assessed by performance on weekly lab assignments, quizzes, and a semester-long project.

Learning objectives

Students will gain the knowledge and experience needed to become proficient Android app developers. Students will utilize the Android SDK and the Kotlin programming language to design and develop apps for the Android platform. Students will employ object-oriented programming design patterns, data relationships, and strategies for data storage in their coursework. Students will incorporate libraries, APIs, and data from myriad sources to build robust apps. Throughout the course, students will utilize various navigation models and mobile interaction design principles.

Outcomes

After completing this course, students will be able to:

  • Develop apps using the Android platform and SDK
  • Employ multiple navigation models in developing Android apps
  • Implement various persistent storage models, both local and in the cloud
  • Incorporate libraries, programming interfaces, and data from various sources
  • Explain advanced software development concepts in Kotlin
  • Describe mobile interaction design principles

Content details

  • Software Development
    • Object-Oriented programming design patterns
    • Model View Controller architectural pattern
    • Mobile Interface and Interaction Design principles
    • Kotlin for Android development
    • Android Software Developer’s Kit
      • Frameworks
      • Application lifecycle
      • Memory Management
      • Adaptive layouts
  • Navigation models
    • Navigation architecture for multi-view apps
    • Data modeling and flow
  • Data persistence
    • Local/client
    • Server/cloud
  • Utilizing application programming interfaces (APIs)
    • Custom and provided content providers
    • Integrate data from outside sources
  • Leveraging external libraries
  • Asynchronous programming

Prerequisites

Basic software development experience with proficiency in at least one modern programming language and modern programming concepts.

Faculty

Aileen Pierce