Official course description:
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 isolation. Finally, you learn how to design a user experience such that users can conform to security requirements.
The activities 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.
Before taking this course you must:
- Be able to design, implement, and test, medium-sized programs in Java, C# or other mainstream programming language.
- 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.
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.
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.
The assignments provide hands-on experience with information security, oriented towards industry practice.
There are 6 assignments. The assignments are graded on a scale from 0 to 100.
Some of the assignments will involve peer-grading, in which case participating in the peer-grading activity is required to score on the assignment.
Deadlines are evenly distributed over the semester.
To qualify for the exam, your average grade for the assignments must be at least 50%. If this criteria is not met, then the student will receive the grade NA (not approved) at the ordinary exam, 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.
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 BudgetEstimated distribution of learning activities for the typical student
- Preparation for lectures and exercises: 30%
- Lectures: 15%
- Exercises: 15%
- Assignments: 20%
- Exam with preparation: 20%
Ordinary examExam type:
C: Submission of written work, external (7-trinsskala)
C: Submission of written work
The submission is your solution to a problem, that we provide to you, after the last lecture. You will have 72 hours to submit your solution to this problem.