Programming Paradigms


Content, progress and pedagogy of the module

Learning objectives


The student should gain knowledge of the important concepts and terminology of programming paradigms. Furthermore, the student must gain a deeper understanding of one or more paradigms in relation to the prerequisites described. Specifically, the student should gain knowledge of at least the following:     

  • advanced function oriented programming, including referential transparency, evaluation order, closures, higher order functions, continuations and type systems for feature programming including parametric polymorphism.
  • programming in languages ​​with dynamic types
  • programming techniques within one or more of the four main paradigms: the function-oriented, the imperative, the object-oriented and the logical programming paradigm


  • apply concepts and terminology important to the paradigm in question to describe and reason about programs from this paradigm.
  • explain how a program within the illuminated paradigms should be executed.
  • construct programs with high paradigmatic attention.
  • assess the strengths and weaknesses of each paradigm in relation to a specific programming problem.


  • choose a suitable paradigm for a given task and argue for the choice made
  • identify concepts and constructions in a given paradigm and argue how these differ from concepts and constructions in other paradigms
  • apply paradigmatic constructions in smaller programs

Type of instruction

The type of instruction is organised in accordance with the general instruction methods of the programme, cf. § 17.

Extent and expected workload

It is expected that the student uses 30 hours per ECTS, which for this activity means 150 hours



Name of examProgramming Paradigms
Type of exam
Written or oral exam
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: The Study board for Computer Science at or 9940 8854

Facts about the module

Danish titleProgrammeringsparadigmer
Module codeDSNSWCK111
Module typeCourse
Duration1 semester
Language of instructionEnglish
Empty-place SchemeYes
Location of the lectureCampus Copenhagen
Responsible for the module


Education ownerMaster of Science (MSc) in Engineering (Software)
Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyThe Technical Faculty of IT and Design