|
|
Books
Antti Laaksonen: Guide to Competitive Programming: Learning and Improving Algorithms Through Contests
- PDF of the book is available from Springer Link from Purdue IP addresses.
- A free earlier version of the book titled "Competitive Programmer's Handbook" Author's Site
Johan Sannemo: Principles of Algorithmic Problem Solving
Steven S Skiena and Miguel A. Revilla: Programming Challenges: The Programming Contest Training Manual
- PDF of the book is available from Springer Link from Purdue IP addresses.
Steven Halim and Felix Halim: Competitive Programming
Other Competitive Programming Courses
UIUC: CS 491: Advanced Competitive Programming
Reykjavik University:
T-414-ÁFLV: A Competitive Programming Course
Stanford:
CS 97SI: Introduction to Programming Contests
CMU:
15-295: Competitive Programming and Problem Solving
UT Austin:
CS104c: Competitive Programming
Stonybrook:
CSE 300X - Programming Challenges
National University of Singapore:
CS3233: Competitive Programming
ITMO University (course through EDX):
How to Win Coding Competitions: Secrets of Champions
Other Online Algorithm Courses
Robert Sedgewick and Kevin Wayne (Princeton University): Algorithms, Part I
and Algorithms, Part II on Coursera.
These courses are free. Assignments are in Java.
Tim Roughgarden (Stanford University): Algorithms Specialization
on Coursera
Assignments in any language. 4 courses.
(1) Divide and Conquer, Sorting and Searching, and Randomized Algorithms, (2) Graph Search, Shortest Paths, and Data Structures,
(3) Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming, (4)Shortest Paths Revisited, NP-Complete Problems and What To Do About Them.
Daniel M Kane, Neil Rhodes, Pavel Pevzner, Michael Levin, Alexander S. Kulikov (UC San Diego):
Data Structures and Algorithms Specialization on Coursera.
This has six courses.
(1) Algorithmic Toolbox, (2) Data Structures, (3) Algorithms on Graphs, (4) Algorithms on Strings,
(5) Advanced Algorithms and Complexity, (6) Genome Assembly Programming Challenge
Web Sites
LeetCode
Codeforces
AtCoder
Google Code Jam
Google Kick Start
USACO
Croatian Open Competition in Informatics
ICPC Regionals with Problem Sets, Scoreboards, and Solutions.
Problem submissions for NWERC, NEERC, CERC, and SWERC can be done at ICPC Live Archive
|