Official course description, subject to change:

Basic info last published 15/03-24
Course info
Language:
English
ECTS points:
7.5
Course code:
KSAPINS1KU
Participants max:
45
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Software Design
Staff
Course manager
Associate Professor
Course semester
Semester
EfterÄr 2024
Start
26 August 2024
End
24 January 2025
Exam
Abstract
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 projects enable you to personalize the course to match your unique background.
Description

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 isolation. Finally, you learn how to design a user experience such that users can conform to security requirements.

The projects in this course give you the opportunity to immerse yourself in your choice of the many disciplines that underpin computer security, including social sciences, computer systems, programming languages, and mathematics. 

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: 

  1. Be able to design, implement, and test, medium-sized programs in Java, C# or other mainstream programming language.
  2. Have implemented at least two medium-size programming projects.
  3. Know basic algorithms and data structures.
  4. Know basic discrete mathematics.

Third-semester K-SD students fulfill these requirements. These requirements can be satisfied by taking a course on Introductory Programming, Discrete Mathematics, Algorithms and Data Structures, and another course that has a programming project in it.

Finally, you must meet the admission requirements of ITU.

Intended learning outcomes

After the course, the student should be able to:

  • Describe, relate, and discuss basic security principles.
  • Identify and describe access control techniques.
  • Identify, describe, and evaluate design approaches meeting specific security requirements
  • Illustrate, analyse, and evaluate security standards.
  • Identify and describe the proper use of cryptography in security.
  • Describe and compare the most common cyberattack practices.
  • Analyse an IT-system for security risks and reflect on potential improvements of the system.
Ordinary exam
Exam type:
B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.