Official course description:

Full info last published 31/08-23
Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price for EU/EEA citizens (Single Subject):
10625 DKK
MSc. Master
MSc in Software Design
Course manager
Associate Professor
Course semester
Forår 2023
Summer 2023
10 July 2023
25 August 2023
Exam type
ekstern censur
Grade Scale
bestået/ikke bestået
Exam Language

This is a hands-on course that teaches the basic principles of computer security. You will get in-depth experience with cyberattacks, and how to prevent them. The course activities enable you to personalize the course to match your unique background.


In this course, you learn how to determine security requirements, and how to identify risks to these requirements. You get hands-on experience with concrete cyberattacks that realize these risks. You learn how to audit a system to determine that an attack has taken place. Most importantly, you get experience with many methods and tools that prevent cyberattacks, including cryptography, authentication, authorization, and hardening. Finally, you learn how to design a user experience such that users can conform to security requirements.

Computer security touches on all areas of computer science. By taking this course, you will therefore gain a better understanding of how computers work. Furthermore, computer security is interdisciplinary by nature. You will get the opportunity to immerse yourself in your choice of the many disciplines that underpin computer security, including computer systems, programming languages, mathematics, and social sciences.

This course provides a window into the activities of security analysts, penetration testers, forensic analysts, security architects, and security engineers. This course can thus function as a starting point for pursuing such careers.

Ultimately, the goal is to enable you to make appropriate security-related decisions. The course does so by teaching you how to think clearly about security, by focusing on basic principles.
Formal prerequisites

Before taking this course you must: 

  • Be able to design, implement, and test, medium-sized programs in a mainstream programming language, like Java, C#, Python, or JavaScript.
  • Be able to apply basic algorithms and data structures to solve problems.
  • Be able to apply basic logic and mathematical reasoning on discrete mathematical structures, such as sets, relations, functions, (discrete) probability, and combinatorics.

These requirements can be satisfied by taking a course on Introductory Programming, Discrete Mathematics, and Algorithms and Data Structures (the last of which can be taken in parallel with this course). In particular, 2nd semester SD students at ITU can take this course.

Intended learning outcomes

After the course, the student should be able to:

  • Determine security requirements for a system, and analyze a system for security risks
  • Identify, list, and explain standard cyberattacks on systems
  • Identify, list, and discuss major principles of computer security.
  • Identify, list, and explain Lampson’s “gold standard” mechanisms for computer security (authentication, authorization, audit).
  • Identify, explain, and apply isolation in computer security.
  • Identify, explain, and apply cryptography in computer security.
  • Describe basic computer forensics techniques.
  • Design and discuss usability in computer security.
Learning activities

Lectures and exercise sessions.

The lectures present the background, theory, and methods needed for achieving the intended learning outcomes, thus facilitating reflection and discussion. The exercise sessions are a mix of problem solving, group work, student presentations, debates, and peer-to-peer feedback, intended to foster active learning.

Mandatory activities


The assignments provide hands-on experience with information security, oriented towards industry practice.

There are 6 assignments. To qualify for the exam, each of your assignments must be approved. If an assignment is not approved, you will be allowed to re-submit one week after the first deadline.

Deadlines are evenly distributed over the semester.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

There is no coursebook for this course. Instead, the syllabus consists of scientific papers, as well as book chapters which are either freely available online or freely provided to you by us.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 30%
  • Lectures: 15%
  • Exercises: 15%
  • Assignments: 20%
  • Exam with preparation: 20%

Exam type:
C: Submission of written work, External (Pass / Fail)
Exam variation:
C11: Submission of written work
Exam submission description:
The submission is your solution to a list of exam questions, together with a term paper on a course-relevant topic. This topic can be tailored to match your unique background. The submission is written, and individual. You will have 5 days to complete your submission.

Time and date
Ordinary Exam - submission Fri, 11 Aug 2023, 08:00 - 14:00