Advanced computer programming

A.Y. 2019/2020
Lesson for
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
English
Learning objectives
The aim of the Advanced Computer Programming course is to present, discuss and experiment on modern computing programming paradigms.

The main focus is methodological: to allow the students considering the most suitable programming technique, and the most pertinent computer implementation, in various contexts. At the same time, a substantial share of the lectures is devoted to actual programming tasks using real world programming languages, thereby proposing also a pragmatic understanding of a few technologies.

Course structure and Syllabus

Active edition
Yes
Responsible
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Ceselli Alberto
ATTENDING STUDENTS
Syllabus
A) Advanced programming paradigms
- functional and data-driven programming
- data and process abstraction; object oriented, parametric and generic programming
- reflection, reification, decorators, metaclasses and annotation
- concurrent, distributed, event-driven and GPU programming
B) Low level programming
C) Mobile, component based and aspect-oriented programming

Examples are discussed and excercises are given during lab sessions, using Python, Java, C and C++ programming languages.
NON-ATTENDING STUDENTS
Syllabus
A) Advanced programming paradigms
- functional and data-driven programming
- data and process abstraction; object oriented, parametric and generic programming
- reflection, reification, decorators, metaclasses and annotation
- concurrent, distributed, event-driven and GPU programming
B) Low level programming
C) Mobile, component based and aspect-oriented programming

Examples are discussed and excercises are given during lab sessions, using Python, Java, C and C++ programming languages.
Lesson period
First semester
Lesson period
First semester
Assessment methods
Esame
Assessment result
voto verbalizzato in trentesimi
Professor(s)