Schoolhouse.world: peer tutoring, for free.
Free SAT® Prep, as part of a research study.
SAT® Bootcamps
Free SAT® Prep, as part of a research study.
A global network of volunteers.
Explore Tutors
A global network of volunteers.
Get free help applying to college.
College Admissions Workshops
Get free help applying to college.
Intro to Competitive Programming

SAT Score Range

13 sessions

+34

This series ended on July 28, 2023. All 1:1 and group chats related to this series are disabled 7 days after the last session.

About

We'll go over one algorithm every session, although more sessions may be needed for an algorithm depending on the collective understanding of and confidence in that algorithm. I'm going to be programming in C++, but if you are familiar with Java or Python, you can still use that language, as a) C++ is very similar to those languages and b) I'm going to cover algorithms in a visual manner mostly, so there won't be too much programming; we will be programming only when implementing the algorithms.

Tutored by

Jimmy S 🇰🇷

Senior Tutor

Certified in 75 topics

View Profile

Hi, I'm Jimmy! I'm a junior in high school interested in learning and teaching math and computer science. I also teach SAT Bootcamps and other enrichment topics. In my free time, I like to play sports like running and soccer, watch movies, and read classic books. I look forward to teaching you!

Schedule

✋ ATTENDANCE POLICY

Learners should have prior knowledge of C++, Java, or Python. If you were a member of my previous C++ Bootcamp series in Schoolhouse, you'll be proficient to join as well, as the series, as I mentioned in the orientation, can be considered a prerequisite for this series.

I expect learners to join every session, and 2 unexcused absences will result in withdrawals. I may host occasional office hours, but there will be no catchup sessions. Office hours will be used to help with the optional practice problems I will be giving out at the end of every session, not to help catch up on what learners missed.

SESSION 1

26

Jun

SESSION 1

Orientation

Orientation

Mon 1:00 AM - 2:00 AM UTCJun 26, 1:00 AM - 2:00 AM UTC

- Series outline - Series expectations - Quick setups for programming in the series - Short Q/A
SESSION 2

28

Jun

SESSION 2

Computer Science

Computer Science

Wed 1:00 AM - 2:30 AM UTCJun 28, 1:00 AM - 2:30 AM UTC

- Overview of competitive programming - Time complexity and Big O Notation We'll look at the overview of competitive programming and learn about a crucial concept in it, time complexity. We'll learn how to notate time complexities with Big O Notation.
SESSION 3

30

Jun

SESSION 3

Computer Science

Computer Science

Fri 1:00 AM - 2:30 AM UTCJun 30, 1:00 AM - 2:30 AM UTC

- Bruteforcing We'll learn how to solve competitive programming problems with the crude, yet fundamental bruteforcing approach.
SESSION 4

5

Jul

SESSION 4

Computer Science

Computer Science

Wed 1:00 AM - 2:30 AM UTCJul 5, 1:00 AM - 2:30 AM UTC

- Simulation and Implementation We'll learn how to simulate and implement situations that competitive programming problems give to effectively solve complicated problems.
SESSION 5

10

Jul

SESSION 5

Computer Science

Computer Science

Mon 1:00 AM - 2:30 AM UTCJul 10, 1:00 AM - 2:30 AM UTC

- Simulation and Implementation We'll learn how to simulate and implement situations that competitive programming problems give to effectively solve complicated problems.
SESSION 6

12

Jul

SESSION 6

Computer Science

Computer Science

Wed 1:00 AM - 2:30 AM UTCJul 12, 1:00 AM - 2:30 AM UTC

- Advanced Sorting with Structures We'll learn advanced sorting methods with structures in C++. Note: It may be a little difficult for learners with a background in Java and Python to implement this, as the methods and syntaxes are different. Follow along as much as you can. This is not something essential for competitive programming, so don't worry.
SESSION 7

14

Jul

SESSION 7

Computer Science

Computer Science

Fri 1:00 AM - 2:30 AM UTCJul 14, 1:00 AM - 2:30 AM UTC

- Prefix Sum We'll learn the prefix sum algorithm that allows us to manipulate data and thus make advanced calculations of data in 1D arrays simple.
SESSION 8

17

Jul

SESSION 8

Computer Science

Computer Science

Mon 1:00 AM - 2:30 AM UTCJul 17, 1:00 AM - 2:30 AM UTC

- Binary Search We'll learn the famous binary search algorithm to quickly locate numerical values in an array.
SESSION 9

19

Jul

SESSION 9

Review

Review

Wed 1:00 AM - 2:30 AM UTCJul 19, 1:00 AM - 2:30 AM UTC

- Review of Algorithms and Concepts from this Series - Practice Problems We'll review all the algorithms and concepts we've learned in the series and solve a few challenging practice problems to train our understanding of those algorithms and their implementations.
SESSION 10

21

Jul

SESSION 10

Computer Science

Computer Science

Fri 1:00 AM - 2:30 AM UTCJul 21, 1:00 AM - 2:30 AM UTC

- Practice Problems We'll solve a few practice problems from competitive programming competitions to train our understanding of algorithms and their implementations.
SESSION 11

24

Jul

SESSION 11

Computer Science

Computer Science

Mon 1:00 AM - 2:30 AM UTCJul 24, 1:00 AM - 2:30 AM UTC

- Practice Problems We'll solve a few practice problems from competitive programming competitions to train our understanding of algorithms and their implementations.
SESSION 12

26

Jul

SESSION 12

Computer Science

Computer Science

Wed 1:00 AM - 2:30 AM UTCJul 26, 1:00 AM - 2:30 AM UTC

- Practice Problems We'll solve a few practice problems from competitive programming competitions to train our understanding of algorithms and their implementations.
SESSION 13

28

Jul

SESSION 13

Other Topics

Other Topics

Fri 1:00 AM - 2:00 AM UTCJul 28, 1:00 AM - 2:00 AM UTC

- Optional Meetup This is an optional meetup for some Q/A and advice for further learning and progressing in competitive programming. I'll share some good resources for learning competitive programming and solving competitive programming problems. I'll also share some competitive programming competitions that are both challenging and exciting.

Public Discussion

Please log in to see discussion on this series.

Jun 26 - Jul 28

5 weeks

60 - 90 mins

/ session

SCHEDULE

Mondays

1:00AM

Wednesdays

1:00AM

Fridays

1:00AM