B3109 - Mobile System Programming Workshop Classes - Imola Branch Campus

Academic Year 2023/2024

Learning outcomes

At the end of the course, the students knows the basic tools for the development of mobile applications, especially on the Android platform. In particular, the student knows how to design and implement mobile applications, including their architecture, graphical user interfaces, and device-based functionality.

Course contents

  • The Android platform
  • The Android SDK
  • Elements of programming in Kotlin (the reference language for Android development)
  • Basics of Android development: Activities, Intents, Fragments, Layouts, Controls
  • Concurrency and API calls (Retrofit)
  • Application state management
  • Patterns (e.g., MVVM) and Jetpack Composer
  • Services, Work Manager, Notifications, Broadcast Receivers
  • Multi-platform mobile application development (cf. React Native)

Readings/Bibliography

  • Android Programming: The Big Nerd Ranch Guide (5th Edition). Bryan Sills, Brian Gardner, Kristin Marsicano, Chris Stewart. Addison-Wesley Professional, 2022

Teaching methods

  • Lectures
  • Exercises in lab

Assessment methods

The exam consists in the development of a project, in small groups (2-3 students), and a corresponding presentation/discussion (e.g., in oral form). The evaluation will be based on the internal and external quality of the project, in relation to the course objectives, and on the effectiveness of the presentation. 

Teaching tools

Slides provided by the professors and made available on the course website on Virtuale.

Office hours

See the website of Roberto Casadei

See the website of Ambra Bedetti