Course Syllabus

For information about the course, see Course Overview. To submit the source code of a problem that was accepted by the Kattis judge, find the problem in the Assignments. Make sure you are familiar with our policy on Collaboration and Cheating.

There is no textbook in this course. However, for those who prefer to learn by reading a book, we recommend Programming Challenges by Steven S. Skiena and Miguel A. Revilla ISBN 978-0-387-00163-0.

In general, there is one set of tasks for each lecture. The tasks are typically due four weeks after the lecture on the topic is given. The problems are due at 23:59 the day of the due date. Failure to meet even a single deadline will fail the course.

Set Topic Lecture Required Due date
01 Testing the system Jan 16 3 / 5 Feb 11
02 Graph exploration Jan 23 2 / 4 Feb 18
03 Sliding, searching and sorting Jan 30 2 / 4 Feb 25
04 Dynamic programming 1 Feb 6 2 / 4 Mar 4
05 Graph algorithms Feb 13 2 / 4 Mar 18
06 Segment trees Feb 27 2 / 4 Apr 8
07 Geometry 1 Mar 6 2 / 4 Apr 15
08 Exponential time algorithms Mar 13 2 / 4 Apr 22
09 Dynamic programming 2 Apr 3 2 / 4 Apr 29
10 Flows and bipartite matchings Apr 10 2 / 4 May 20
11 Geometry 2 Apr 24 2 / 4 May 20
12 String algorithms May 4 2 / 6 May 20
13 Number theory May 8 2 / 4 May 20

 

To pass the course, it is compulsory to participate in at least two programming contests hosted locally at UiB. The eligible contests are:

Date and time Contest Registration
Feb 20, 14:15-18:30 INF 237 Contest 1 just show up
Mar 1, 18:00-23:00 Google Hash Code register now
Mar 20, 14:15-18:30 INF 237 Contest 2 just show up
April 14, 10:00-17:00 IDI Open 2018 register now

More information about the eligible programming contests is found at contest.ii.uib.no

Course Summary:

Date Details