Advanced Computer Programming
A.Y. 2019/2020
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
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.
- ability of using languages for data-driven programming;
- ability of developing software for mobile devices (eg. Android) and embedded systems.
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
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)
- [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 AlbertoEducational website(s)
Professor(s)