Salta al contenuto principale della pagina

MOBILE DEVELOPMENT

CODE 101805
ACADEMIC YEAR 2021/2022
CREDITS
  • 6 cfu during the 1st year of 10852 COMPUTER SCIENCE (LM-18) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR INF/01
    LANGUAGE English
    TEACHING LOCATION
  • GENOVA
  • SEMESTER 1° 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

    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

    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
    • 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.

    RECOMMENDED READING/BIBLIOGRAPHY

    https://developer.android.com/

    TEACHERS AND EXAM BOARD

    Exam Board

    MAURIZIO LEOTTA (President)

    GIANNA REGGIO

    FILIPPO RICCA (President Substitute)

    DARIO OLIANAS (Substitute)

    MARINA RIBAUDO (Substitute)

    LESSONS

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    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.

    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

    Date Time Location Type Notes
    04/02/2022 09:00 GENOVA Esame su appuntamento
    06/06/2022 09:00 GENOVA Esame su appuntamento
    02/09/2022 09:00 GENOVA Esame su appuntamento