Skip to main content

Type

Master Degree Course

Access mode

Free

Length

2 years

Location

Modena

Language

Italian

Department

Department of Physics, Informatics and Mathematics

The Degree Course in brief

The Master’s Degree Programme in Computer Science of the University of Modena and Reggio Emilia is to provide students with a high level of IT and scientific skills that they will able to use both locally and internationally.

The study programme is designed to provide:
- skills to model processes and systems and develop innovative software applications, particularly in the scientific field;
- skills to model processes and develop software applications for companies in the business fabric of the region, particularly in Emilia, with an emphasis on distributed applications.

In particular, the degree programme provides interesting insights into the field of distributed systems, with a focus on the aspects of Software Design, Security, Integration and Scalable Data Science.

Info

Law: D.M. 270/2004
Department: Department of Physics, Informatics and Mathematics
Degree class: LM-18 - Computer science
CFU: 120
Didactic method: PRESENCE

Study plan

Teachings

Study plan

Year of study: 1
Required
Attività opzionali affini TABELLA 1
Attività opzionali affini TABELLA 2
Attività opzionali caratterizzanti
Attività a libera scelta del primo anno (between 1 and 99 CFU)
Year of study: 2
Required
  • TIROCINIO
    6 CFU - 0 hours - Second Half-Year Cycle
Attività opzionali caratterizzanti II anno
Attività a libera scelta da CdLM (between 1 and 99 CFU)
Attività a libera scelta (between 1 and 99 CFU)
Year of study: 1
Required
Attività opzionali affini TABELLA 1
Attività opzionali affini TABELLA 2
Attività opzionali caratterizzanti
Attività a libera scelta del primo anno (between 1 and 99 CFU)
Year of study: 2
Required
  • TIROCINIO
    6 CFU - 0 hours - Second Half-Year Cycle
Attività opzionali caratterizzanti II anno
Attività a libera scelta da CdLM (between 1 and 99 CFU)
Attività a libera scelta (between 1 and 99 CFU)

More information

Prerequisites for admission.

Admission to the Master’s Degree Programme in Information Technology is subject to a first level degree or equivalent qualification, or other study qualification obtained abroad and deemed valid, in addition to specific curriculum requirements and to passing an assessment test of the initial personal preparation, which may also be done by means of an interview.
In particular, students are required to possess basic skills of mathematics (sectors MAT/01-MAT/09), physics (sectors FIS/01-FIS/03) and IT relating to programming languages, algorithmic, operating systems, and databases (INF/01 and ING/INF/05).
At least one of the following curriculum requirements is needed to enrol in the master’s degree programme:
1. Holding a Bachelor’s degree in one of the classes specified below:
- Class 26 (Informatics) relating to MD 509/1999;
- Class L-31 (Informatics) relating to MD 270/2004;
- Class 9 (Information engineering) relating to MD 509/1999;
- Class L-8 (Information engineering) relating to MD 270/2004;
or at least a four-year degree in Information science, Information Technology or Information Technology Engineering ante MD 509/99, or a degree diploma issued by a foreign University and deemed equivalent to any of the qualifications mentioned above, obtained with a final score higher than or equal to 90/110.
2. Having obtained at least 48 university credits in the following disciplinary sectors: ING-INF/05, INF/01 (minimum 18 CFU between ING-INF/05 and INF/01), MAT/01-MAT/09 (minimum 12 CFU among all MAT/* sectors), FIS/01-FIS/03.

In addition, students must have acquired at least 3 university credits (CFUs) in sector L-LIN12 or have an international certification deemed equivalent at least to a level B1.

Access to the master’s degree programme is subject to an assessment of the knowledge and the skills required, evaluated by a specific commission after analysing the curriculum and interviewing the student.

The interview has the purpose of assessing the student’s skills on the following subjects: knowledge of at least one programming language, ability to implement programmes in a language, basic knowledge on algorithms, basics of the usage of an operating system, knowledge of how to manage a database, knowledge of topics of basic mathematics.

An ad hoc assessment of the skills acquired during the study programme is reserved to students with foreign qualifications, to check that they meet the curricular requirements.

Admission procedures

Admission to the Master’s Degree Programme in Information Technology is subject to a first level degree or equivalent qualification, or other study qualification obtained abroad and deemed valid, in addition to specific curriculum requirements and to passing an assessment test of the initial personal preparation, which may also be done by means of an interview.

In particular, students are required to possess basic skills of mathematics (sectors MAT/01-MAT/09), physics (sectors FIS/01-FIS/03) and IT relating to programming languages, algorithmic, operating systems, and databases (INF/01 and ING/INF/05).

At least one of the following curriculum requirements is needed to enrol in the master’s degree programme:
1. Holding a Bachelor’s degree in one of the classes specified below:
- Class 26 (Computer science and technology) relating to MD 509/1999;
- Class L-31 (Computer science and technology) relating to MD 270/2004;
- Class 9 (Information engineering) relating to MD 509/1999;
- Class L-8 (Information engineering) relating to MD 270/2004;
or at least a four-year degree in Information science, Computer Science or Computer Engineering before MD 509/99, or a degree diploma issued by a foreign University and deemed equivalent to any of the qualifications mentioned above, obtained with a final score higher than or equal to 90/110.
2. Having obtained at least 48 university credits in the following disciplinary sectors: ING-INF/05, INF/01 (minimum 18 CFU between ING-INF/05 and INF/01), MAT/01-MAT/09 (minimum 12 CFU among all MAT/* sectors), FIS/01-FIS/03.

In addition, students must have acquired at least 3 university credits (CFUs) in sector L-LIN12 or have an international certification deemed equivalent at least to a level B1.

Access to the master’s degree programme is subject to an assessment of the knowledge and the skills required, evaluated by a specific commission after analysing the curriculum and interviewing the student.
An ad hoc assessment of the skills acquired in the study programme will be made during the interview to students with foreign qualifications, to check that they meet the curricular requirements.

If the candidate does not meet the curricular requirements, specific areas to be filled are indicated during the interview. If the integration to be carried out is within the 9 ECTS credit limit, an interview with the evaluation committee is sufficient, otherwise the committee can avail itself of the collaboration of the lecturers of the master's degree programme, pointing out to the candidate certain examinations to be passed by the allotted deadline and in any case by the last date on which it is possible to complete the full registration.

Skills associated with the function

Master’s graduates will be able to:
- analysis and modelling of processes and real systems, both natural, artificial, and social and technical This knowledge is developed mainly (but not only) in the following teachings: Software development methodologies, Secure software development, Big Data Analytics, Computer security, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Game theory: Strategies and Algorithms, Optimisation Algorithms, Distributed Algorithms, AI-assisted computer graphics, Deep learning , IoT Systems , Software Life Cycle Methods, Internship + Final Examination

- design, development and test of software applications also distributed and parallel, being able to choose the most appropriate programming languages and data structures. This knowledge is developed mainly (but not only) in the following teachings: Software Development Methodologies, High Performance Computing, Embedded and Real-Time Systems, Platforms and Algorithms for Autonomous Systems, Distributed Algorithms, Kernel Hacking, Cloud and Edge Computing, Software Lifecycle Methods, Internship + Final Examination

- modelling and development of applications to resolve issues originated in different fields of the real world, such as natural systems, mobile and pervasive systems, social and relational contexts, scientific and research contexts. This knowledge is developed mainly (but not only) in the following teachings: High-performance computing, Secure software development, Big Data Analytics, Embedded and real-time systems, Computer security, Cryptographic algorithms, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Privacy and data protection, Scientific data processing, Introduction to Quantum Information processing, Computer law and new technologies, Game theory: Strategies and Algorithms, Optimisation Algorithms, Platforms and Algorithms for Autonomous Systems, AI-assisted computer graphics, Mobile Programming, Deep Learning, IoT Systems, Software Life Cycle Methods, Internship + Final Examination

The skills required to carry out the functions previously listed are as follows:
- knowledge of mathematic and IT models to analyse and describe even complex processes and systems;
- knowledge of the appropriate mathematic-algorithmic technologies and methodologies to face non-easy computational issues;
- knowledge of the IT and mathematic techniques and methodologies for managing the information;
- knowledge of a wide spectrum of IT techniques and methodologies for software development;
- ability to apply such knowledge to design and develop complex IT systems and applications, such as those distributed, competing, social and technical;
- ability to carry out on-going self-training;
- communication and organisation skills.

Function in a work context

Master’s graduates will be able to:
- analysis and modelling of processes and real systems, both natural, artificial, and social and technical This knowledge is developed mainly (but not only) in the following teachings: Software development methodologies, Secure software development, Big Data Analytics, Computer security, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Game theory: Strategies and Algorithms, Optimisation Algorithms, Distributed Algorithms, AI-assisted computer graphics, Deep learning , IoT Systems , Software Life Cycle Methods, Internship + Final Examination

- design, development and test of software applications also distributed and parallel, being able to choose the most appropriate programming languages and data structures. This knowledge is developed mainly (but not only) in the following teachings: Software Development Methodologies, High Performance Computing, Embedded and Real-Time Systems, Platforms and Algorithms for Autonomous Systems, Distributed Algorithms, Kernel Hacking, Cloud and Edge Computing, Software Lifecycle Methods, Internship + Final Examination

- modelling and development of applications to resolve issues originated in different fields of the real world, such as natural systems, mobile and pervasive systems, social and relational contexts, scientific and research contexts. This knowledge is developed mainly (but not only) in the following teachings: High-performance computing, Secure software development, Big Data Analytics, Embedded and real-time systems, Computer security, Cryptographic algorithms, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Privacy and data protection, Scientific data processing, Introduction to Quantum Information processing, Computer law and new technologies, Game theory: Strategies and Algorithms, Optimisation Algorithms, Platforms and Algorithms for Autonomous Systems, AI-assisted computer graphics, Mobile Programming, Deep Learning, IoT Systems, Software Life Cycle Methods, Internship + Final Examination

The Master’s Degree Programme in Information Technology is aimed at training high professional figures in the IT field, who are able to analyse and understand real and complex processes and systems, whether they are natural, artificial, corporate or social. They will also be able to model them and design and develop innovative, distributed, parallel and competing IT systems.

Employment and professional opportunities for graduates.

Master’s graduates will be able to:
- analysis and modelling of processes and real systems, both natural, artificial, and social and technical This knowledge is developed mainly (but not only) in the following teachings: Software development methodologies, Secure software development, Big Data Analytics, Computer security, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Game theory: Strategies and Algorithms, Optimisation Algorithms, Distributed Algorithms, AI-assisted computer graphics, Deep learning , IoT Systems , Software Life Cycle Methods, Internship + Final Examination

- design, development and test of software applications also distributed and parallel, being able to choose the most appropriate programming languages and data structures. This knowledge is developed mainly (but not only) in the following teachings: Software Development Methodologies, High Performance Computing, Embedded and Real-Time Systems, Platforms and Algorithms for Autonomous Systems, Distributed Algorithms, Kernel Hacking, Cloud and Edge Computing, Software Lifecycle Methods, Internship + Final Examination

- modelling and development of applications to resolve issues originated in different fields of the real world, such as natural systems, mobile and pervasive systems, social and relational contexts, scientific and research contexts. This knowledge is developed mainly (but not only) in the following teachings: High-performance computing, Secure software development, Big Data Analytics, Embedded and real-time systems, Computer security, Cryptographic algorithms, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Privacy and data protection, Scientific data processing, Introduction to Quantum Information processing, Computer law and new technologies, Game theory: Strategies and Algorithms, Optimisation Algorithms, Platforms and Algorithms for Autonomous Systems, AI-assisted computer graphics, Mobile Programming, Deep Learning, IoT Systems, Software Life Cycle Methods, Internship + Final Examination

The job and professional opportunities for Master’s graduates are as follows:
- Analyst of complex and innovative systems and applications in private companies dealing with software development, businesses typical of the Emilia Romagna territory, public administration, health authorities, and scientific research institutions
- Designer and developer of complex and innovative systems and applications in private companies dealing with software development, businesses typical of the Emilia Romagna territory, public administration, health authorities, and scientific research institutions
- Project manager of software applications
- Self-employed professional
- Entrepreneur in the field of software production

Educational goals

The purpose of the Master’s Degree in Computer Science is to provide students with a high level of IT and scientific skills that they will able to use both locally and internationally. The study programme is designed to provide the skills required to tailor processes and systems, and develop even complex software applications. The application fields provided are specifically the scientific and software development fields for local enterprises.

Master’s graduates are able to analyse, design, develop, and
manage IT systems and applications for generating and processing information.
To this purpose, Master’s Degree students explore their methodological and technological knowledge relating to information technology.

The structure of the study programme includes a set of compulsory teachings focused on deepening the skills for modelling (both in mathematics and information technology), programming and managing the information. Both the foundational and application aspects of such skills will be dealt with.
A set of teachings is also provided, among which students can choose the ones they are interested with and that best meet their professional vocation. This set includes teachings that further focus on modelling and applying the information technology in the scientific field, and towards the application of IT to the development in the fields of local enterprises. In the first case, teachings provide skills on complex IT systems and on the techniques and tools for processing and managing the information, in particular the scientific ones; in the second case, teachings provide skills for the industrial development of software that specially focuses on distributed applications.

Communication skills.

Master’s graduates show communication skills that are suitable to their training level when presenting their work. More specifically:
- they are skilled to present data, ideas, problems and solutions of themes relating to information technology, both orally and in writing;
- they can get the most of technological tools to communicate;
- they can draw up reports;
- they can communicate inside a work group;
- they can manage and coordinate group projects.
The skills listed above are specifically developed for the students’ preparation to take exams, in particular those requesting the development and the presentation of a project, both through a written paper and an oral discussion, also using adequate technologies. Drawing up a thesis for the final examination and its dissertation are an opportunity to gain communication skills.

Making judgements.

Master’s graduates are fully skilled to formulate independent and informed judgements both on technical and ethical, organisational aspects. More specifically:
- they can relate with counterparties and interpret their needs;
- they can choose the technologies and IT tools more suitable to each context, evaluating the alternatives available;
- they can evaluate the times and the modes required for software development;
- they are able to understand the ethical implications of project and implementation choices, and to make judgments on them;
- they are skilled to evaluate their training and adapt it to the evolution of the IT field.
These skills are developed through laboratory activities, individual and group projects, an internship and a final examination. In addition, students are offered specific sources of information, such as specialist texts and articles, also referring to the growing legal and ethical implications linked to the IT profession.
Such skills are verified through examinations of the individual teachings, in particular those including a project activity within IT disciplines. The assessment does not involve only technical aspects, as it is also made on the decision-making path that has led to the examination results.

Learning skills.

The IT field is constantly evolving and Master’s graduates are asked to keep always up-to-date. Therefore, Master’s graduates:
- are able to assess their own knowledge regarding the state of the art of information technologies;
- are able to understand what skills are missing to take on the job they are offered;
- are skilled to constantly train to fill the gaps and keep up-to-date;
- are able to exploit the appropriate sources;
- are able to face new problems by adopting a scientific and methodologic approach.
The learning abilities are achieved throughout the study programme, thanks to incentives during the teachings, individual study, examination modes focusing on the conceptual learning rather than a more notional one, and also to taking on the internship and preparing for the final examination.
Learning skills are assessed during examinations and the final test, as they require un understanding of the subjects covered. The ability to perform an independent search for additional information is also required, in particular for project development. The final examination is an opportunity in which students are asked to perform an original and independent work.

Knowledge and understanding.

Analysis and software development area
Master graduates:
- have advanced knowledge in areas of computer science such as the design of sequential and parallel algorithms, concurrent and distributed programming, security, system simulation, web technologies, artificial intelligence; This knowledge is developed mainly (but not only) in the following teachings: Software Development Methodologies, High Performance Computing, Secure Software Development, Big Data Analytics, Embedded and Real-Time Systems, Fundamentals of Machine Learning, Complex Systems, Computational and Statistical Learning, Optimisation Algorithms, Platforms and Algorithms for Autonomous Systems, Distributed Algorithms, Kernel Hacking, Mobile Programming, Cloud and Edge Computing, Deep Learning, IoT Systems, AI-assisted computer graphics, Game Theory: Strategies and Algorithms, Internship and Final Examination (12+2)

- are familiar with the operation and the most advanced and innovative techniques of data storage and processing; This knowledge is developed mainly (but not only) in the following teachings: Secure software development, Big Data Analytics, Cryptographic algorithms, Fundamentals of machine learning, Computational and statistical learning, Scientific data processing, Introduction to Quantum Information processing, Deep learning , Internship and Final Examination

- know the architectural models, the main problems, and the peculiar aspects of distributed systems; This knowledge is developed mainly (but not only) in the following teachings: Software development methodologies, high performance computing, computer security, game theory: Strategies and Algorithms, Distributed Algorithms, Kernel Hacking, Mobile Programming, Cloud and Edge Computing, IoT Systems, Internship and Final Examination

- know the concepts and tools suitable for the production of complex software, the main architectural styles for the design and development of software systems oriented to specific application areas This knowledge is developed mainly (but not only) in the following teachings: Software development methodologies, High performance computing, Secure software development, Big Data Analytics, Embedded and real-time systems, Computer security, Scientific data processing, Optimisation algorithms, Platforms and Algorithms for Autonomous Systems, Kernel hacking, Deep learning, Software Life Cycle Methods, Internship + Final Examination

- have a good background in science areas other than computer science; This knowledge is developed mainly (but not only) in the following teachings: Cryptography algorithms, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Privacy and data protection , Scientific data processing, Introduction to Quantum Information processing, Computer law and new technologies, Game theory: Strategies and Algorithms, Optimisation Algorithms, AI-assisted computer graphics, Internship + Final Examination

- are able to understand and converse with those working in the perspective of scientific/technological progress and its impact on society. This knowledge is developed mainly (but not only) in the following teachings: Embedded and real-time systems, Computer security, Cryptographic algorithms, Applied cryptography, Complex systems, Privacy and data protection , Information technology and new technologies law, Optimisation algorithms, Platforms and Algorithms for Autonomous Systems, IoT Systems , Internship + final examination

The favoured teaching tools for achieving such objectives are the practical lessons and sessions; the attainment of the learning results is verified through oral interviews, written tests and discussion of the project activities.

Applying knowledge and understanding.

Analysis and software development area
Master’s graduates will be able to:
- analysis and modelling of processes and real systems, both natural, artificial, and social and technical This knowledge is developed mainly (but not only) in the following teachings: Software development methodologies, Secure software development, Big Data Analytics, Computer security, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Game theory: Strategies and Algorithms, Optimisation Algorithms, Distributed Algorithms, AI-assisted computer graphics, Deep learning , IoT Systems , Software Life Cycle Methods, Internship + Final Examination

- design, development and test of software applications also distributed and parallel, being able to choose the most appropriate programming languages and data structures. This knowledge is developed mainly (but not only) in the following teachings: Software Development Methodologies, High Performance Computing, Embedded and Real-Time Systems, Platforms and Algorithms for Autonomous Systems, Distributed Algorithms, Kernel Hacking, Cloud and Edge Computing, Software Lifecycle Methods, Internship + Final Examination

- modelling and development of applications to resolve issues originated in different fields of the real world, such as natural systems, mobile and pervasive systems, social and relational contexts, scientific and research contexts. This knowledge is developed mainly (but not only) in the following teachings: High-performance computing, Secure software development, Big Data Analytics, Embedded and real-time systems, Computer security, Cryptographic algorithms, Applied cryptography, Fundamentals of machine learning, Complex systems, Computational and statistical learning, Computer graphics, Privacy and data protection, Scientific data processing, Introduction to Quantum Information processing, Computer law and new technologies, Game theory: Strategies and Algorithms, Optimisation Algorithms, Platforms and Algorithms for Autonomous Systems, AI-assisted computer graphics, Mobile Programming, Deep Learning, IoT Systems, Software Life Cycle Methods, Internship + Final Examination