Objectives
The Degree Course in Computer Science aims to train professionals capable of successfully addressing the challenges posed by the increasing demands of the information society.
Graduates in Computer Science will possess a solid foundational cultural preparation in the core areas of computer science, such as programming languages, techniques and methods for software design and development, algorithms and computational complexity, discrete structures, and the theoretical foundations of computer science. This will provide them with general methodological tools useful for continuous updating of knowledge throughout their working life, keeping pace with the advancement of information and communication technologies, in which they will have a strong technical background, especially in areas such as parallel and distributed software, architectures, computer networks, information systems and databases, human-computer interaction, artificial intelligence, and cybersecurity, enabling rapid professional integration in the technology sector. Furthermore, they will be able to access advanced university-level studies, both within computer science and in related scientific fields.
The foundational cultural preparation will enable graduates in Computer Science to acquire:
- Familiarity with the scientific method of investigation and its implications, including ethical ones;
- Knowledge of basic mathematics to use its tools in support of computer science;
- Methodological knowledge and basic skills across a wide range of information and communication science and technology fields;
- Effective use of English in both written and oral forms.
Thanks to these solid theoretical, methodological, and technological foundations, graduates in Computer Science will be able to:
- Understand developments in computer science, both methodological and related to digital technologies, as well as their applications, and adapt to the evolution of the discipline, also through consultation of advanced scientific and technological documentation;
- Possess good skills and autonomy in building models, essential for understanding and formalizing complex problems;
- Work in the design, development, and management of software systems (including networked environments), information systems, computer networks, security solutions for computing systems, and tools utilizing artificial intelligence;
- Provide technological support to users of computer systems;
- Integrate quickly and effectively into a working environment, contributing relational and decision-making skills and being able to work efficiently both in teams and independently;
- Communicate and argue their ideas regarding problems faced and proposed solutions to both specialist and non-specialist audiences;
- Effectively interact with users and experts in the relevant application domains and apply their knowledge in concrete situations related to business and institutional contexts;
- Understand the economic, legal, ethical, social, and environmental implications of digital transformation;
- Access subsequent levels of study, including Master’s degrees in Computer Science.
Graduates in Computer Science will be qualified to work professionally both in companies producing and companies using computer systems, operating in both the public and private sectors, in the following occupational fields:
- Design, organization, management, and evolutionary maintenance of software systems, application software, databases, information systems, client-server network applications, and websites;
- Design, organization, and evolutionary maintenance of components supporting the security and reliability of computer systems.
The educational path is structured as follows:
- In the first two years of the course, basic courses are provided that are considered essential for the cultural, methodological, and technical training of a Computer Science graduate;
- During the third year, computer science education is completed with mandatory courses in software engineering, artificial intelligence, automata, computability, and complexity, also offering students the opportunity to choose the remaining courses to deepen their preparation in either a more theoretical or more applied direction. Some elective courses are taught in English.
The third year and the overall course are completed with elective credits, a compulsory internship, and the final degree exam.
All courses include laboratory and/or design activities or exercises. In particular, almost all computer science courses include laboratory activities, while mathematics or other theoretical courses include exercises. Laboratory activities are primarily aimed at developing simple programs in the first year, becoming full project laboratories in the second and especially the third year.
Many courses require group work, during which it is verified that each member contributes their part.
The internship is conducted under the guidance of a faculty supervisor and can be external, carried out at companies or external organizations under predefined agreements, or internal, carried out within the degree program under a faculty member’s supervision. In both cases, the internship requires that the student be given a real-world problem to solve through the development of a project carried out with a professional approach, typically involving activities of analysis, design, and software development.
The final exam consists of writing a final report presenting the results of the internship activity and an oral presentation demonstrating knowledge of the topics addressed and tools used.
The degree program’s academic regulations define, within legal limits, the proportion of the total workload expected from the student for personal study or other individual educational activities.