Revised 8/2021
ITP 226 - Mobile Java Development (4 CR.)
Course Description
Provides the necessary design and programming skills required for developing applications on mobile devices (smartphones, tablets, etc.). Utilize the Java-based Android Development Kit to create Android applications, from concept to business model to final product. Lecture 4 hours per week.
General Course Purpose
To give the student competence in designing, creating, and implementing mobile Java Android applications.
Course Prerequisites/Corequisites
Prerequisite: none
Course Objectives
Upon completion of this course, the student will be able to:
- Understand the syntax of the Java Android language.
- Understand and explain object-oriented programming concepts.
- Use a Java IDE to develop programs for mobile Java platforms
- Understand the core frameworks needed in Android applications.
- Know how to read the Java Android documentation.
- Utilize the APIs, patterns, and widgets for developing applications
- Design effective user interfaces for mobile devices
- Understand how to design, develop, and deploy a mobile application.
Major Topics to Be Included
- Introduction to Android OS
- The Android Activity Lifecycle
- How to Develop Android Applications Using Freely Available Tools
- A Survey of the Android Activities, Views and Widgets
- Using SQLLite to persist Application Data
- Development of a Fully Functional Android Application of Your Own Design
Student Learning Outcomes
- Introduction to Android OS (and Java or JVM-based language, such as Kotlin)
- Demonstrate the use and implications of Java reference passing.
- Use Java class access control (private/public/protected) properly.
- Use Java polymorphism properly.
- Describe the differences between abstract classes and interfaces and use them in proper contexts.
- The Android Activity Lifecycle
- Describe the complete Activity lifecycle and explain the kinds of tasks that are suitable to be performed in each stage of the lifecycle.
- Use fragments for UI layouts on different device sizes.
- Use fragments for persisting data or services across activity re-creation.
- Distinguish the difference between activity and fragment; describe the suitable use of each.
- Developing Android Applications with Android Studio
- Use Android Studio or equivalent Android IDE to develop mobile apps.
- Survey of Android activities, views and widgets
- Use intents to share data across activities.
- Use XML for layout and data exchange.
- Use JSON for data exchange.
- Describe and apply proper usage of XML, JSON, and HTML.
- Using various methods, including SQLite, to persist application dataDistinguish among various methods (shared preference, file, SQLite) of persisting data on a device; describe the appropriate use of each method.
- Use shared preferences, file access and SQLite.
- Development of a fully functional Android application of student’s own design
- Design, develop and demonstrate a working Android app.
Required Time Allocation per Topic
In order to standardize the core topics of ITP 226 across all campuses and sections delivered by different instructors, the following student contact hours per topic are required. Individual syllabi should adhere as closely as possible to these allocations. The topics should not be taught sequentially. Rather, many topics are best taught by iteratively covering multiple topics over the entire course, in progressively more depth. There are normally 60 student contact-hours per semester for a four-credit course. This includes 14 weeks of instruction and does not include the final exam week (14 * 4.3 = 60 hours). Sections of the course that are given in alternative formats from the standard 15-week section still meet for the same number of contact hours. The final exam time is not included in the timetable. Changes in Android development occur quickly such that some of the content could quickly lose significance. Thus, it is important to include any such changes in a section’s syllabus. Also, Other Optional Content leaves ample time for an instructor to tailor the course for special needs, topics or resources.
Topic | Hours | Percentage |
Introduction to Android OS | 6 | 10% |
The Android Activity Lifecycle | 8 | 14% |
Developing Android Applications with Android Studio | 8 | 14% |
Survey of Android activities, views and widgets | 8 | 14% |
Using various methods, including SQLite, to persist application data | 6 | 10% |
Development of a fully functional Android application of student’s own design | 10 | 16% |
Testing to include quizzes, tests, and exams (not including final exam) | 4 | 6% |
Other Optional Content | 10 | 16% |
Total | 60 | 100% |