Lab on app development for tablets and smartphones
EE-490(g) / 4 credits
Teacher: Ansaloni Giovanni
Language: English
Withdrawal: It is not allowed to withdraw from this subject after the registration deadline.
Summary
Focusing on the Android ecosystem, this course teaches techniques for the development of distributed mobile applications, operating on multiple heterogeneous devices (tablets / smartwatches), sensing the environment, and interfacing with the cloud.
Content
- Introduction to system-level architectures of tablets, smartphones, and smartwatches.
- Introduction to the Kotlin programming language and overview of the Android ecosystem.
- Designing Apps user interfaces with Android Jetpack Compose.
- In-app navigation using screens and menus composables. Displaying notifications.
- Separation of concerns: UI controllers vs. ViewModels.
- Interacting among heterogenous Android devices using WearAPI and Bluetooth Low Energy.
- Interfacing apps with the cloud using Firebase.
- Supporting local persistence with Room databases.
- Displaying maps and using geolocalization.
Keywords
Heterogeneous distributed applications, Android, Jetpack compose.
Learning Prerequisites
Recommended courses
- Microprogrammed Embedded Systems (EE-310).
- Lab on Hardware-Software Digital Systems Codesign (EE-390(a)).
Learning Outcomes
- Analyze requirements of Apps to be designed.
- Choose the right set of technologies to include in an App design
- Assess / Evaluate the complexity of an App design.
- Implement the interface and the behavior of distributed Android Apps, including their device-based and cloud-based components.
- Test the final App design.
- Discuss the possible bugs and defects in the developed App.
- Select appropriately techniques to correct those bugs.
- Discuss possible extensions of a developed App.
Transversal skills
- Assess progress against the plan, and adapt the plan as appropriate.
- Plan and carry out activities in a way which makes optimal use of available time and other resources.
- Set objectives and design an action plan to reach those objectives.
- Evaluate one's own performance in the team, receive and respond appropriately to feedback.
- Assess one's own level of skill acquisition, and plan their on-going learning goals.
- Demonstrate a capacity for creativity.
- Access and evaluate appropriate sources of information.
- Make an oral presentation.
Teaching methods
In the first weeks, the course includes a combination of lectures and guided laboratory exercises to understand the baseline technologies and design aspects required in the development of Apps in Android systems.
Then, in the last part of the course, students will develop original projects, selected either from a list proposed by the teacher or of their own design. Students will work in groups under the teacher's supervision, applying the learned concepts.
Expected student activities
Guided exercises in Android-based platforms, interaction in the course, development of a complete and original App project working in a team.
Assessment methods
The evaluation will be based on a mid-term and a 2- or 3-person project done in the last part of the semester.
Supervision
Office hours | Yes |
Assistants | Yes |
Forum | Yes |
Resources
Virtual desktop infrastructure (VDI)
No
Bibliography
List of references provided in class, and on the Moodle page of the course.
Support material: lecture slides, lab handouts, code snippets, example applications. Solutions to the guided labs will be available through the Moodle page.
Websites
Moodle Link
In the programs
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Lab on app development for tablets and smartphones
- Practical work: 4 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Lab on app development for tablets and smartphones
- Practical work: 4 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Lab on app development for tablets and smartphones
- Practical work: 4 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Lab on app development for tablets and smartphones
- Practical work: 4 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Lab on app development for tablets and smartphones
- Practical work: 4 Hour(s) per week x 14 weeks
- Type: optional