Unit WEB AND MOBILE PROGRAMMING WITH LAB.

Course
Informatics
Study-unit Code
A002065
Curriculum
In all curricula
Teacher
Marco Baioletti
Teachers
  • Marco Baioletti
Hours
  • 52 ore - Marco Baioletti
CFU
6
Course Regulation
Coorte 2020
Offered
2022/23
Learning activities
Caratterizzante
Area
Discipline informatiche
Academic discipline
INF/01
Type of study-unit
Opzionale (Optional)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
First part: web programming
Introduction to HTML and CSS
The programming language Javascript
A framework based on Javascript (for instance Angular 2)
A server-side programming language (for instance Node.js)

Second part: mobile programming
The programming language Kotlin
Programming in Android
Reference texts
course notes written by the teacher
online documentations

Kotlin in Action
D. Jemerov and S. Isakova
Manning Publications, 2017

JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language
David Flanagan
O'Reilly Media, 2020
Educational objectives
This course is an advanced course on programming. It examines advanced concepts on object oriented programming. It deals some topics with concurrency management
and functional programming. It explores the details of web and mobile programming.
The main purpose of this course is to provide to the students the tools and the required knowledge to design and implement applications in mobile and web environment.
The main knowledges acquired in this course will be
*how to program a web application in the client side
*how to program a web application in the server side
*advanced concept of object-oriented programming
*introduction to concurrent and functional programming
*moblie programming
The main skills acquired will be
*how to use development tools
*design and implementing user interfaces
*realization of small-middle size web and mobile applications
Prerequisites
procedural programming
object-oriented programming
a basic course of computer networks
Teaching methods
theoretical lessons

examples using a computer

a possible flipped classroom
Learning verification modality
The exam comprises two tests

1) a project to be developed as an individual homework. The purpose of this test is to check the knowledge about web and mobile programming and application development

2) an oral test, where the student should present her/his project and
discuss some theoretical topics seen in the course.
The purpose of this test is to ascertain the knowledge level, understanding capabilities and communication skills acquired by the student.

Students who do not speak Italian can do the exam in French or English.
Extended program
First part: web programming

Languages for web design
1. HTML
2. CSS
3. XML
The Javascript programming language
1. basic notions
2. procedural programming
3. definition and use of functions
4. object oriented programming
5. event handling
6. DOM and BOM
7. asynchronous programming

A framework based on Javascript (for instance, Angular 2)

A server-side programming language (for instance, Node.js)
1. Handling requests from clients
2. Template pages
3. Access to databases

Second part: mobile programming

Kotlin programming language
1. Basic notions
2. Procedural programming
3. object oriented programming
4. Contenitors
5. Functional programming
6. Concurrent programming

Android programming with Kotlin
1. Basic notions of Android
2. Creating and managing the user interface
3. Local data access
4. Remote resource access
5. Localization and sensors
Condividi su