Software Security

Undergraduate course

Course description

Objectives and Content

The course gives an overview of security issues for software, and provides programming methods for the development of secure applications.

The main focus of the course are programming techniques for the development of safe and secure applications.

Learning Outcomes

On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:

The student

  • understands security issues relating to system development,
  • knows software development techniques to avoid security problems,
  • can explain the most common weaknesses in software security and how such problems can be mitigated in software,
  • can identify common security threats, risks, and attack vectors for software systems, and
  • knows best practices to defend software systems.


The student

  • can use tools to discover security problems in software,
  • masters, theoretically and practically, programming techniques to develop secure, safe, reliable, and robust systems, and
  • can assess the security of given source code or application.


General competence
The student

  • has insight into relevant academic and professional ethical issues,
  • can plan and carry out varied assignments and projects for secure software,
  • can develop critical thinking about secure software,
  • can communicate extensive independent work and masters language and terminology of the academic field, both in writing and orally, as well as using other relevant forms of communication, and
  • can exchange opinions with other professionals and participate in developing best practices for secure software.

ECTS Credits


Level of Study


Semester of Instruction

Required Previous Knowledge
For incoming exchange students: At least 60 ECTS in Computer Science and at least 10 ECTS in mathematics
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods
During the whole semester: two double lectures and one workshop per week.
Compulsory Assignments and Attendance
Compulsory assignments. The assignments are valid two semesters: the semester when they are approved and the succeeding semester.
Forms of Assessment
3 hours written exam. Compulsory exercises may count towards the final grade.  If convenient, the examination will be oral.
Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester
Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.
Reading List
The reading list will be available within July 1st for the autumn semester and December 1st for the spring semester.
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Examination Support Material
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact Student adviser
Course Administrator
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.