Our Courses

We offer a full computer science curriculum for students ages 5-18. Our youngest students start with our Juni Jr and Scratch courses. These courses use block-based programming to develop their fundamental programming concepts and problem solving skills.

Our core curriculum covers the programming languages Python and Java, with additional coding courses offered in web programming and app development (HTML, CSS, and Javascript). Through three levels of Python, we cover up to college-level topics in algorithms and data structures. Each course typically takes 3-6 months to complete.

Our most advanced students progress to our USACO Training Program for competitive programming against students around the country.

Juni course sequence


Visualize how students progress through our course of study by clicking on the course sequence below.

For beginners


Juni Jr: Coding course for ages 5-7

Juni Jr

Suggested for ages 5-7

Juni Jr provides a fun introduction to programming for our youngest students. In Juni Jr, students learn about logic, sequencing, loops, and events. They also practice fundamental skills like basic algebra, reading, and public speaking. Together, we build games, solve puzzles, and design art.

Juni Jr sessions are 25 minutes long and priced differently than our other courses. Please contact us for more information.

Scratch Level 1: Game Superstar course for ages 8-11

Scratch Level 1: Game Superstar

Suggested for ages 8-11

In this course, we introduce computer science fundamentals using Scratch's block-based programming environment. This course focuses on event listeners, loops, conditional statements, user input, Cartesian coordinates, variables, and message broadcasting.

After completing this course, students are able to design and program their own games in Scratch, and are ready to advance to Scratch Level 2.

Scratch Level 2: Game Master course for ages 9-12

Scratch Level 2: Game Master

Suggested for ages 9-12

This course is for students who have completed Scratch Level 1 or equivalent. In this course, we expand upon the concepts introduced in Scratch Level 1 and introduce more advanced ideas, including nested loops, complex conditionals, cloning, string and mathematical operators, lists, and functions.

After completing this course, students have full mastery of the Scratch environment, and are ready to advance to Python Level 1.

Our core curriculum: Python


Python Level 1: Graphics Superstar coding course

Python Level 1: Graphics Superstar

Suggested for ages 11-18

In this course, students learn Python basics with the Turtle programming library, with an emphasis on programmatically generating graphic art. This course dives into Python fundamentals: loops, variables, functions, conditional statements, and event listeners.

By the end of this course, students have built complex computer-generated art and games in Python, and are ready to advance to Python Level 2.

Python Level 2: Problem Solver coding course

Python Level 2: Problem Solver

Suggested for ages 12-18

In this course, students dive deeper into Python fundamentals with loops, variables, conditional statements, and functions, while also introducing more advanced topics such as lists, sets, dictionaries, and error checking. Students practice integrating these concepts in building a series of complex projects.

This course also exposes students to several real-life applications for programming, including in music, ciphers, and predictive algorithms.

Python Level 3: Data & Algorithms Master course

Python Level 3: Data & Algorithms Master

Suggested for ages 14-18

This course briefly reviews Python fundamentals and focuses on advanced topics in Python: recursion, searching and sorting algorithms, big-O notation and data science. The master project for this course involves using Python to ingest, analyze, and create graphs about a dataset involving a topic of choice.

Students who excel in this course have a strong math background (Algebra 2 or higher recommended).

Java programming


Java Level 1: Java Superstar programming course

Java Level 1: Java Superstar

Suggested for ages 12-18

In this course, students learn the fundamentals of Java, focusing on variable types, conditionals, loops, methods, and one- and two-dimensional arrays. This course also incorporates programmatically generating graphic art with Java.

By the end of this course, students are ready to advance to Java Level 2, which focuses on object-oriented programming. It is highly recommended that students complete our Python Level 1 and/or Python Level 2 courses before enrolling in Java Level 1.

Java Level 2: Java Master programming course

Java Level 2: Java Master

Suggested for ages 14-18

This course focuses on on object-oriented programming in Java, covering classes & objects, subclasses, and inheritance. Students have the opportunity to build console-based projects and graphics-based games utilizing these principles.

By the end of this course, students have a solid grasp of Java fundamentals and are well-prepared to enrolled in an accelerated version of AP Computer Science A.

AP Computer Science A course

AP Computer Science A

Suggested for ages 14-18

This course guides students through learning Java, with an emphasis on object-oriented programming. Students build a variety of complex projects while learning about objects, classes, scope, and inheritance. This course also covers basic searching and sorting algorithms in Java.

This course prepares students for the AP Computer Science A exam, which is administered in May of each year.

Web programming


Web Level 1: Web Superstar programming course

Web Level 1: Web Superstar

Suggested for ages 12-18

In this course, students learn HTML, CSS, and Javascript to create their own websites.

This course is geared toward students who enjoy art and design. By the end of this course, students have created their web portfolios including interactive mini-projects, like a photo filtering website.

Web Level 2: App Master programming course

Web Level 2: App Master

Suggested for ages 14-18

This course guides students through building and deploying websites and web applications. Both frontend (HTML, CSS, Javascript, and JQuery) and backend development (APIs and databases) are covered.

By the end of this course, students are able to develop a web application that fetches news articles from an API and displays a customized news feed to the user.

For advanced students


USACO Training Program

USACO Training Program

By invitation only

Students in our USACO (USA Computing Olympiad) Training Program participate in the four online contests held per year. All students start in the Bronze division and can be promoted to upper divisions based on their contest scores. This program focuses on training students to work through complex problems and developing their problem-solving skills. We also teach more advanced algorithms and techniques as required.

This program is by invitation only. Please contact us for more information.