Programming with C/C++ 2: Algorithms, Data Structures and Design Patterns

5 credits

Syllabus, Bachelor's level, 5SD803

A revised version of the syllabus is available.
Education cycle
First cycle
Main field(s) of study and in-depth level
Computer Science G1N
Grading system
Fail (U), Pass (G), Pass with distinction (VG)
Finalised by
The Department Board, 10 February 2021
Responsible department
Department of Game Design

General provisions

The course is part of the Bachelor's Programme in Game Design and Programming, 180 credits.

Entry requirements

General entry requirements and Mathematics 3c or Mathematics D

Learning outcomes

Upon completing the course, students will be able to:

  • explain time complexity (Big O),
  • analyse performance in algorithms and data structures,
  • use and implement basic algorithms and data structures,
  • understand the consequences of the choice of algorithms and data structures, and will also
  • know about frequently occurring design patterns in program construction.


The course covers the fundamentals of implementation and data structures such as linked lists, stacks, queues, hash tables and trees as well as sorting and search algorithms. The course also takes up frequently occurring design patterns, for example, flyweight, observer, permit, abstract factory or visitor.


Lectures, teacher-led exercises and laboratory work with compulsory hand-in assignments.


Examination is based on assignments handed in during the course.

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the University´s disability coordinator.

Uppsala University does not accept cheating or plagiarism. Suspected incidents of cheating or plagiarism are reported to the Vice-Chancellor, which may issue a formal warning to the student or suspend the student from studies for a certain period.

NB: Only a completed course may be counted towards a degree.