Advanced Programming Techniques

A.Y. 2024/2025
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
The course aims to expose the student to techniques and technologies to increase reusability, maintenance and testing of software concerns. In particular, the teaching will focus on definining the concept of software concerns, including crosscutting concerns, and on their extrusion into independent computational units, simpler and easily composable. In this regard, the most recent and innovative software development techniques will be presented, such as, but not limited to, aspect-oriented programming, computational reflection, context-oriented programming, software product-line, bytecode and intermediate language engineering, etc.
Expected learning outcomes
The student will have to demonstrate the ability to develop and implement applications whose concerns are separate and subsequently composed using the techniques presented in class. The student will also have to be able to recognize a software concern within an existing application and to separate it from the rest of the code using one of the techniques/technologies seen in class. The student must also demonstrate that he has developed the ability to write better code (simpler, more reusable and more maintainable) by applying the techniques and concepts provided by the teaching.
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

Not available in 2024/25

Lesson period
First semester
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours