Competitive Programming is made up of 1) Learning how to code and 2) Learning the data structures, algorithms, and problem-solving strategies needed to solve contest problems. We’ll start by learning the basics of C++, Competitive Programming’s main language. Once we have this down, we’ll start doing practice problems from old contests, going from beginner problems to eventually harder problems once we have the tools to do so. These “tools” come in the form of data structures and algorithms that we’ll gradually learn alongside our practice problems; participants will gain experience with both the theory of our strategies, and the procedure of putting these strategies in play to solve problems. Once we’re at this point, this routine of studying new techniques as well as putting them into practice will take up most of the course.
There is no prerequisite knowledge needed to participate; we will learn to code together and 99% of the time previous course material won’t be needed to understand what we’re learning.
The class is taught by Guilford High School junior Matt Kotzbauer. Matt decided to learn to code during the pandemic, and chose to specialize in Competitive Programming so that he could do it in the most fun and action-packed environment possible. He hopes to share this joyful experience as well as his knowledge with you all!
Free and open to all students in grades 5 and up. This virtual class will meet weekly (with occasional breaks) every Wednesday at 2:30 pm via Zoom. Please contact Matt at email@example.com to register.