MOBILE DEVELOPMENT

iten
Codice
101805
ANNO ACCADEMICO
2021/2022
CFU
6 cfu al 1° anno di 10852 COMPUTER SCIENCE (LM-18) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Inglese
SEDE
GENOVA (COMPUTER SCIENCE )
periodo
1° Semestre
materiale didattico

PRESENTAZIONE

This course is about the development of mobile apps. Students will learn how to design and create mobile apps using state of the practice IDEs, frameworks, languages, and technologies. They will learn how taking advantage of the various features available on modern mobile devices such as location-based services, sensors, and gesture-based interaction patterns. The concepts learned by students will be applicable to any mobile operating system. However a particular emphasis will be on the Android platform thanks to the use of actual devices and emulators.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Learning the design and development of mobile applications by using state of the practice IDEs, frameworks, languages, and technologies.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Upon completion of the course the students should be able to:

  • install and configure the mobile application development tools
  • understand and adopt the event-based model employed in application frameworks for mobile devices
  • analyze and design a suitable user experience for a mobile application to develop
  • create and deploy an application using a mobile software framework
  • design, develop, test and debug mobile applications using specific software IDEs and hardware/emulators
  • developing a complete prototype of a mobile application through an hands-on experience
  • create detailed documentation for a mobile application taking the perspective of both the end-users and technical staff

PREREQUISITI

The following knowledge is assumed to be acquired and constitutes the necessary foundations for understanding the topics of the course and the exams.

  • Object Oriented (in particular Java) and procedural programming fundamentals
  • Operating systems
  • Databases
  • Basic concepts of web applications development and networking

MODALITA' DIDATTICHE

The teaching is a combination between presentation of theoretical concepts, exercises and discussions. It is dialogue-oriented and with a practical approach.

Mandatory assignments (the laboratories) which must be completed during the course will be provided to the students. At the end of the course the students have to complete a final project consisting in the development of a mobile application and producing a document presenting the work done and how the technical challenges have been resolved.

PROGRAMMA/CONTENUTO

The course program includes the presentation and discussion of the following topics:

  • Course Practical Organization & Introduction to the development of Mobile Applications
  • Introduction to Android, Android Studio set-up and creating the first Android app
  • Android Architecture
  • Logging
  • Views, View Groups, and View Hierarchy
  • Layouts and Event Handling, Buttons and clickable images
  • Activities and Intents: Passing data between activities
  • Activity lifecycle and states
  • App Navigations
  • Receiving Implicit Intents
  • Data Storage
  • Shared Preferences
  • Multithreading in Android and the Android Profiler
  • Receive, Use and Plot Sensors’ Values
  • Activity Recognition
  • Databases for Mobile Apps
  • Building a React Native app
  • Introduction to the Final Project

During the course several practical laboratories will be proposed. The laboratories, that constitute an integral part of the course, will give the students a hands-on opportunity to make practice with the concepts and topics introduced during the lessons.

TESTI/BIBLIOGRAFIA

https://developer.android.com/

DOCENTI E COMMISSIONI

Commissione d'esame

MAURIZIO LEOTTA (Presidente)

GIANNA REGGIO

FILIPPO RICCA (Presidente Supplente)

DARIO OLIANAS (Supplente)

MARINA RIBAUDO (Supplente)

LEZIONI

MODALITA' DIDATTICHE

The teaching is a combination between presentation of theoretical concepts, exercises and discussions. It is dialogue-oriented and with a practical approach.

Mandatory assignments (the laboratories) which must be completed during the course will be provided to the students. At the end of the course the students have to complete a final project consisting in the development of a mobile application and producing a document presenting the work done and how the technical challenges have been resolved.

Orari delle lezioni

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

ESAMI

MODALITA' D'ESAME

The exam will consist in a written part (traditional open/closed questions, and exercises) plus the discussion of the individual project (i.e., the mobile app development). Each student will choose her/his most preferred project topic. The project proposal must be presented and approved by the teacher. The development of the mobile app must be completed before a student may appear for the final discussion. The final grade will be assigned by combing the evaluations of (1) the written exam, (2) the final project and its discussion, and, for a small fraction, (3) the laboratories completed during the course.

Students with Learning disability (DSA in Italian), should contact the teacher at the beginning of the course in order to discuss how to complete the course.

MODALITA' DI ACCERTAMENTO

The acquisition of the skills foreseen by this course will be assessed via the written exam + the project which have been carefully designed to allow the teacher to verify whether a student is actually able to create a mobile application. Evaluation parameters include: the quality of exposure, the correct use of the specialist vocabulary, the ability to critically reason on the possible technical solutions to adopt and the capability to employ them in real contexts.

Calendario appelli

Data Ora Luogo Tipologia Note