Shadow on Concrete Wall

Coding Competitions
(C++)

This 12-week course is designed for 6th+ graders with one 2 hour long lesson every week, as well as accessibility to ask questions at all times. The lesson will consist of first a teaching block and then a problem solving block. All concepts will have example problems to go with them. Students can ask questions directly to the teacher or to the homework chat whenever they want. The class covers the skills needed for coding competitions, especially USACO. Besides improving your knowledge of algorithms and data structures, this course will also provide you with a unique experience in problem-solving, thinking outside the box, and maximizing your coding efficiency. This will not only help you in your coding competitions but also boost your skills and value as a programmer.

Note - Prerequisite: Intermediate Coding Experience, Knowledge of C++ or Java

To see if this is the right course for you, take the Diagnostics Test below, and your results will be checked by staff and emailed to you (the Google Form asks for an email).

Note: The response you get back from staff is only a recommendation, but we still advise that you follow that recommendation.

Course Dates: TBD

(1 meeting per week)

Syllabus

Course Syllabus will cover USACO Bronze Level Algorithms, Problems, and Concepts. Here is a more detailed list of topics covered:

BRONZE

  1. Introductions, Time Complexity, Simple C++ syntax and data structures

    • Big O Notation

    • Recap of arrays and dynamic arrays

  2. Basic Geometry, Simulation Problems, Greedy problems

    • How to store rectangles in matrices

    • The concept of simulation and when it is used

    • What is greedy and when is it a good idea

  3. Complete search

    • Iterative

    • Recursive

  4. Recent/Mixed Problems, Questions

SILVER

  1. Small Introductions, Sorting, Searching

    • Popular efficient sorts

    • Binary Search

  2. Prefix Sums

    • 1D

    • Multi dimensional

  3. Greedy, Important Points

    • Harder greedy applications

    • Overlapping intervals

  4. Data Structures Part 1

    • Stacks

    • Queues

    • Deques

  5. Data Structures Part 2

    • Sets, Maps

    • Unordered/Hash Sets & Maps

  6. Basic Graph properties and uses

    • Trees

  7. Graph searches

    • DFS

    • BFS

  8. Recent/Mixed Problems, Questions

Meet Your Instructors

Bobby Costin

Coding Competitions Teacher

bobby.jpeg

Bobby is a freshman at the Harker School. He loves to code in a lot of different areas, such as competitive programming and making video games, as well as some AI. He is proficient in C++, but also has some knowledge about Java, Python, JavaScript, and some other common languages.

Johnathan Mo

Teaching Asssistant

IMG_8305.jpg

Johnathan is a sophomore at the Harker School. Outside of school, he enjoys video editing and cinematography. He also participates in FTC robotics as part of the software team. Over the summer he has taken several classes in Chemistry and Programming

Grant Sims

Teaching Assistant

grant.jpg

Grant is currently a sophomore at The Harker School. He enjoys machine learning, rocketry, robotics, and video editing. He is also the build lead for his robotics team and is extremely capable in both CAD and coding. He is fluent in Java and is extremely proficient in both Python and C++.