IDATT2503 - Security in programming and cryptography


Examination arrangement

Examination arrangement: School exam
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
School exam 100/100 4 hours D

Course content

  • Relevant legislation, threat picture and actors. Introduction to system programming.
  • Common software vulnerabilities, and protection against these, for example, the use of sanitisers and fuzzy testing.
  • Ethical hacking and penetration testing, security capture the flag (CTF), reverse engineering, online privacy and anonymity.
  • Cryptography: Relevant number theory, principles of cryptography, some crypto systems (classic and modern public key systems, cryptographic hash functions), attack methods.

Learning outcome


The candidate can explain:

  • common system programming vulnerabilities
  • aids to find vulnerabilities in system programming
  • how vulnerabilities can be exploited
  • online privacy and anonymity
  • basic principles of cryptography, as well as some crypto systems and ways to attack them


The candidate can:

  • find vulnerabilities in system programming
  • exploit vulnerabilities in system programming
  • conduct penetration testing and reverse engineering

General competence:

  • The candidate can examine the security of program systems and choose appropriate measures.

Learning methods and activities

Mandatory exercises

Compulsory assignments

  • Mandatory exercises

Further on evaluation

Work requirements: All mandatory exercises must be approved to sit exam. Mandatory attendance in the lab to get approved exercises.

Deferred exam: May/June.

The written deferred exam (continuation examination) may be changed to oral exam.

Specific conditions

Admission to a programme of study is required:
Computer Science - Engineering (BIDATA)

Required previous knowledge

Linux command line, knowledge of assembly (x86/x64)

Course materials

Available at course start

Credit reductions

Course code Reduction From To
TDAT3020 7.5 AUTUMN 2021
More on the course



Version: 1
Credits:  7.5 SP
Study level: Third-year courses, level III


Term no.: 1
Teaching semester:  AUTUMN 2023

Language of instruction: English, Norwegian

Location: Trondheim

Subject area(s)
  • Engineering
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


Examination arrangement: School exam

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Autumn ORD School exam 100/100 D 2023-12-05 15:00 INSPERA
Room Building Number of candidates
SL520 Sluppenvegen 14 1
SL321 Sluppenvegen 14 1
SL311 brun sone Sluppenvegen 14 22
Spring UTS School exam 100/100 D 2024-05-13 09:00 INSPERA
Room Building Number of candidates
SL111+SL210 Sluppenvegen 14 4
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU