## Competitive

The competitive branch of CPT is for students interested in programming competitively. This branch of CPT explores advanced concepts and algorithms, such as Dynamic Programming, Data Structures, and Graph Theory. Competitive is perfect for students that are interested in programming competitions or learning advanced programming algorithms.

Meetings: Fridays Lunch @ 11:35 in room 222

### Lessons (2019-2020)

**Season 1**

- Lesson 1: (2019-09-27) - Information Session
- Lesson 2: (2019-10-04) - Graph Theory
- Lesson 3: (2019-10-18) - Competitive Contest #1
- Lesson 4: (2019-11-01) - Introduction to Dynamic Programming
- Lesson 5: (2019-11-08) - Competitive Contest #2
- Lesson 6: (2019-11-22) - Contest Takeup and Segtrees
- Lesson 7: (2019-11-29) - Competitive Contest #3
- Lesson 8: (2019-12-13) - Contest Takeup & Math Concepts
- Lesson 9: (2019-12-20) - Competitive Contest #4

**Season 2**

- Lesson 1: (2020-01-10) - Advanced Time Complexity Analysis
- Lesson 2: (2020-01-17) - Competitive Contest #5
- Lesson 3: (2020-02-10) - CCC Preparation

### Archive

**Lessons (2018-2019)**

**Season 1 (Basic Algorithms)**- Lesson 1: (2018-10-12) - Introduction to Competitive Programming and Contest #1
- Lesson 2: (2018-10-19) - Dynamic Programming
- Lesson 3: (2018-11-02) - Contest #2
- Lesson 4: (2018-11-09) - Array-based Data Structures
- Lesson 5: (2018-12-14) - Basic Graph Theory

**Season 2 (Advanced Algorithms)**- Lesson 6: (2019-02-08) - CCC Prep
- Lesson 7: (2019-03-08) - Math in CS
- Lesson 8: (2019-03-22) - Advanced Uses of Dynamic Programming
- Lesson 9: (XXXX-XX-XX) - Properties of Trees
- Lesson 10: (XXXX-XX-XX) - Hashing
- Lesson 11: (XXXX-XX-XX) - Advanced Data Structures
- Lesson 12: (XXXX-XX-XX) - FFT