Salta al contenuto principale della pagina

MOBILE DEVELOPMENT

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

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.

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