MOBILE PROGRAMMING

Francesco CAUTERUCCIO MOBILE PROGRAMMING

0612700123
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS
EQF6
COMPUTER ENGINEERING
2024/2025

YEAR OF COURSE 3
YEAR OF DIDACTIC SYSTEM 2022
SPRING SEMESTER
CFUHOURSACTIVITY
324LESSONS
324EXERCISES
Objectives
THE TEACHING PRESENTS THE PLATFORMS AND TECHNOLOGIES REQUIRED FOR MOBILE APPLICATION DEVELOPMENT, AS WELL AS DISTRIBUTED SOFTWARE ARCHITECTURES.

KNOWLEDGE AND UNDERSTANDING
METHODOLOGIES AND TECHNOLOGIES FOR DESIGNING AND IMPLEMENTING MOBILE APPLICATIONS (APPS). MAIN PLATFORMS ORIENTED TO APP DEVELOPMENT AND DISTRIBUTED SOFTWARE ARCHITECTURES.

APPLYING KNOWLEDGE AND UNDERSTANDING
DESIGN AND BUILD APPLICATIONS FOR MOBILE DEVICES USING POPULAR CROSS-PLATFORM FRAMEWORKS. INTERFACING AND USING WEB SERVICES.
Prerequisites
NONE.

MOREOVER, BASIC COMPETENCE IN OBJECTED ORIENTED PROGRAMMING IS REQUIRED FOR THE SUCCESSFUL ACHIEVEMENT OF COURSE OBJECTIVES.
Contents
DIDACTIC UNIT 1: INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT
(HOURS LECTURE / PRACTICE / LABORATORY 4/0/0)
- 1 (2 HOURS LECTURE): INTRODUCTION TO MOBILE SOFTWARE AND CROSS-PLATFORM MOBILE APPLICATION DEVELOPMENT
- 2 (2 HOURS LECTURE): TOOLS AND TECHNOLOGIES FOR CROSS-PLATFORM DEVELOPMENT
KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE CONCEPTS OF CROSS-PLATFORM MOBILE PROGRAMMING.
APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWLEDGE BASE AND SKILLS FOR DEVELOPING MOBILE APPLICATIONS THAT CAN RUN ON DIFFERENT PLATFORMS

DIDACTIC UNIT 2: WEB-BASED DEVELOPMENT SOLUTIONS.
(HOURS LECTURE / PRACTICE / LABORATORY 4/4/0)
- 1 (2 HOURS LECTURE): WEB-BASED SOLUTIONS - PROGRESSIVE WEB APPS (PWA) - A HYBRID OF MOBILE WEBSITES AND NATIVE APPS
- 2 (2 HOURS LECTURE): PROGRESSIVE WEB APPS (PWA) - THE MAIN FEATURES OF PWAS.
- 3 (4 HOURS PRACTICE): LET'S START DEVELOPING A SIMPLE PWA
- 4 (4 HOURS PRACTICE): DEVELOPING A PWA

KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF WEB-BASED SOLUTIONS FOR MOBILE APP DEVELOPMENT.
APPLIED KNOWLEDGE AND UNDERSTANDING: KNOW HOW TO DEVELOP WEB-BASED MOBILE APPLICATIONS.


LEARNING UNIT 3: MULTI-PLATFORM FRAMEWORKS.
(HOURS LECTURE / PRACTICE / LABORATORY 12/12/0)
- 1 (2 HOURS LECTURE): INTRODUCTION TO MULTI-PLATFORM FRAMEWORKS
- 2 (2 HOURS LECTURE): FIRST STEP
- 3 (2 HOURS LECTURE): CORE COMPONENTS
- 4 (2 HOURS LECTURE): STYLING COMPONENTS
- 5 (2 HOURS LECTURE): NAVIGATION
- 6 (2 HOURS LECTURE): COMPARISON APPLICATION DEVELOPMENT OF SELECTED FRAMEWORKS
- 7 (2 HOURS PRACTICE): TUTORIAL - FIRST EXAMPLE MOBILE APPLICATION USING THE SELECTED FRAMEWORKS
- 8 (2 HOURS PRACTICE): DEVELOPMENT OF A MOBILE APPLICATION USING THE SELECTED FRAMEWORKS
- 9 (2 HOURS PRACTICE): DEVELOPMENT OF A MOBILE APPLICATION USING THE SELECTED FRAMEWORKS
- 10 (2 HOURS PRACTICE): DEVELOPMENT OF A MOBILE APPLICATION USING THE SELECTED FRAMEWORKS
- 11 (2 HOURS PRACTICE): DEVELOPMENT OF A MOBILE APPLICATION USING THE SELECTED FRAMEWORKS
- 12 (2 HOURS PRACTICE): DEVELOPMENT OF A MOBILE APPLICATION USING THE SELECTED FRAMEWORKS

KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF CROSS-PLATFORM FRAMEWORKS FOR MOBILE APPLICATION DEVELOPMENT.
APPLYING KNOWLEDGE AND UNDERSTANDING: KNOW HOW TO DEVELOP CROSS-PLATFORM MOBILE APPLICATIONS.


LEARNING UNIT 5: DEFINITION AND DESIGN OF A CROSS-PLATFORM MOBILE APPLICATION.
(HOURS LECTURE / PRACTICE / LABORATORY 4/8/0)
- 1 (2 HOURS LECTURE): ASSIGNMENT AND PROJECT DISCUSSION
- 2 (2 HOURS LECTURE): SPECIFIC DEFINITION OF REQUIREMENTS AND FUNCTIONS
- 3 (2 HOURS PRACTICE): PROJECT: CODING
- 4 (2 HOURS PRACTICE): PROJECT: CODING
- 5 (2 HOURS PRACTICE): PROJECT: CODING
- 6 (2 HOURS PRACTICE): PROJECT: CODING

KNOWLEDGE AND UNDERSTANDING: KNOW HOW TO DEFINE AND DESIGN A MOBILE APPLICATION.
APPLYING KNOWLEDGE AND UNDERSTANDING: KNOW HOW TO DEVELOP A MOBILE APPLICATION.

TOTAL HOURS LECTURE/ PRACTICE / LABORATORY 24/24/0.
Teaching Methods
THE COURSE INCLUDES FRONTAL LESSONS FOR 24 HOURS AND EXERCITATIONS FOR 24 HOURS.

THE EXERCITATIONS WILL INCLUDE THE DEVELOPMENT OF EXAMPLE MOBILE APPLICATIONS TO EXEMPLIFICATE THE CONCEPTS INTRODUCED IN THE LESSONS.

TO ACCESS THE FINAL VERIFICATION, IT IS MANDATORY TO ATTEND AT LEAST 70% OF THE FRONTAL ACTIVITIES.
Verification of learning
THE FINAL TEST IS AIMED AT VERIFYING THE KNOWLEDGE AND UNDERSTANDING OF THE COURSE CONTENTS AND THE ABILITY TO APPLY THEM TO THE DESIGN AND DEVELOPMENT OF A MOBILE APPLICATION.

STUDENTS WILL BE ASSIGNED A GROUP PROJECT WORK INVOLVING THE DESIGN AND REALIZATION OF A MOBILE APPLICATION. THE EXAM WILL CONSIST OF A DISCUSSION OF THE PROJECT AND AN ORAL INTERVIEW ON THE CONTENTS OF THE COURSE.

IN THE FINAL VOTE, THE PROJECT EVALUATION WILL WEIGH 60% AND THE ORAL INTERVIEW 40%.
Texts
SUGGESTED BOOKS:
* D. FLANAGAN. “JAVASCRIPT: THE DEFINITIVE GUIDE” 7° EDIZIONE, 2020. O’REILLY.
* T. ATER. “BUILDING PROGRESSIVE WEB APPS”, 2017. O’REILLY.
* A. BODUCH, R. DERKS, M. SAKHNIUK. “REACT AND REACT NATIVE”, 2022. PACKT.
* E. WINDMILL. “FLUTTER IN ACTION”, 2022. MANNING.

LECTURE NOTES ON THE ELEARNING PLATFORM.
More Information
THE COURSE IS HELD IN ITALIAN
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2024-10-16]