Our proprietary curriculum is developed by industry and domain experts investing hundreds of hours in research and development to create the best technology program for your child.
Special Offer!! Pay for 2 programs, attend all 4.
Plus a 2 week money back guarantee.
What is Competitive Programming
The goal of our Competitive Programming classes is to build strong algorithmic thinking in students and prepare them for the USA Computing Olympiad (www.usaco.org).
The journey takes time, which is why we start early. In addition to learning a Coding platform like JAVA or Python, the more important skill students need to develop is deep algorithmic thinking.
In the Junior and Intermediate levels, we use a combination of the following platforms: Scratch, MIT App Inventor, JavaScript, Python, JAVA but the focus is on deep problem solving with the backdrop of Game & Application Development. In other words, students develop deep problem solving skills while developing various Games & Applications but go much deeper than our regular track.
Check out a sample problem of the USA Computing Olympiad (for our Level Zen students):
==========Sample=============
The cows have come up with a creative new game, surprisingly giving it the least creative name possible: "Moo".
The game of Moo is played on an N×N grid of square cells, where a cow claims a grid cell by yelling "moo!" and writing her numeric ID number in the cell.
At the end of the game, every cell contains a number. At this point, a cow wins the game if she has created a region of connected cells as least as large as any other region. A "region" is defined as a group of cells all with the same ID number, where every cell in the region is directly adjacent to some other cell in the same region either above, below, left, or to the right (diagonals don't count).
Since it is a bit boring to play as individuals, the cows are also interested in pairing up to play as teams. A team of two cows can create a region as before, but now the cells in the region can belong to either of the two cows on the team.
Given the final state of the game board, please help the cows compute the number of cells belonging to the largest region that any one cow owns, and the number of cells belonging to the largest region that can be claimed by a two-cow team. A region claimed by a two-cow team only counts if it contains the ID numbers of both cows on the team, not just one of the cows.
INPUT FORMAT
The first line of input contains N (1≤N≤250). The next N lines each contain N integers (each in the range 0…106), describing the final state of the game board. At least two distinct ID numbers will be present in the board.
OUTPUT FORMAT
The first line of output should describe the largest region size claimed by any single cow, and the second line of output should describe the largest region size claimed by any team of two cows.
SAMPLE INPUT:
4
2 3 9 3
4 9 9 1
9 9 1 7
2 1 1 9
SAMPLE OUTPUT:
5
10
=============================
As you will see there is no standard formula for solving these problems. Instead, students learn to excel through years of developing strong problem solving skills and algorithmic thinking.
Why Competitive Programming
We have FOUR reasons why:
- Very simply, if your child is a hungry problem solver and has a analytical bent of mind - they will love this. It's an excellent food for the curious mind.
- While this may not be in their near horizon but many job interviews by Google, Microsoft, etc are algorithmic in nature.
- Many top universities value performance in the USACO.
- It is a lot of fun.
Is the Competitive Programming track the right option for your child (versus the Regular Coding track):
If your child (Grades 3 and higher) displays most of the following, they will love Competitive Programming:
- A hunger for problem solving.
- Fast learner.
- Persistence to go multiple steps deep into problems to figure out a solution.
- A strong aptitude in Math.
- Comfortable with intermediate failures to eventually succeed.
No prior coding knowledge required for the Junior & Intermediate Level.
Approach
Junior / Intermediate
Our Junior and Intermediate Programs are designed to use different coding projects for students to develop deep algorithmic thinking. The projects spanning classwork and home assignments are designed to teach algorithm fundamentals through deep problem solving. Many projects will be pre designed Code with pre-planned errors that students have to identify and solve.
Students will build games and animations as they learn various Coding platforms, however in the Competitive Programming track - they will go much deeper into exploration and problem solving.
In the Junior and Intermediate levels, we use a combination of the following platforms: Scratch, MIT App Inventor, JavaScript, Python, JAVA.
Example using a Pong Game
Game Functionality: Make the ball bounce upon hitting the paddle.
Basic Approach: Code the ball to bounce at a random direction above the paddle.
Expected Approach for Competitive Programming Juniors: Make the ball bounce exactly following the laws of physics where incidence angle = reflected angle.
A video example of a Debugging project
Zen: Our Pro students (currently by invitation only)
The Zen Students already have a strong handle on JAVA (our choice for USACO) and are ready for advanced algorithms & data structures like Binary Sort, 2D/3D Array Sorting, Greedy Algorithms, Data Trees, Stacks, etc.
Our Coaches:
All our coaches bring a diverse expertise in Coding & Tech
Mr. Dan (expertise in Game Dev & Web Technologies)
Mr. Dalton (expertise in Game Dev & Object Oriented Programming)
Mr. Dutt (expertise in Algorithms, Game Dev, Object Oriented Programing)
Fall Schedule
Level Junior
Grades: 3rd - 5th
Sundays 2PM - 3PM
- Platforms:
- MIT Scratch (3 months - Intermediate)
- MIT App Inventor (2 months - Intermediate - Advanced),
- MIT Scratch (3 months - Advanced)
- JavaScript (3 months - Beginner)
- Coding Focus
- Conditional Loops
- Repeat Loops
- Nested loops
- Parallel & Sequential processing of code
- Deep Debugging
Level Intermediate
Pre-requisite: None
Grades: 5th - 8th
Sundays 3:15PM - 4:15PM
- Platforms:
- JavaScript (3 months - Advanced)
- Python (3 months - Advanced)
- JAVA (4 months - Advanced)
- Coding Focus
- Conditional Loops
- Repeat Loops
- Nested loops
- Function Calls
- Array manipulation
- Simple Search, Sort algorithms
- Object Oriented Programming
- Recursion
- Deep Debugging
Level Zen
Pre-requisite: 24 months of prior programming experience OR Completed Level Intermediate
Min Grade: 6th
Currently by invitation, after assessment. Asynchronous learning.
- Platforms:
- JAVA
- Coding Focus
- Loops
- 2D, 3D Arrays, Array Lists
- Tree structures
- Advanced Recursions
- Complex Classes and Inheritance
- Greedy Algorithms
- Advanced Sort algorithms including Binary Sort.
- Deep Debugging
Pricing (per 4 weeks):
Junior & Intermediate (one hour a week): $135/4 weeks
- 2 week money back guarantee (Try it for two weeks, full refund if your child does not continue).
- 12 week payment & commitment required. Billing every 3 months.
Eligible for 'Pay for 2, do all 4' promotion.
Thinking Feet’s main learning center is located in the Ballantyne area in Mecklenburg county. We are just minutes away from nearby Blakeney, Weddington, Marvin, Waxhaw, Pineville, Matthews, Wesley Chapel, Piper Glen and Fort Mill, SC.