Welcome to the course
As stated in the course description this is a course to give you the basic understanding of algorithms and data structures. During the course you will do a lot of programming, partly to learn the algorithms but also see that in practice it does make a difference which algorithms that you use.
The course will use almost the same syllabus as last year and consist of a set of hand in assignments. Each assignment should be presented in the form of a well written short report. There is no exam in the end of the course but all reports have a deadline.
Work in progress
I'm updating the assignments so don't start before the course start and not earlier than a week before we cover the topic in class.
The assignments
There are nine assignments that should be handed in (before the dead line) and approved to pass the course (grade E, otherwise an F is given). Apart from these nine assignments there are four assignments for higher grade. The first one for D, if you also do the second a C etc. An assignment is graded with either 0 (failed), 1 (fix it) or 2 (approved). If you get a 1 then the report should be fixed and handed in again no later than the following week. The assignments will be available as the course progress, normally the week before it due date.
Report should be written in LaTeX and have a length of four pages. The reports should be well written and describe how you solved the problem, which problems you had and which conclusions that can be drawn from the experiments. For some assignments I will ask you to write a turorial that explains the algorithm of the assignment. All reports should be written with the intended reader being a student that has not done the assignment i.e. short description of the problem etc.
When you hand in you report in time you will be given two other report to read through. Take the opportunity to see how other students have solved the assignment and how they present it - is it easy to follow, did they come to the same conclusion, how does you report stack up?
This year you will have the choice of implementing the algorithms in Java or in C. In most of the lectures I will give examples in Java but we will also have set of sessions where we look at how to solve it in C. Do take the opportunity to improve you skills in C, next year C will be the only choice and I will look for teaching assistans that can help in the course.
Quizzes
In addition to the hand in assignments there will be a small quiz each week that is related to the topic of the week. Each quiz will be available by the beginning of the week and the deadline is most often Saturday. The quizzes should all be completed and approved by the deadline to pass the course.
Lectures
The lectures will follow the assignments and describe the algorithms used. You should take a look at the assignments before the week starts so that you can take advantage of the lectures in solving the assignment.
Contact
The best way is if you use the Discussion board here in Canvas, You can of course pose questions during or after the lectures. If you have personal questions you can email me at johanmon@kth.se - note, I will not answer any general questions over email, use the discussion board.