CODE 101805 ACADEMIC YEAR 2024/2025 CREDITS 6 cfu anno 1 COMPUTER SCIENCE 10852 (LM-18) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW 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. AIMS AND CONTENT LEARNING OUTCOMES Learning the design and development of mobile applications by using state of the practice IDEs, frameworks, languages, and technologies. AIMS AND LEARNING OUTCOMES At the end of the course, students will 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 develop 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 PREREQUISITES 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 TEACHING METHODS 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. SYLLABUS/CONTENT 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 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. RECOMMENDED READING/BIBLIOGRAPHY https://developer.android.com/ TEACHERS AND EXAM BOARD MAURIZIO LEOTTA Ricevimento: On appointment Exam Board MAURIZIO LEOTTA (President) GIANNA REGGIO FILIPPO RICCA (President Substitute) MARINA RIBAUDO (Substitute) LESSONS LESSONS START In agreement with the calendar approved by the Degree Program Board of Computer Science. Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam will consist in a written part (traditional open/closed questions, and exercises) plus the discussion of the 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. ASSESSMENT METHODS 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. Exam schedule Data appello Orario Luogo Degree type Note 30/01/2025 09:00 GENOVA Esame su appuntamento 10/07/2025 09:00 GENOVA Esame su appuntamento 10/09/2025 09:00 GENOVA Esame su appuntamento