For exam times look at the course's schedule on TimeEdit.

Allowed aids

You can bring a fusklapp, which should be one hand-written (not photocopied) sheet of A4 paper (you can use both sides if you like). You can also bring an English dictionary if you like.


The exam will be written in English. Your solutions may be written in English or Swedish.

Exam format

There are 6 questions. Instead of points, for each question you get either a VG, a G or a U. To get a G on the exam you need a G or VG on at least three questions. To get a VG you need a VG on at least five questions.

Normally, to get a VG for a question you need to answer it 100% correctly. If you have a small mistake you may get a G for that question instead. If you make a big mistake it will be a U.

For some questions, there are extra requirements for a VG:

In questions where you are supposed to give an implementation it will be stated whether you should provide precise code or pseudo-code. In the case of precise code you will either be asked to write in Haskell, Java or to choose between these two languages. In the case of pseudo-code your solution should still be structured. It's not the same as natural language. It's just that you don't need to think about syntax details or what functions are called and the order of arguments etc. The pseudo code should be clear, easy to translate to a real program and should not conceal details that are needed to fully understand what happens or what the time complexity is. When it's stated that pseudo-code is fine you may anyway give your answer with precise code.

Old exams

Here are the recent exams:

Here are some old exams for the course. At the time of these exams the course had a different teacher, but they are still relevant for the coming exam:

Here are two old exams (in Swedish) from DAT037, a similar course, constructed by the current teacher:

DAT037 is similar to DIT960, but the covered topics is not quite the same so some questions may be irrelevant for this course.