Each module contains 3 ECTS. You choose a total of 10 modules/30 ECTS in the following module categories:
- 12-15 ECTS in technical scientific modules (TSM)
TSM modules teach profile-specific specialist skills and supplement the decentralised specialisation modules.
- 9-12 ECTS in fundamental theoretical principles modules (FTP)
FTP modules deal with theoretical fundamentals such as higher mathematics, physics, information theory, chemistry, etc. They will teach more detailed, abstract scientific knowledge and help you to bridge the gap between abstraction and application that is so important for innovation.
- 6-9 ECTS in context modules (CM)
CM modules will impart additional skills in areas such as technology management, business administration, communication, project management, patent law, contract law, etc.
In the module description (download pdf) you find the entire language information per module divided into the following categories:
This course focus on software technologies, architectures, and methodologies for development of cloud-native applications.
Programming skills in Java
Ground software engineering skills (in particular design pattern, concurrent programming and application development for the web)
This course provides detailed skills on contemporary software solutions that allow developing cloud-native applications. The course will introduce and deepen the recent evolution of technologies, architectures and methodologies for microservice-based systems, by taking advantage of a DevOps approach.
The course goal is the consolidation of required advanced technical skills for modern software development in the cloud, with particular care on the role played by the recent innovations.
The course will be proposed as a combination of lectures and exercises, including practical demonstrations and laboratory development. Readings will be assigned to students as complementary deepening material.
Contents of Module
The student will be provided knowledge about modern development methodologies, frameworks and tools, including:
- Introduction to cloud computing technologies (IaaS, PaaS, SaaS and other fundamentals)
- Tools and methodologies for DevOps and CI/CD
- Container technologies (Docker)
- Infrastructures for container orchestration (Kubernetes)
- Frameworks for REST APIs development (Spring Boot)
- Software architectures and design patterns for microservices
- Protocols and technologies for message queuing (AMQP) and for inter-process communication (gRPC)
- Serverless computing technologies (FaaS and lambdas)
- GraphQL (with Spring Boot)
- Techniques for infrastructure as a code (Terraform)
- Service mesh technologies (Istio, Linkerd)
- Tools and frameworks for monitoring and logging (Prometheus, Fluentd)
- Storage orchestrators for kubernetes (Etcd, Rook)
- Tools and frameworks for testing: unit, integration, component, contract, end-to-end
Teaching and Learning Methods
Frontal theoretical lessons, demonstrations, examples, exercises