Learning objectives
the course starts with the analysis of the Software Crisis. It passes through the study of traditional development models, and ends up defining the fundamental architectural aspects of modern software systems with particular attention to web applications.
With reference to the Dublin Indicators:
Knowledge and understanding
The course introduces the first concepts related to software engineering. Particular emphasis is given to understanding classical methodologies. The reference text is in Italian, but English terminology is also used during the lessons as a starting point for consulting international scientific literature.
Ability to apply knowledge and understanding
The theoretical knowledge presented is always applied to the resolution of specific problems. The assigned project accompanying the course focuses on the creation of Web applications. The solution methods are often presented in algorithmic form, developing in students the ability to structure procedures useful in numerous parts of computer science and not only in the study of software engineering.
Autonomy of judgement
The exercises, which are proposed in relation to the theoretical part carried out in class, can be solved individually or in groups. Discussion with classmates, during homework or during classroom discussions on the progress of the project, promotes the development of specific skills to be able to clarify one's arguments to classmates or teachers. Often the problems that arise from the development of the project can be resolved in very different ways and listening to the solutions proposed by others allows you to develop the ability to identify common structures, beyond the apparent superficial differences.
Communication skills
Numerous discussions on different methods for solving the proposed problems allow you to improve communication skills. Furthermore, some communication methods specific to information technology are routinely used during explanations (and explicitly highlighted in class).
Learning ability
The study of the origins of technological solutions and their introduction motivated by qualitative and quantitative considerations contributes to realizing in students the ability to learn in a profound way and not just superficially and repetitively. The knowledge thus acquired is never rigid and definitive, but is perfectly adaptable to any evolution and change in perspective and context.