Italian. If an Erasmus student is attending the class, the course will be taught in English.
The course is an introduction to mobile application design and implementation in a wireless environment.
Part the course is devoted to the description of mobile architectures and the currently off-the-shelf available technologies.
The house contains an introduction to the Google Android programming and related development tools.
Part of the course is dedicated to the new Kotlin programming language.
A basic knowledge in Java programming is a mandatory requirement as far as familiarity with object-oriented concepts and programming. The classes about Algorithms and Data Structures and Object-Oriented Programming in Java provide the baseline for this course.
Introduction to mobile computing.
Concept definitions: Mobile, Wireless, Pervasive and nomadic computing.
The technological challenges in mobile computing programming.
Hardwire, software and connectivity limitations in mobile computing.
Human Machine Interaction and usability issues in mobile computing.
Basics of wireless communication networks: WPAN – wireless personal area network, WLAN – wireless local area network, WWAN – wireless wide area network.
Mobile application architecture: wireless, smart client and messaging applications' analysis.
Advanced Java programming: object oriented programming, inheritance, polymorphism and other related concepts.
Android programming: the Android ecosystem.
Components, resources, widgets and layouts.
The intent and the interaction between Android components.
Location based services.
Kotlin: an introduction to the language.
Bill Phillips, Chris Stewart, and Kristin Marsicano. Android Programming: The Big Nerd Ranch Guide. Addison-Wesley Professional;
RAJ KAMAL: “Mobile Computing”, Oxford University Press.
MARTYN MALLICK: “Mobile and Wireless Design Essentials”, Ed. John Wiley & Sons.
BRUCE ECKEL: “Thinking in Java”
The purpose of the verification procedure is to quantify the level of achievement of the training objectives previously indicated.
The verification procedure is indicated precisely in the e-learning platform of the Department of Science and Technology. In summary: around 1/3 of the course, students submit a draft proposal reinforced by a presentation consisting of no more than 3 slides and a duration not exceeding 3 minutes. The proposal may be individual or group consisting of no more than 3 students. The proposal is amended by the teacher, rejected or assigned as an exam project. About 2/3 of the course is organized with a presentation of the projects in which each student or group of students illustrates the state of the art of the project and discusses with teachers and other students about its potentialities and weaknesses.
At the end of the course is organized a final presentation that has no value of examination but a moment of communication of the work done. The project must be released in open source rather than Apache 2.0 on a public repository such as, for example, GitHub at least 2 days before the exam date and must be online at the end of the exam. The verification procedure consists of an individual oral exam (60% of the vote), the presentation of the project part of its competence (20% of the vote), project demonstration (20% of the vote). There are 2 Test Examinations (40% of the oral exam) + 2 HomeWork (20% of the oral exam) individual.