TIN093/DIT602, Period 1, 2019: Algorithms



Email: add "(at)chalmers.se", unless said otherwise.


Exam Aids

Dictionary, printouts of the provided Lecture Notes, with annotations on them (added comments, highlighting, etc.), and an additional A4 paper (both sides) with notes (handwritten or printed).

To avoid a lot of unnecessary inquiries: Exam aids may vary from year to year. Only the aids announced here are relevant. It doesn't matter how it was in earlier exams.

And a piece of advice: The exam requires problem solving. The only meaningful use of the aids is to look up definitions and facts that you might have forgotten. But the aids cannot replace thinking about the new problems during exam time.

Some old exams with solutions will be made available.

Lecture Notes

The schedule is always preliminary, that is, the schedule of the remaining lectures may be somewhat adjusted at any time.

Lecture Notes will be available shortly after every lecture.

Numbers indicate the related book sections. (Note: Chapters have different numbers in some editions of the book. But it should be easy to recognize this and find the correct chapters by their titles.) Sections with the label "Problem" describe computational problems that will be discussed in the following lectures; the idea is that you should already become familiar with the problem beforehand.

Changed last: 11 May.


Once they are released, they will be available here at this place. See the Announcements section for the submission deadlines.

Recommended Book Exercises

Here we list some particularly recommended exercises from the book, for those who want to practice a bit more on their own. Some of them may also appear in the exercise sessions. You are also welcome to send questions about them.

Times and Places

See TimeEdit.


The course follows selected parts of the textbook
Jon Kleinberg, Eva Tardos: Algorithm Design. Pearson/Addison-Wesley 2006, ISBN 0-321-29535-8.

Brief Course Description

See also the description in the Student Portal and the kurs-pm.

The course provides basic knowledge and methods for the design and analysis of fast and correct algorithms that solve new problems with the use of computers. The intuitive notion of time complexity is applied in a strict sense. After completion of this course, you should be able to:

This is not a course in programming! The main focus is on the analytical work that has to be done before writing any line of code.

Grades are based on the points in the written exam. Point limits for the grades 3, 4, 5 and G, VG will be announced there.

Course plan Chalmers
Course plan GU


"Tell me and I forget. Show me and I remember. Let me do and I understand." (attributed to Confucius)

Computational problems in practice rarely occur in nice textbook form. We must be able to apply general algorithm design techniques to new problems, or at least adapt and adjust known algorithms to new variants of known problems. Therefore this course is problem-oriented and the exam will require problem solving, too.

Moreover, one cannot learn these skills just by listening, or by reading a lot of solutions written by others. (Compare to other skills: One cannot learn to play a musical instrument just be watching others playing. Of course, one has to practice!) It is important to invest own work and actively solve problems. The course offers possibilities for that, mainly by doing assignments.

While the assignments are voluntary, it is strongly recommended to work on them as much as you can. Then you will be in a much better position in the exam, but we also hope that you work on them because you find them interesting as such.

Exercise sessions:
The three exercise sessions within a week are identical. Choose one of the three time slots. If one session is too crowded, we may ask you to consider a later time.
In the sessions, assistants will discuss solutions to a few selected exercises, but the major part is intended to be a question hour where you can work on the assignments and get help. (However, we will not give away solutions to assignments.) This is also a place to discuss and to ask questions about the course contents in general.

Written solutions to assignments:
Most importantly, train your ability to communicate solutions in written form. Even when you have solved an exercise and the solution seems clear to you, comprehensible writing remains a challenge. Moreover, in the exam you must do it - and you want the graders to understand your solutions. We advise you to submit written solutions to the assignments, as many as you can. The deadline is always Sunday 23:59. (Of course, you may submit earlier.) All assignments shall be done individually. Discussion is encouraged, but what you submit must be written in your own words and reflect your own understanding. Submission details: see below.

Seeking more help:
Feel free to send any questions or to book consultations by mail. (You may also drop by our offices, but we may be busy or absent.)


Submission Details

We use the Fire submission system rather than the Assignments feature of Canvas.

  • Fire submission system.

    Make sure that you use only this link to Fire, not a link from an earlier year.

    First create an account in Fire. You do this only once. As all assignments are individual, you don't have to create a group in Fire.

    To create an account: Go to the submission system. Bookmark the link (you will need it again), click on "Click here to register as a student" and fill in your email address (preferably your student address). You will get a mail with a web address. Click this address, it leads you to a page where you can fill in your data: name, personal number, and a password. Spell your name correctly as "Firstname Surname" (only the most commonly used first name is needed, with big initial letters) and write your personal number as yymmdd-xxxx with the dash, i.e., the minus sign. Log on using the account you have just created.

    To submit a solution: Log on to Fire again. Upload the file(s) that make up your solution. Finally press the "submit" button. (This is easy to forget.) Fire will close exactly at the given deadlines, therefore, do not wait until the last minute.

    Solutions should be submitted as PDF files, created with a word processor or latex or by scanning handwritten sheets - provided that they are readable. Your files must contain your name. Send a separate file for each problem.

    From the grader you will receive a mail with comments. You can also download the comments from Fire. Special remark: By default you will always get "fail"; this has only technical reasons (possibility to resubmit an improved solution) and does not mean anything. Only the comments are of interest.