72787 - Mobile Application Programming

Academic Year 2025/2026

  • Docente: Catia Prandi
  • Credits: 6
  • SSD: INF/01
  • Language: Italian
  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

Learning outcomes

At the end of the course, the student has theoretical and practical tools fundamental for the development of native applications on the iOS and Android platforms, as well as an important introduction to the design and development of performing applications for smartphones. In particular, the student knows the architecture, and the graphical interfaces of smartphone applications.

Course contents

1. Mobile applications design (circa 15%)

2. Introduction to Android (circa 50%)

  • Components and resources

  • Activity and Intent

  • Material design

  • Menu, Dialog and Toast

  • Data management

  • Volley

  • Multithreading and services

  • Sensors

  • Camera

  • Map and GPS

3. Introduction to iOS (circa 30%)

  • Swift language

  • MVVM and SwiftUI

  • Core data

  • Events, multi-touch and gesture

  • Map kit and GPS

4. Introduction to hybrid mobile applications and the main related technologies (5%)

Readings/Bibliography

Virtuale platform.

Teaching methods

Lectures in the classroom and laboratory lessons.

Consideration the type of activity and the teaching methods adopted, the attendance of this training activity requires the prior participation of all students in the training modules 1 and 2 on safety in the study places, [https: // elearning-security. unibo.it/] in e-learning mode.

Assessment methods

For the final exam, students are required to develop a native application for Android or iOS.
The app will be graded with a maximum score of 28 points.
It can be done individually or (recommended) in groups of two.
Exception: groups of three, after agreeing with the instructors via email, may either develop the same project for both operating systems or create a single app with advanced features.

In addition to the application code, a report in the form of slides must be submitted.
Length: 4 or 5 slides are sufficient.
Contents:

  • Purpose of the app

  • Technologies used (libraries, APIs, etc.)

  • Mockups and screenshots of the app

There are no mandatory features, but you can choose which ones to implement among:

  • Features proposed by the instructors, which have a range of points assigned based on:
    – Quality and level of detail of the implementation
    – Consistency with the app’s purpose

  • Additional features or particular attention to the app’s realization, which will be evaluated during the exam and may earn points if relevant to the course.

It is also possible to increase the score obtained from the app by doing an in-depth presentation on a topic related to the mobile world, earning up to 4 additional points.
The score depends on: clarity of presentation, use of allotted time, depth of analysis, acquired knowledge, etc.

On the Virtuale platform there is a wiki with all the available in-depth topics.
Many are proposed by the instructors, but you may choose others after consulting them.
Except for special cases, a topic can be chosen by only one student.
On the wiki, you must write your name next to the chosen topic to avoid duplicates.

The final grade is therefore the sum of:

  • Application: mandatory, max 28 points

  • In-depth presentation: optional, max 4 points (required to achieve a score above 28)

In particular, the grade corresponds to the following evaluations:

18–23:
The student demonstrates a basic understanding of mobile application development, limited to a few topics covered in the course. The developed app is functional but simple, with minimal architectural design or user interface refinement and limited attention to technical or design details.

24–27:
The student shows good technical preparation and a general understanding of Android and/or iOS platforms. The app is coherent and well-structured but may contain some simplifications or gaps in implementation or design. The use of libraries and APIs is correct but not particularly in-depth.

28–30:
The student demonstrates strong mastery of mobile app design and development. The application is complete, stable, and well-crafted both architecturally and visually, showing effective use of APIs, libraries, and native design principles. The student shows solid critical thinking and autonomy in development.

30L (with honors):
The student exhibits excellent and in-depth knowledge of all course topics. The developed app stands out for its originality, complexity, performance, and design quality. The accompanying materials and presentation are of professional quality, demonstrating exceptional autonomy, creativity, and technical rigor.


Teaching tools

Virtuale platform

Office hours

See the website of Catia Prandi

SDGs

Quality education Decent work and economic growth Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.