Mobile Computing
A.Y. 2024/2025
Learning objectives
The aim of the course is presenting the peculiar problems of mobile devices, and the corresponding solutions. For this purpose, the course will show how to apply, in the context of mobile devices, what the students have learned in other courses from the program and among others: human-computer interaction, operating systems, computer networks, databases and web. Particular attention will be devoted to the aspects concerning mobile applications development.
Expected learning outcomes
The student will discover what solutions are adopted to solve the main problems related to mobile devices, operating systems, communication networks, data management, and application development. The student will be able to develop prototype applications for mobile devices.
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First semester
Course syllabus
FIRST PART: Fundamentals of Mobile Computing
- Introduction to MC
- OS and developing on mobile devices
- Analysis and design of applications for mobile devices (GUI design and design of the code organization)
- Architectures that includes mobile devices
- Techniques to acquire position and spatio-temporal data management
- Testing, debugging and deploy of apps for mobile devices
SECOND PART: app development in Android
- Introduction to Android development
- View development
- Model development
- ViewModel development
- Managing threads
- Acquiring and using the position
THIRD PART: cross-platform development.
- Introduction to Javascript
- Javascript Object Oriented
- Introduction to React
- Introduction to React Native
- Interaction with the OS, acquisition and use of position
- Plugins
- Introduction to MC
- OS and developing on mobile devices
- Analysis and design of applications for mobile devices (GUI design and design of the code organization)
- Architectures that includes mobile devices
- Techniques to acquire position and spatio-temporal data management
- Testing, debugging and deploy of apps for mobile devices
SECOND PART: app development in Android
- Introduction to Android development
- View development
- Model development
- ViewModel development
- Managing threads
- Acquiring and using the position
THIRD PART: cross-platform development.
- Introduction to Javascript
- Javascript Object Oriented
- Introduction to React
- Introduction to React Native
- Interaction with the OS, acquisition and use of position
- Plugins
Prerequisites for admission
It is strongly recommended to have passed the exams of Operating Systems, databases and web, networks, Programming 1 and 2, web and cloud applications.
The student is expected to be able to create an application, possibly in Java, and to be able to create dynamic web pages, possibly using HTML, CSS, and JavaScript.
The student is expected to be able to create an application, possibly in Java, and to be able to create dynamic web pages, possibly using HTML, CSS, and JavaScript.
Teaching methods
The part about the fundamentals of mobile computing involves frontal teaching. The development parts include about one-third of hours of frontal teaching and the remaining hours of lab, during which the students work on exercises assigned by the teacher. During some of the lab lessons, the teacher supports the students in developing the exam project.
Teaching Resources
Lecture notes and slides are provided for each lesson, forming the base for the studying material. Within the slides, links are available to online resources.
Assessment methods and Criteria
There are three exam tests, one for each module (fundamentals, Android development, cross-platform development). The first test involves a written or oral exam. For the second and third tests, students must complete a project (both with Android technology and cross-platform) at home, possibly in groups. During an in-class exam, each student must make the modifications to the project requested by the instructor.
Each test is graded from 1 to 31. To pass the course, the student must achieve a score of 18 or higher on each test. The final grade is calculated as the average of the three test scores. If the final grade is greater than 30, a grade of "30 with honors" will be recorded.
Each test is graded from 1 to 31. To pass the course, the student must achieve a score of 18 or higher on each test. The final grade is calculated as the average of the three test scores. If the final grade is greater than 30, a grade of "30 with honors" will be recorded.
INF/01 - INFORMATICS - University credits: 9
Laboratories: 48 hours
Lessons: 48 hours
Lessons: 48 hours
Professor:
Mascetti Sergio
Shifts:
Turno
Professor:
Mascetti SergioEducational website(s)
Professor(s)