

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
Reykjavik University:
T414ÁFLV: A Competitive Programming Course
Stanford:
CS 97SI: Introduction to Programming Contests
CMU:
15295: 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, and quite mathematical. Similar to 381. The specialization has four courses, cost is ($49 per month), in order to submit assignments and have them graded.
(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, NPComplete 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, cost is ($49 per month), in order to submit assignments and have them graded.
(1) Algorithmic Toolbox, (2) Data Structures, (3) Algorithms on Graphs, (4) Algorithms on Strings,
(5) Advanced Algorithms and Complexity, (6) Genome Assembly Programming Challenge
Some Online Contests (with dates in Spring 2019)
USACO: Spring 2019 dates: Jan 1821, Feb 2225, Mar 29Apr 1
Google Code Jam: Spring 2019 dates: Apr 6 (Qualification round), Apr 13 (1A), Apr 38 (1B), May 4 (1C).
ICPC Regionals with Problem Sets, Scoreboards, and Solutions.
Problem submissions for NWERC, NEERC, CERC, and SWERC can be done at ICPC Live Archive
