CODICE 101805 ANNO ACCADEMICO 2022/2023 CFU 6 cfu anno 1 COMPUTER SCIENCE 10852 (LM-18) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB 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 MAURIZIO LEOTTA Commissione d'esame MAURIZIO LEOTTA (Presidente) GIANNA REGGIO FILIPPO RICCA (Presidente Supplente) DARIO OLIANAS (Supplente) MARINA RIBAUDO (Supplente) LEZIONI Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale 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 appello Orario Luogo Tipologia Note 13/07/2023 09:00 GENOVA Esame su appuntamento 13/09/2023 09:00 GENOVA Esame su appuntamento 01/02/2024 09:00 GENOVA Esame su appuntamento