Announcements
Course Info
Welcome to CS35X. This half-credit course will introduce fundamental ideas in algorithm engineering through the lens of competitive programming problems. We will study standard Abstract Data Types (ADTs) and their applications. We will study algorithms for solving problems including graph algorithms and math algorithms, and we will implement solutions using STL data strucutres in the C++ programming language.
This course is available only to current CS35 students. We expect this course to complement the CS35 curriculum.
Meeting Times:
Section | Days | Time | Room | Instructor |
---|---|---|---|---|
1 |
T |
2:45-4:15 |
Martin 213 |
Support Staff & Office Hours
Name | Office Hours | Location |
---|---|---|
Fri 11:00 AM - 12:00 PM (and by appt) |
Martin 212 |
Textbook
There is no required textbook for this course. Each week we will release lecture notes based on that week’s lecture.
Here are a few other useful online resources:
-
Competitive Programming, by Felix Halim.
-
Competitive Programmer’s Handbook, by Antii Laaksonen.
Course Goals
By the end of the course, we hope that you will have developed the following skills:
-
You will know how to solve basic competitive programming problems.
-
You will learn and understand how to use several standard data structures, including lists, stacks, queues, dictionaries, and priority queues.
-
You will have a deep understanding of how to process input and output in C++.
-
You will understand how to distinguish easy from hard problems quickly.
-
You will be able to apply standard algorithmic design techniques to solve computational problems of moderate difficulty. You will be able to write programs solving these problems from scratch.
Schedule
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | NOTES & LABS |
1 | Sep 23 | Course Introduction, Input/Output
| ||
2 | Sep 30 | arrays, String Processing
| ||
3 | Oct 07 | Lists
| ||
4 | Oct 14 | Quiz 1 | Dictionaries
| |
5 | Oct 21 | Math Problems
| ||
6 | Oct 28 | Debugging
| ||
7 | Nov 04 | Graph Algorithms
| ||
8 | Nov 11 | Quiz 2 | Priority Queues
| |
9 | Nov 18 | Prefix Sums | ||
10 | Nov 25 | Binary Search the Answer | ||
11 | Dec 02 | slack week | ||
12 | Dec 09 | Quiz 3 in class |
|
|