Skip to content

Material for the MSc elective "DevOps, Software Evolution and Software Maintenance" at IT University of Copenhagen

License

Notifications You must be signed in to change notification settings

itu-devops/MSc_lecture_notes

 
 

Repository files navigation

License: CC BY-NC-SA 4.0

image

DevOps, Software Evolution and Software Maintenance (MSc)

Content

This page contains information on the schedule, material, exam, etc. for the MSc elective "DevOps, Software Evolution and Software Maintenance Content" at IT University of Copenhagen, spring 2026 (Course description on LearnIT).

Schedule

Lectures are on Fridays from 12:00 to 14:00 in Auditorium 2 (0A35) and exercises are on Fridays from 14:00 to 16:00 in rooms 3A12-14.

OBS: We expect you to be present during the entire time, not only the lecture hours.

Table 1. Course schedule Note: While times are locked, the topics are subject to change.
# Date Time Lecturer Preparation Topic Exercises Project Work

1

30/1

12:00 - 16:00

Helge

Prep. material

Project start, forming groups, SSH, SCP, and Bash

Refactor ITU-MiniTwit to work on modern system

2

6/2

12:00 - 16:00

Helge

Prep. material

Packaging applications, Containerization with Docker

Using Docker

Refactor ITU-MiniTwit in another programming language and tech. stack

3

13/2

12:00 - 16:00

Helge

Prep. material

Provision of local and remote virtual machines

Using Vagrant, VirtualBox, and DigitalOcean

Continue refactoring, deployment of your ITU-MiniTwit to a remote server.

4

20/2

12:00 - 16:00

Helge

Prep. material

Guest Lecture: What is DevOps? (Eficode); Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment

Using GitHub Actions CI (Simulator test)

Continue refactoring, Setup CI & CD for reproducible builds, tests, delivery, and deployment

5

27/2

12:00 - 16:00

Helge

Prep. material

What is DevOps and configuration management

(Simulator starts)

Cleaning and polishing of your ITU-MiniTwit, introduction of DB abstraction layer, and entering maintenance

6

6/3

12:00 - 16:00

Helge

Prep. material

Monitoring

Using Prometheus and Grafana

Add monitoring to your ITU-MiniTwit and peer-review

7

13/3

12:00 - 16:00

Helge

Prep. material

Software Quality, Maintainability & Technical Debt

Understand tests and SonarQube Quality Model.

Enhancing CI/CD setup with test suite and static code analysis

8

20/3

12:00 - 16:00

Mircea

Prep. material

Logging, and Log Analysis

A Basic EFK Stack

Add logging to your ITU-MiniTwit and UI Testing Each Others Systems

9

27/3

12:00 - 16:00

Mircea

Prep. material

Availability

A Basic Swarm

Isolate components into services/containers/VMs

3/4

-

-

-

Easter Break

-

Operations & maintenance still reacting on issue reports and fixing of errors :)

10

10/4

12:00 - 16:00

Mircea

-

TLS Tutorial

Continue isolation of components into services/containers/VMs and Fix reported problems

11

17/4

12:00 - 16:00

Mircea

Security

Pentesting

Security Hardening

12

24/4

12:00 - 16:00

Mircea

Infrastructure as Code

MiniTwit Infrastructure as Code

Encode your infrastructure setup

13

1/5

12:00 - 16:00

Helge

Guest Lecture: DevOps@NetCompany by Tarik, Documentation of Systems and Projects

Simulator stops. Write report.

14

8/5

12:00 - 16:00

Helge

Exam prep., Thesis topics, Evaluation, Cookies :)

Write report.

  • Exam submission: Latest Friday 18/5/2026 14:00 via WISEflow

  • Exam period: 1/6/2026 to 4/6/2026

TA Supervision

TBA

Dashboards

Activity Dashboard

Simulator Status Dashboard

Recordings

This is not a distance course. This term, we will not record the lectures. You will have access to all written lecture material through this repository though.

Recommendation

All examples in class target Pop!_OS 22.04. Essentially, this is an Ubuntu 22.04 (Jammy Jellyfish) Linux distribution. There are many more such Ubuntu derivatives, choose one of your liking: Linux Mint, Elementary OS, KDE Neon, etc.

Since all sessions contain hands-on exercises, we recommend that you have such a Linux version installed on a computer. (In case you decide to run another operating system, we cannot provide too much support for these during class.) The recommended setup is to have such a Linux installed natively on your machine.

Find installation instructions session_00/README.adoc.

Team

  • Teachers: Helge, Mircea

  • TAs: David, Patrick, Rasmus

Communication

Outside teaching sessions you can communicate with each other, and with the teachers via the the course’s Teams channel.

Groups

TBA

Ungrouped yet

TBA

Exam Schedule

TBA

Re-exam Schedule

TBA

Attributions

Organization icon made by Freepik from www.flaticon.com

About

Material for the MSc elective "DevOps, Software Evolution and Software Maintenance" at IT University of Copenhagen

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%