TDDD95 · 6 credits · Advanced level (A1F) · Datateknik, Datavetenskap
Algorithmic Problem Solving
Active · next start VT 2027
100%
passed the latest regular sitting
UPG1 · 17 Jun 2026 · 26 students
100%
passed the regular sittings, all sittings over the last 5 years
UPG1 · 218 students
This module only reports passing results, so the pass rate does not show how many did not pass.
Part of 8 programmes
- Master of Science in Applied Physics and Electrical Engineering - International
- Master of Science in Applied Physics and Electrical Engineering
- Master of Science in Computer Science and Engineering
- Master of Science in Information Technology
- Master of Science in Computer Science and Software Engineering
- Master of Science in Engineering Mathematics
- Master's Programme in Data Science and Information Engineering
- Master's Programme in Computer Science
Hand-in or lab
UPG1 Assignments
- 5
- 4
- 3
Main rounds
100% passed · 218 students
- 100%26
- 100%45
- 100%66
- 100%34
- 100%47
Later rounds
No sittings with at least 5 students.
- Get 4 or 5: 29% (218 students)
Show small sittings (42)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 100%1
- 100%4
- 100%1
- 100%3
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%3
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%2
- 100%1
- 100%2
- 100%3
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%4
- 100%1
- 100%1
- 100%1
- 100%1
Other modules
Partial exams, hand-ins and labs. They are not part of the figures at the top.
Hand-in or lab
LAB1 Laboratory work
- 5
- 4
- 3
Main rounds
100% passed · 147 students
- 100%18
- 100%22
- 100%50
- 100%19
- 100%38
Later rounds
100% passed · 10 students
- 100%5
- 100%5
- Pass a later round: 100% (10 students), compared with 100% (147 students) on the ordinary exam
- Get 4 or 5: 29% (157 students)
Show small sittings (67)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 100%3
- 100%3
- 100%1
- 100%3
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%2
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%3
- 100%1
- 100%1
- 100%1
- 100%2
- 100%1
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%3
- 100%1
- 100%2
- 100%1
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%1
- 100%2
- 100%4
- 100%1
- 100%1
- 100%1
- 100%3
- 100%1
- 100%1
- 100%2
- 100%1
- 100%1
- 100%1
- 100%1
- 100%2
- 100%1
- 100%1
- 100%1
- 100%3
- 100%1
- 100%1
About the course
Aim
- Analyze the efficiency of different approaches to solving a problem to determine which approaches will be reasonably efficient in a given situation.
- Compare different problems in terms of their difficulty.
- Use algorithm design techniques such as greedy algorithms, dynamic programming, divide and conquer, and combinatorial search to construct algorithms to solve given problems.
- Strategies for testing and debugging algorithms and data structures.
- Quickly and correctly implement a given specification of an algorithm or data structure.
- Communicate and cooperate with other students during problem solving in groups.
Content
Successful problem solving in computer science requires a solid theoretical foundation as well as ability to apply the theory to practical problem solving. The aim of this course is to develop your ability to solve complex algorithmic problems by applying knowledge of algorithms, data structures, and complexity theory. As a professional software developer it is essential to be able to analyze a problem, chose or design an algorithm, judge the efficiency of proposed algorithms, and to implement and test them quickly and correctly. In this course you will practice this by solving a large number of homework assignments and working under time constraints during problem solving sessions. The course will also contain a competitive element where individuals and teams should solve algorithmic problems with time and resource constraints.
The purpose is that the students should be able to use programming and algorithms as an effective tool for problem solving, and should get opportunity to apply theoretical knowledge from other courses to solve practical problems.
- Examiner
- Fredrik Heintz
- Scheduled hours
- 48 h
- Main field of study
- Datateknik, Datavetenskap