To build on the concepts from the Introduction level course, students will build on their Counting and Probability knowledge. A thorough introduction for students in grades 7-10 to counting and probability topics such as permutations, combinations, Pascal's triangle, geometric probability, basic combinatorial identities, the Binomial Theorem, and more. Pigeonhole Principle Conditional Probability Graph Theory

Get started

This course is for students who have completed our Introduction to Counting and Probability course.

This course typically takes 3-6 months to complete. This depends on the student's experience and how fast they can master the concepts and the knowledge. Our instructors move at the pace of the student, it may take extra time for some students to reinforce what they have learned.

Review of basic counting and probability, expected value, Pascal’s Triangle and Binomial Theorem, and the summation notation

Sets, logics, quantifiers

Principle of Inclusion and Exclusion

Constructive counting, count by finding1-1 correspondances

Pigeonhole Principle

Linearity of Expectation

Count the number of ways to place indistinguishable items into distinguishable boxes

Induction

Introduction and application for Fibonacci Numbers

Recursion, Catalan Numbers

Conditional Probability, and their applications

Strategies of proving Combinatorial Identities

State diagrams, random walks, events with infinite states

Definition, and applications in deriving the binomial theorem, as well as formulas for distribution, partitions, and Fibonacci numbers

Definitions, Basic Properties, Cycles and Paths, Planar Graphs, Eulerian and Hamiltonian paths

Hard problems in counting that use combinations of topics above

AGES 10 - 15

Designed for beginners, this level is designed to teach the basic fundamentals and design principles of Python, with the help of Turtle graphics and PyGame. This includes: **variables**, **conditional statements**, **loop basics**, and **functions**.

These concepts are transferable to any other programming language. Throughout the way, students will create projects in order to apply the concepts they have learned, and to solidify their knowledge.

Learn more →

AGES 10 - 15

Level 2 dives **deeper** into the basics of Python for a more thorough understanding and introduces advanced topics. Students will build on knowledge from Level 1 and work with **data structures**, **advanced loops**, **algorithms**, and **object-oriented** programming, and create games based on what they learn.

Students will complete the course with a solid understanding of Python fundamentals.

Learn more →

AGES 10 - 15

This **beginner-friendly** course serves as an introduction to the Java programming language. Students will learn the fundamentals of Java along with core computer science concepts. Concepts covered in this course include **Java syntax**, types and **identifiers**, **operators**, **if statements**, **loops**, **arrays** and more.

Students will apply these concepts to create fun games such as **Tic-Tac-Toe**.

Learn more →

Get Started