Advanced Computer Programming

A.Y. 2019/2020
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
English
Learning objectives
Programming is a ubiquitous field in computer science: being able to produce and understand computer code using state-of-the-art technologies is of fundamental importance to both contribute and manage each software development task.

The course has both methodological and application-oriented objectives, to provide both theoretical understanding and practical skills for effectively programming in diverse computing domains.

From the methodological point of view, the course aims at allowing students to
- better understand computing domains
- select the most appropriate programming paradigms for each domain
- assess and improve code robustness against bugs
- improve code factorization and structuring skills
- fully exploit specialized hardware computing capabilities

From the application point of view, the course gives practical skills in
- application development using state-of-the-art object-oriented and scripting languages
- low-level programming for special purpose devices and embedded systems
- high-level programming for service oriented architectures
Expected learning outcomes
- ability of using using of languages for object oriented programming, generic programming and meta programming;
- ability of using languages for data-driven programming;
- ability of developing software for mobile devices (eg. Android) and embedded systems.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Lesson period
First semester
Course syllabus
The syllabus is shared with the following courses:
- [F2Y-44](https://www.unimi.it/en/ugov/of/af20200000f2y-44)
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Ceselli Alberto
Shifts:
-
Professor: Ceselli Alberto
Educational website(s)
Professor(s)