Software development for hand-held devices rapidly grows in the computer industry in the past few years. The course introduces students to software development for ubiquitous devices such as smart phones and tablets. In particular, the students will learn how to create Android application using Android Studio. Emphasis is given on project work and the development of small scale applications; to get hands-on experience, students in the class will form a team to develop mobile phone applications/games in the course project.
- The development fundamentals for handheld devices, for instance, the programming development frameworks and the development life cycle.
- Android Software Development Kits (SDK), Android Studio – Integrated Development Environment (IDE) and Kotlin programming language.
- Limitations in developing applications with handheld devices that is important for designing and implementing applications efficiently under the restrictions of limited resources.
- Deployment of application on Android devices
- 4th Edition - Android Programming, THE BIG NERD RANCH GUIDE, Bill Phillips, Chris Stewart, and Kristin Marsicano
- Online material: http://kotlinlang.org/docs/tutorials
Tasks | Score |
---|---|
Assignments | 10% |
Practical Midterm Examination | 20% |
Practical Final Examination | 30% |
Course Project | 40% |
Special Project | 10% |
Possible Score | 110% |
Grading Score | 100% |
The grades would be officially posted by the Registration Office. All assignments will be returned to students in a timely manner with comments and score.
Students are expected to work on a project that produces a professional-quality Android application. The aim of the project is to apply/develop the Android application from the course content for real-world scenarios. Work is done individually or in pair. The course project assessment will include project conception, design, and implementation. The assessment details are as follows.
Tasks | Score |
---|---|
Proposal and Mock-up | 3% |
Prototype and Transition | 3% |
Project Difficulty | 6% |
Complete Work and Functionality | 28% |
Google Play Store Approval (optional) | 5% |
Total | 40% |
Week | Date | Topic | Resource |
---|---|---|---|
1 | 23 Nov | Hello Everyone 🧤 | |
2 | 30 Nov | Your First Android Application: Creating an Android Project Navigating in Android Studio Laying Out the UI Creating String Resources Running on the Emulator Making Toasts Text Inputs and OnClicked Button Action Basic Kotlin |
|
3 | 7 Dec | Android and Model-View-Controller: Creating a New Class Model-View-Controller and Android Adding an Icon (Adding Resources to a Project) Referencing Resources in XML |
|
4 | 14 Dec | Activity Lifecycle: Activity States Lifecycle Callbacks Logging the Activity Lifecycle Type of Log Messages Logcat Creating a Landscape Layout |
|
5 | 21 Dec | Persisting UI State: ViewModel Dependency ViewModel Lifecycle and ViewModelProvider Saved Instance State Debugging: Exception and Stack Traces, Setting Breakpoint, Using Android Lint, Issues with the R class |
|
~ | 🚨 Project Presentation: Proposal and Mock Up |
||
6 | 28 Dec | 🛑 Class Cancelled (Content moved to week #7) | |
7 | 4 Jan | Second Activity: Declaring activities in the manifest Starting an Activity Passing Data Between Activities Using intent extras Sending back an intent |
|
4 Jan | UI Fragment & Fragment Manager: Creating a UI Fragment Different types of fragments Hosting a UI Fragment Adding a UI fragment to the FragmentManager |
||
TBC | Practical Midterm Examination | ||
8 | 18 Jan | Displaying Lists with RecyclerView Adding RecyclerView Item View Layout Implementing a ViewHolder Adapter for populating the RecyclerView ViewHolder OnClickListener |
|
9 | 25 Jan | 🤼 RecyclerView ViewTypes Challenge | |
10 | 1 Feb | Term Project Follow-up | |
~ | 🚨 Project Presentation: Prototype and Transition |
||
11 | 8 Feb | Database and the Room Library Creating a Database Defining Entities Database Class Type Converter Data Access Object (DAO) Accessing the Database using the Repository Pattern Testing Queries |
|
12 | 15 Feb | Exercise Review | |
13 | 22 Feb | HTTP and Background Tasks Networking Basics with Retrofit Defining an API Interface Web Request Network Permission Fetching JSON Deserializing JSON into Model Object |
|
14 | 1 Mar | Exercise Review | |
15 | 8 Mar | Final Examination Preparation | |
16 Mar | Final Examination (on-site) | ||
17-20 Mar | 🚨 Project Presentation: Complete Work and Demonstration |
All materials under kiratijuta/vms.android.2022 are released under the MIT license. See LICENSE for details.