Breakout Mentors offers the most hands-on way to prepare middle and high school students for USACO and other competitive programming contests. USACO is the most prestigious measuring stick for talented coders and a fun challenge for anyone who enjoys puzzles.
Our students learn how to solve difficult problems that require creativity, a breadth of knowledge, and expertise that grows as deep as industry engineers. Each student is carefully matched with an exciting mentor who will customize the learning, solving problems that interest them from day one.
Our curriculum: personalized yet structured
Students learn algorithms and data structures behind real world products like Google Maps navigation and airplane schedule optimization. As students become more advanced, they become masters of topics that are taught in graduate level university courses. Here are examples of what students learn by division of USACO, but our curriculum is not limited to just these:
Bronze — Sorting, Primary Data Structures (ArrayList, 2D Arrays, Maps, Sets), Recursion, Big Oh Notation and Complexity Analysis
Silver — Secondary Data Structures (Stacks, Queues, Ordered Sets, Priority Queues), Sweeps, Binary Search, Graph Theory, Intro to Dynamic Programming, Prefix Sums, Greedy/Ad Hoc, Language Specific Optimizations
Gold — Advanced Data Structures (Binary Indexed Tree, Segment Tree, Balanced Binary Search Tree), Dynamic Programming, Advanced Graph Theory (Dijkstra, Minimum Spanning Tree), Tree Techniques (Least Common Ancestor, Dynamic Programming on Trees), Advanced Strings (Knuth Morris Pratt, Rolling Hash), Geometry
Our philosophy: teach problem solving skills and how to learn
There are plenty of competitive programming resources out there that can cover a list of concepts. They only do that — teach the material. The result is students learn these amazing topics, but don’t know how to implement them or use them to solve problems. Eventually, after a few months of not practicing, students become frustrated and lose their interest and love of competing.
Breakout Mentors goes beyond the individual concepts to teach what students need to quickly implement solutions and advance USACO divisions. We follow these principles:
- Teach how to learn. Study practices for algorithmic thinking are very different than most school subjects middle and high school students are exposed to. With the wrong practices it is very easy to think you are studying hard, yet see stunted progress.
- Motivate new concepts with problems. We bridge the gap between learning material and actually using it to solve problems. In fact, we flip it to start with the problems themselves. Students work on their problem solving skills and implementations from the get go.
- Teach problem solving. Problem solving is all about figuring out how to rephrase and approach the problems. This is where our personalized 1-on-1 mentoring excels. Each mentor learns the strengths and weaknesses of each student and can coach their specific thought process.
- Contest tricks and performance. There are many specific USACO tips and tricks that save time and earn points. Our mentors have years of contest experience and compete at some of the highest levels, and thus have a wealth of knowledge to share that can only be learned by experience.
- Build community. One of the best parts of competitive programming is the amazing community of people from all around the country and world. We recognize the importance of friendly competition, learning, and motivation that comes with having a community.
The sessions are going really well, the mentor seems to be a good fit. Our son just progressed to USACO (competition programming USA Computing Olympiad) platinum level yesterday. We are glad that we have found Breakout Mentors!
Mother of 15 year old boy in Los Gatos
Is this right for me?
There are no prerequisites necessary for starting USACO with Breakout Mentors. Algorithms and data structures aren’t taught in standard high school curricula, so we are well suited to teach from the beginning. The main factors to consider are: do I enjoy solving problems or puzzles? Am I passionate about understanding how things work? Do I have fun competing in contests? There’s no better feeling than finally solving a problem and seeing your name jump up on the scoreboards!
Even if you aren’t sure, competitive programming is one of the best entry points into computer science. It can lead to many paths such as research or software engineering. In addition to learning incredible computer science topics, students become extremely proficient in fundamental programming languages like C++ and Java. They develop skills in debugging and optimizing code that will serve them very well deep into their college or professional lives.
Logistics that work for you
The weekly session time and location will fit conveniently into your schedule, taken into account when pairing your son or daughter with the perfect mentor. The majority of sessions are held online, but you can also meet in-person in the San Francisco Bay Area (students travel to the college campus for an empowering learning experience or in-home may be available for an extra-charge).