Skip to content

T-414-ÁFLV: A Competitive Programming Course

I held a course about Competitive Programming at Reykjavik University on the fall semester of 2014. It was three-week long with a fresh lecture and problem set each day. There were almost 90 students registered and it turned out to be a big success, although some students complained about heavy workload. For me it was a very rewarding experience.

Below you may find the lecture slides (including LaTeX sources), the problem sets, and other supporting material. All problems are available on the Open Kattis online judge.

Note: The course material is now accessible on Github. Contributions are welcome.
Lecture 1: Introduction
Lecture 2: Data structures and libraries
Lecture 3: Data structures
Lecture 4: Problem solving paradigms
Lecture 5: Greedy algorithms
Problem session 1
Lecture 6: Dynamic programming
Lecture 7: Mathematics
Lecture 8: Unweighted graphs
Lecture 9: Graphs
Lecture 10: Network flow
Problem session 2
Lecture 11: Strings
Lecture 12: Geometry
Final exam

CC BY 4.0 This work is licensed under a Creative Commons Attribution 4.0 International License.

Published inCompetitive Programming


  1. Mohammad Yasser Mohammad Yasser

    Great work. Thanks!

  2. Joaquin Joaquin

    Great Job Guys!. It’s really useful for beginners like me :).

  3. Muhammad Attia Muhammad Attia

    Awesome course .


    Great job, there is just a typo in the lecture on Data structures and lib (lecture 2). Slide 32, you added an edge connecting a vetrex to itself. “adj[2].push_back(2);” . Tiny problem, but worth fixing.
    p.s. this is a 10 minute email account.

  5. Zabir Al Nazi Nabil Zabir Al Nazi Nabil

    Great materials you got there , Thanks

  6. Sandip Kumar Sandip Kumar

    Great collection sir!!!

Leave a Reply

Your email address will not be published. Required fields are marked *