The course provides an introduction to some tools/frameworks and services useful for software development and management, with the aim of training professionals who contribute to the implementation of software projects while also being aware of management needs.
The primary purpose of the course is to increase students' awareness of the tools and services used in software development and management. In addition, it aims to provide them with practical skills for the effective use of such resources. The course will also delve into the fundamental concepts of the software lifecycle and illustrate how these tools can be integrated to optimize the software development and management process.
This teaching takes up some tools for software development and management already introduced during the degree course (for example IDE and versioning systems, such as Git) and integrates them with other tools and services that can be used for managing and monitoring software projects, performing automated builds, carrying out continuous code integration (CI) and deployment, and optimizing the software development process.
The teaching is practical and has the educational objective of introducing students to modern software development as it is carried out in a real workplace.
At the end of the course, the student will be able to:
Knowledge of programming fundamentals;
Knowledge of an object-oriented programming language (e.g. Java and/or C#) or scripting langiages (e.g. JavaScript e/o Python);
Basic knowledge of Software Engineering. It is useful to have some knowledge and understanding of software engineering terminology and basic techniques of software development process management, software design and verification and validation.
Practical laboratory lessons carried out in small teams (2/3 students). Each instrument treated will be accompanied by immediate practical experimentation, in order to quickly acquire confidence and dexterity. The laboratories will be guided and the supplementary activities will be made available on AulaWeb.
AulaWeb will be used for three purposes: as a repository of course material; as a channel for bureaucratic communications, explanations and discussions concerning the course; and finally to facilitate teamwork.
The teaching, which is of a practical nature, introduces some of the following tools/environments and services for software development and management (and at different levels of detail):
At the end of the course the student will possess advanced specialist knowledge in the field of development and management of modern software systems. In particular, he will be able to:
Documentation available online of the various selected tools and services.
CRISTIANO SPADARO (President)
MAURIZIO LEOTTA
FILIPPO RICCA (President Substitute)
In accordance with the teaching calendar approved by the Council of Study Programs in Computer Science and Computer Science.
The objective of the verification procedure is to quantify, for each student, the level of achievement of the previously indicated educational objectives. The verification procedure consists in the evaluation of some guided laboratories and in a written test.
The exam consists of the following activities
Laboratory activities Written
Laboratory activities
The course includes laboratory activities to be carried out in groups. For some of these activities, the delivery of the work performed will be required. For others, student participation will simply be monitored. Alternative activities to be delivered via AulaWeb will be proposed to those (e.g. working students) who are unable to attend the laboratory activities.
Written
The written test will consist of multiple choice questions. The questions will be both theoretical and practical and will focus on the topics/tools covered in class. During the lessons some examples of possible questions and exercises for each topic will be discussed, so that at the end of the course the type of test will be clear.
The laboratory activity aims to ascertain: (1) the knowledge of the proposed tools and (2) the collaborative skills in solving problems within the topics addressed in the course.
The written has the dual objective of verifying the knowledge of the basic aspects of the discipline and ascertaining the participation of the students in the guided laboratories. In both tests the specific knowledge of the subject and the ability of critical reasoning will be considered.