Courses for competitive programming

1. algo.is is a competitive programming course taught by Bjarki Ágúst Guðmundsson also known as SuprDewd (via Codeforces) and Tómas Ken Magnússon. The used programming language is C++. The website includes an online judge. The material is also available on GitHub.

2. Brabble is an introductory course on competitive programming taught by Paul Grigoras. The used language is Java.

3. CS 97SI is an introductory course on competitive programming taught by Jaehyun Park.

4. Competitive programming taught by Steven Halim. The first edition of his book can be downloaded for free.

5. CSE 232: Programming Skills Workshop taught by Brett Olsen.

6. CSE 390 B, ACM Programming Contest Prep by Marty Stepp.

7. The Art of Programming Contest is a book (pdf here) written by Ahmed Shamsul Arefin.



Notes for competitive programming

1. Codility lessons

2. Tutorials on Topcoder

3. Getting started with the sport of competitive programming – Notes by Triveni Mahatha. A copy of this document can be found here.

4. Stanford University ACM Team Notebook (2013-14) contains C++ implementations for several algorithms.

5. Alex’s Anthology of Algorithms: Common Code for Contests in Concise C++ written by Alex Li.

6. The Hitchhiker’s Guide to the Programming Contests is a pdf document that contains several implementations of algorithms in C++.

7. Notes for the Cornell ACM ICPC Team written by Igor Naverniouk and Frank Chu.

8. Seoul National University rand().teamnote – Notes by Heon Young Yeom et al. containing C++ implementations for several algorithms.