TDT4237 - Software Security and Data Privacy


Examination arrangement

Examination arrangement: Portfolio Assessment
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Off Campus Examination 50/100 4 hours
Work 50/100

Course content

The course will go through all the phases in the secure software development lifecycle (requirements, design, implementation, and testing) focusing on how to incorporate security in each phase and what techniques to use. The main focus is on web-based applications and mobile apps. The course will also cover basic knowledge related to data privacy, such as GDPR.

Learning outcome

After having taken this course, students should be able to: 1) Identify typical security vulnerabilities of web applications listed in OWASP top 10 by reviewing the source code and by penetration testing. Students should also be able to fix the identified vulnerabilities; 2) Explain typical cryptography concepts and algorithms that are related to web application, including e.g. block cipher, stream cipher, digital signature, and SSL/TSL handshaking procedure; 3) Apply the threat modeling methods to create threat models of a medium-sized web application; 4) Describe and compare software engineering practices and standards related to software security; 5) Create software security test cases and prioritizing the test cases by applying the risk-based testing framework; 6) Explain key authentication and authorization concepts and methods, such as different authentication methods, multilevel and multilateral security control, and role-based access control; 7) Explain, identify, and apply security mechanisms implemented in iOS and Android mobile application platforms; 8) Explain and apply principles of GDPR and data privacy.

Learning methods and activities

Lectures, exercise lectures and mandatory exercises. The exercises are obligatory. To pass the class, the students have to pass both the exercises and the final exam. The exercise grade in one semester will be valid for later exams.

Further on evaluation

The portfolio includes a final written exam (50%) and exercises (50%). The results for the parts are given in %-scores, while the entire portfolio is assigned a letter grade. The text for the written final exam will be in English. The candidates may choose to write their answers in either English or Norwegian. If there is a re-sit examination, the examination form may change from written to oral. In the case that the student receives an F/Fail as a final grade after both ordinary and re-sit exam, then the student must retake the course in its entirety. Submitted work that counts towards the final grade will also have to be retaken.

Course materials

To be announced at the beginning of the semester.

Credit reductions

Course code Reduction From To
IIKG3000 2.5 AUTUMN 2021

Version: 1
Credits:  7.5 SP
Study level: Second degree level


Term no.: 1
Teaching semester:  SPRING 2022

Language of instruction: English

Location: Trondheim

Subject area(s)
  • Computer and Information Science
  • Communication and Information Science
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


Examination arrangement: Portfolio Assessment

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Spring ORD Off Campus Examination (1) 50/100





Room Building Number of candidates
Spring ORD Work 50/100



Room Building Number of candidates
Summer UTS Off Campus Examination 50/100 INSPERA
Room Building Number of candidates
Summer UTS Work 50/100 INSPERA
Room Building Number of candidates
  • * 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.
  • 1) Merk at eksamensform er endret som et smittevernstiltak i den pågående koronasituasjonen.

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

More on examinations at NTNU