Revised 8/2023
ITP 227 - Advanced Android Application Development (4 CR.)
Course Description
Focuses on the development of the advanced Android app. Surveys tools, technologies, principles, and patterns that underpin all Android app development. Emphasizes communication protocols in the Android Platform and secure coding practices of mobile app development. Lecture 4 hours. Total 4 hours per week.
General Course Purpose
This course is primarily for any student who has workable knowledge in Android Development or who has strong programming skills in Java. The general purpose of this course is to learn how to build a great user experience for Android devices and apply this knowledge to their own Android App. The optional topics may be included to understand the challenges associated with developing for the mobile environment and how to overcome them.
Course Prerequisites/Corequisites
Prerequisite: ITP 226 or instructor permission.
Course Objectives
Upon completing the course, the student will be able to:
- Demonstrate knowledge of Android application components and Android framework
- Build interactive user interface (UI) for Android devices
- Integrate Android API(s)
- Share and send simple data to other Apps
- Utilize common design principles for useful applications, including security control
- Apply common security controls for mobile applications
Major Topics to Be Included
- Tools, principles, and patterns that underlie Android application development
- Building a Dynamic UI with Fragments
- Interacting with other apps using Android API
- Services and content Providers
- Android Concurrency and Synchronization
- Principles of building Secure Mobile Applications
- Common Security controls for mobile applications
Student Learning Outcomes
- Tools, principles, and patterns that underlie all Android application development.
- Revisit the Android studio, emulator and debugging tool
- Use User Interface and Layout managers
- Built and deployed a simple app to virtual and actual devices
- Use common Android APIs (Sensor, LocationManager, Gmail)
- Building a Dynamic UI with Fragments
- Create a dynamic and multi-pane user interface
- Building flexible UI
- Communicating with other UI
- Implement effective navigation
- Designing multiple screens
- Interacting with other apps using Android API
- Creating New Activities and Intents
- Create App navigation with Explicit Intents
- Share Intent and the Android sharing framework
- Services and content Providers
- Use and manage local service binded to a specific app
- Use and manage broadcast services in the appropriate contexts
- Describe the differences between service and activity
- Use content provider to share information between applications
- Android Concurrency and Synchronization
- Demonstrate the use of synchronize
- Describe the difference between synchronizing an object and a class or a method
- Building a secure mobile application
- Demonstrate risk and threats in mobile applications
- Describe the importance of security in mobile application
- Identify the principles of secure coding
- Security controls for mobile applications
- Apply Security control using Android permissions model
- Apply Security control through encryption
- Apply security control to protect data
Required Time Allocation per Topic
In order to standardize the core topics in this course, the following student contact hours per topic are required. Each syllabus should be created to adhere as closely as possible to these allocations. Of course, the topics may not be followed sequentially. Many topics may be taught as part of a whole app or may be as a separate topic. There are normally 60 student‐contact‐hours per semester for a four-credit course. (This includes 15 weeks of instruction and does not include the final exam week, so 15* 4 = 60 hours. The final exam time is not included in the timetable. The whole Android ecosystem underwent many improvements including hardware, new software, new OS . The changes in Android Development are happening so fast that some of the content easily could be less significant soon. So it is really important to include the changes in syllabus. As such, Additional topic/ Optional Content leaves ample time for an instructor to tailor the course to special needs or resources.
Topics | Hours | Percentage |
Tools, principles, and patterns that underlie all Android development | 6 | 10 |
Building a Dynamic UI with Fragments | 8 | 13.3 |
Interacting with other app | 8 | 13.3 |
Services and content Providers | 4 | 6.6 |
Android Concurrency and Synchronization | 4 | 6.6 |
Building a secure mobile application | 10 | 16.6 |
Security controls for mobile applications | 10 | 16.6 |
Testing (including quizzes, tests, and exams not including final exam) | 4 | 6.6 |
Optional Topics | 6 | 10 |
Total | 60 | 100 |