Training Resources
Below are some resources for learning and practicing competitive programming.
Educational Resources
- UCSD Courses: CSE 109 (Introduction to Programming Contests) and CSE 190 (Introduction to Competitive Algorithmic Programming).
- Competitive Programming book: The newer editions are available for purchase and the 1st edition is available as a PDF here.
- cp-algorithms: A website that contains dozens of implementations of useful algorithms.
- Geeks for Geeks: This site provides lots of information on common algorithms.
Competition/Practice Sites
- Codeforces: This is one of the most famous competitive programming websites. You can participate in online competitions, solve problems from a huge problem bank, and learn from blogs and website solutions. A few of our favorites are 1 and2.
- VJudge: An online judge platform where you can participate in programming competitions by submitting problems to various other platforms. We also hold our weekly contests on VJudge
- Kattis hosts several official contests (you can find many regionals and world finals here).
- CodeChef Code-Chef is an online educational program and competitive programming community of global programmers.
Past Lesson Slides
Fall 2024
- Intro & Dynamic Programming
- Geometry
- Prefix Sum & Segment Tree
- Two Pointers, Sliding Window, & Merge Intervals
- Binary & Bitset
- Randomized Algorithms
Winter/Spring 2024
- Intro & Binary Search
- Shortest Paths
- Disjoin Set Union
- Greedy Algorithms
- Number Theory
- Dynamic Programming
Past Contests
All contest passwords are “ucsd_icpc”.
Fall 2024
- Dynamic Programming
- Geometry
- Team Selection Practice
- Team Selection 2024
- Prefix Sum & Segment Tree
- Two Pointers, Sliding Window, & Merge Intervals
- Randomized Algorithms
Spring 2024
Winter 2024 & Earlier
- FA23 Practice 1
- Team Selection 2023
- FA23 Practice 3
- FA23 Practice 4 (Lower Div)
- FA23 Practice 5 (Lower Div)
- FA23 Practice 5 (Upper Div)
- FA23 Practice 6 (Lower Div)
- FA23 Practice 7 (Lower Div)
- FA23 Practice 7 (Upper Div)
- FA23 Practice 8 (Upper Div)
- FA23 Practice 9
- WI24 Practice 0 (Lower Div)
- WI24 Practice 0 (Upper Div)
- WI24 Practice 2 (Upper Div)
- WI24 Practice 3
- WI24 Practice 4
- WI24 Practice 5
- WI24 Practice 7