Announcements

We have no exercise sessions in the first course week. They start on
Monday 5 September.

Deviations from schedule:
Wednesday 31 August: no exercise session after the first lecture.
Monday 5 September: lecture in room SB-H2.
Monday 12 September: lecture in room SB-H2.
Wednesday 19 October: This exercise session is the only scheduled time in the
last course week.

Details about the exercises are preliminary. They may change before the
course begins.

Lecture Notes and Hand-in Exercises

Numbers indicate the related book sections.
Just in case: The Problems mentioned in the lecture notes are the definitions
of the algorithmic problems to be treated in the following lectures. Do not
confuse them with the Exercises.

Times and Places

All three exercise sessions in a week deal in principle with the same
problems. That means: Choose only one of the time slots. To ensure
balanced group sizes we provide lists where you can sign up.

Literature

The course material consists of parts of the textbook
Jon Kleinberg, Eva Tardos: Algorithm Design.
Pearson/Addison-Wesley 2006, ISBN 0-321-29535-8.
It should be available at Cremona.

Brief Course Description

(See also the syllabus.)

The course provide basic knowledge and methods for the design and analysis of
fast and well-founded (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:

describe algorithms in writing, prove that (and explain why) they are
correct and fast,

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, if one wants to solve a
new problem with the help of computers.

Grades are based on the points in the written exam. Point limits for
grades 3, 4, 5 and G, VG will be announded. During the course you also have to
hand in a compulsory assignment.

Exercises

"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 techniques to new problem, or adapt and adjust known
algorithms to new variants of known problems. Therefore this course is
problem-oriented. Also the exam will require problem solving.

Moreover, one cannot learn these skills just by listening and reading. It is
important to invest own work and actively solve problems. The course
offers possibilities for that:

There is a compulsory hand-in exercise about central course topics,
in the middle of the period.

Weekly hand-in exercises: These are voluntary, but it is strongly
recommended to work on these problems 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: They have different purposes. The plan is to
discuss and solve selected book exercises, In addition to that, you have the
opportunity to ask questions about the current hand-in exercises (but we will
not give away solutions). Book exercises will be announced beforehand, and we
suppose that you have already studied them and made a serious effort to solve
some, before you come to the sessions.

Written solutions: Most importantly, train your ability to explain
solutions in written form. Comprehensible writing is not trivial, and 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 weekly
exercises. The deadline is always Thursday 23:59 All exercises in
this course 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.

No sample solutions! Although this is a frequent request, we will
not provide printed solutions to the weekly exercises, because this is
against the idea of practicing. As said above, only your own activity has an
effect: Work on the exercises, hand in, and you will get feedback that guides
you further. Just reading k solutions produced by others would not give you the
skills to solve problem k+1.

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
away, therefore it is advisable to make appointments by mail.

Submission Details

As all exercises are individual, you don't have to create a group in Fire.

To create an account: Go to the submission system. Use only the
link on the course homepage. Bookmark it (you will need it again), click on
"Click here to register as a student" and fill in your email address,
preferably the Chalmers address. You will get a mail with a web address. Click
the address, it leads you to a page where you can fill in your data: name,
personal security 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 just created.

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

Solutions should be submitted as one PDF file (also if you submit several
exercises of the week), created with a word processor or latex or by scanning
handwritten sheets - provided that they are readable. Your file must contain
your name.

From the grader you will receive a mail with comments. You can also download
the comments from Fire. Note that we will always give "fail" on each
exercise, in order to enable possible resubmissions of corrected or improved
solutions. Do not get confused, this "fail" has only technical reasons and does
not mean anything.