Hide menu

TDDD95 Algorithmic Problem Solving



The course is graded on a scale 3-5, and the course grade depends on your grade for the LAB1 and UPG1 parts. The labs and exercises should be solved individually. You are welcome to discuss the problems with other students, but your implementation should be individual.


To pass the LAB1 part of the course, you must fulfill the following requirements:

  1. Accumulate a sufficient number of LAB1 points. This also determines your LAB1 grade.

You accumulate points in LAB1 by solving labs and participating in problem solving sessions. Each problem you or your group solves in a problem solving session gives you 2 points, but you may only use the result from your two best individual sessions. Additionally, you obtain 1-2 point for solving each task from the lab assignments. The maximum possible number of points is therefore 8 (lab 1) + 3*9 (labs 2-4) + 12*2 (sessions) = 59. Your LAB1 grade is a function of your total points.

PointsGrade LAB1
We use Webreg to track your progress for labs and sessions.


To pass the UPG1 part of the course, you must fulfill the following requirements:

  1. Solve at least one problem from each of the 13 exercise sets, before or after the corresponding deadline.
  2. Accumulate a sufficient number of UPG1 points. This also determines your UPG1 grade.

The problems come in three difficulty classes: A, B, and C. You are awarded 1 point in the corresponding difficulty class for each problem you solve before its deadline, and 0.5 points if you solve it after the deadline. The table below specifies how many points you must accumulate for the different UPG1 grades.

You may of course replace easier problems with harder problems. For example, if you have 6 A points and 7 B points, you have 13 points at difficulty A or above, but not an additional 7 points at difficulty B or above. You would therefore get grade 3.

The exercises aren't tracked in Webreg. Instead, your total points will be calculated at the end of the course. If you want to check your current status, the easiest way is to calculate your points from your course summary, which you can access by going to your Kattis profile and pressing the course link. Alternatively, you can send an email to the course assistant.

Course grade

To pass the course, you must obtain at least grade 3 in both LAB1 and UPG1. Your full course grade is then determined as (LAB1 grade + UPG1 grade) / 2.



There are no "hard" deadlines in this course; you may continue making submissions during the summer/autumn and still get full credits for labs and half credits for exercises. However, only new labs submitted before May 29 and complementary work and exercises submitted before June 5 will be included when we report your results at the end of the semester. If you want to keep improving your result after this point, you should contact Leif (see contact page) once you believe you have done everything you need to pass the course or improve your grade.

Rules for examination of computer lab assignments at IDA

You are expected to do lab assignments in group or individually, as instructed for a course. However, examination is always based on individual performance.

It is not allowed to hand in solutions copied from other students, or from elsewhere, even if you make changes to the solutions. If there is suspicion of such, or any other form of cheating, teachers are obliged to report it to the University Disciplinary Board.

Be prepared to answer questions about details in specific code and its connection to theory. You may also be asked to explain why you have chosen a specific solution. This applies to all group members.

If you foresee problems meeting a deadline, contact your teacher. You can then get some help and maybe the deadline can be set to a later date. It is always better to discuss problems, instead of, e.g., to cheat.

Any kind of academic dishonesty, such as cheating (e.g., plagiarism, use of unauthorized assistance, and use of prohibited AI-based assistants) and failure to comply with university examination rules, may result in the filing of a complaint to the University Disciplinary Board. The potential penalties include suspension, warning.

Policy for handing in computer lab assignments at IDA

For all IDA courses having computer lab assignments there will be one deadline during or at the end of the course. If you fail to make the deadline, you must retake the, possibly new, lab course the next time the course is given.

If a course deviates from this policy, information will be given on the course web pages.

Page responsible: Fredrik Heintz
Last updated: 2024-01-05