MOBILE DEVICES AND UI PROGRAMMING
PROGRAMMAZIONE DI DISPOSITIVI MOBILI E INTERFACCE UTENTE
A.Y. | Credits |
---|---|
2023/2024 | 9 |
Lecturer | Office hours for students | |
---|---|---|
Cuno Lorenz Klopfenstein | Thursday 16:00–18:00 or on request |
Teaching in foreign languages |
---|
Course with optional materials in a foreign language
English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language. |
Assigned to the Degree Course
Date | Time | Classroom / Location |
---|
Date | Time | Classroom / Location |
---|
Learning Objectives
The course is focused on the principles of design and development of interactive applications. Students will learn the fundamental application models, common programming paradigms and the basics of user interface development. Additionally, students will learn the basics of mobile application development, common software architecture models, communication and data persistence.
Students will perform laboratory sessions, learning how to use different technologies in developing interactive applications, among which Win32, Windows Forms, and Flutter. The latter will be used to develop mobile applications, with a focus on Android platform development.
Students will make use of the acquired skill in the development of a personal exam project, consisting of a mobile application for Android.
Program
1. Applications
1.1. Model
1.2. Application platforms
1.3. Lifecycle
2. Graphical applications
2.1. History of the GUI (Graphical User Interface)
2.2. Basic elements of graphical applications
2.3. From raster pixels to typographical points and DIPs
2.4. Aliasing and scaling
3. User interface
3.1. Windows and other top graphical elements
3.2. Focus and hit-testing
3.3. Drawing on screen
3.4. Standard controls
4. GUI development paradigms
4.1. Message passing with Win32
4.2. Object oriented approach with wxWidgets
4.3. Declarative approach with UWP
4.4. Code-based approach with Flutter
5. Mobile development
5.1. Mobile platforms and the ‘app’ model
5.2. Touch-based user interfaces
5.3. Standard controls
5.4. Data persistence
5.5. Inter-app communication
5.6. Remote communication
6. GUI laboratory with Win32
6.1. C language and Win32 libraries
6.2. Application classes and the “message pump”
6.3. Creating windows and handling events
6.4. Standard windows and Win32 controls
6.5. Graphics with Win32
7. GUI laboratory with Windows Forms
7.1. C# language
7.2. Windows Forms designer
7.3. Properties and events
8. GUI laboratory with Flutter
8.1. Dart language
8.2. Pub packages
8.3. Flutter middleware
8.4. Widgets
8.5. State management
8.6. Inherited widgets and other state propagation systems
8.7. Common widgets
8.8. Application design
Bridging Courses
None.
Learning Achievements (Dublin Descriptors)
- Students will learn basic principles of interactive application design and development.
- Students will discover the fundamental application models and how to design and implement interactive applications with graphical user interfaces.
- Students will learn how to design and to develop a graphical user interface using common technologies and paradigms.
- Students will learn to put acquires notions into practice, developing interactive GUI applications as laboratory workshops or for the final exam project.
Teaching Material
The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it
Teaching, Attendance, Course Books and Assessment
- Teaching
Frontal lectures and lab sessions. Individual project.
The course is available in mixed mode: lectures can be attended in presence in the classroom and remotely through the Moodle platform.
- Attendance
Not mandatory.
- Course books
Teaching materials available online through Blended.
- Assessment
Individual project and oral discussion.
The project specification is published through the Blended/Moodle platform. The project must be completed individually. The specification document includes the minimum features that must be included in order for the project to be considered satisfactory. Each additional feature is presented and marked with the additional marks it brings, up to a maximum of 30/30.
The oral discussion serves as a presentation of the project's features and verification of functionality. The final mark is adjusted by at most 5/30.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Additional Information for Non-Attending Students
- Teaching
Lectures in streaming and recordings available through Blended.
- Attendance
Not mandatory.
- Course books
Teaching materials available online through Blended.
- Assessment
Individual project and oral discussion.
The project specification is published through the Blended/Moodle platform. The project must be completed individually. The specification document includes the minimum features that must be included in order for the project to be considered satisfactory. Each additional feature is presented and marked with the additional marks it brings, up to a maximum of 30/30.
The oral discussion serves as a presentation of the project's features and verification of functionality. The final mark is adjusted by at most 5/30.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
« back | Last update: 19/07/2023 |