The aim of the Computer Science major is to acquire advanced technologies, methodologies and concepts in computer science.
It focuses on the acquisition of fundamental skills in computer science, independent of a particular type of application or framework.
The teaching units are:
- Technological Foundation of Computer Science (38h): unix command line, bash scripting, code version management, dependency management, code automation, debugging, documentation, licensing, publishing, containerization, continuous integration and deployment.
- Software engineering (40h): computer system modeling, agile methods, requirements gathering and structuring, architecture design, architecture styles, design patterns, coding and naming standards, ethics, law.
- Security, Trust, Confidentiality (38h): modern cryptography, network security tools, access control, trust management and negotiation mechanisms, personal data management.
- Cloud and Edge Infrastructures (24h): main concepts and business impacts of cloud and edge computing with practical work using Amazon Web Services (AWS) platform.
- Data interoperability and semantics (20h): data types, data formats, data query and validation languages, the value of data, data interoperability.
The teaching unit on Technological Foundation of Computer Science provides mainly technical skills, which are useful for all the other teaching units in the major.
The teaching unit on Software Engineering provides methodological skills and best practices for software development, systematically useful for all software development projects and systematically implemented by IT-related companies.
The other three teaching units are relatively independent.
Computer science