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

Reference week

Tuesday, 14h - 18h: Exercise, TP MED22419
MED22519

Related courses

Results from graphsearch.epfl.ch.