Watch Intro Video

See how your kids can learn to code!

Let our easy to follow and fun video lessons do the teaching.

Programming Made Easy

Everything your student needs to take their first steps into coding

  • Online Video Lessons & Solutions

    Short video lessons present coding concepts in an easy follow format. It's like getting to be an apprentice watching over the shoulder of a master. Modules consist of code-along exercises followed by challenges for students to try on their own. A video solution is provided for every challenge!

  • Online Support

    Afraid you might get stuck? We're just an email away. We want your student to succeed and for them to have the best experience possible.

  • Gain Early Successes

    It is important that kids have early successes when learning programming. This course starts with very simple examples and builds sequentially with more complex examples and challenges.

  • Python 2D Graphics

    Students will learn about coordinate systems and how to draw colorful 2D graphics on screen. The module on Python Turtle graphics is a favorite with past students.

  • Learn Core Coding Skills

    Students will learn about logic, variables, functions, math operators, and loops. Python lists and tuples are also introduced. Computer programming builds problem solving skills and creativity.

  • Create a Python Game

    The course includes a final code along video game project - a favorite of past students. It's a huge incentive for kids to stay with the course to the end. The game includes animation, sound effects, and keyboard controls.

Benefits of Learning to Code

  • Logic Skills

    Students learn to apply logical thinking. When creating programs, students must think and reason about what conditions, rules, and algorithmic steps need to be a part of their program.

  • Problem Solving Skills

    Computer programming helps build problem solving skills. Students learn to break problems down into smaller problems to solve the whole.

  • Creativity

    Writing computer programs also engages the creative part of our brains. Students must think creatively to solve problems and design their resulting solutions.

  • See How Math is Used

    By learning to code kids get to see real world applications of math. When drawing graphics, kids get to put simple math to work. As they do they see what creates many of the apps and gadgets we use everyday.

  • Turn Screen Time into Learning

    If you are like many parents, you are looking for healthy ways for your kids to engage with media and technology. Learning to code can help your kids become creators instead of consumers.

  • Gain In Demand Skills

    According to the U.S Bureau of Labor Statistics employment of software developers is projected to grow 22 percent from 2019 to 2029, faster than the average for all occupations. But careers aside, any child can benefit from learning to code.

Course curriculum

  • 3

    Working with Output

  • 4

    Working with Variables and Keyboard Input

    • Introducing Variables

    • Example 4 - Creating Variables and Using the Debugger

    • Example 5 - Getting Keyboard Input

    • Example 5 (Continued) - Formatting Output with Variables

    • Example 6 - Replacing Words in a Sentence with User Input

    • Example 7 - Making the Computer Speak our Sentence Built from User Input

    • Programming Challenge 6 - Creating a Simple Word Game

    • Programming Challenge 6 - Solution

  • 5

    Doing Math with Python

    • Introduction to Expressions and Operators

    • Hands On Practice with Math Expressions

    • The Modulo Operator

    • Using Operators with Strings

    • Operator Precedence Cheat Sheet

    • Example 8 - Computing the Area of a Rectangle

    • Example 9 - Computing the Area of a Triangle

    • Programming Challenge 7 - Evaluating Math Expressions

    • Programming Challenge 7 - Solution

    • Programming Challenge 8 - Calculating Your Age in Dog Years

    • Programming Challenge 8 - Solution

  • 6

    Lists and Tuples

    • What is a List?

    • Example 10 - Creating a List Variable

    • Example 11 - Accessing Individual Items in a List

    • Changing Individual Values in a List

    • Example 12 - Getting the Number of Items in a List

    • Example 13 - Adding Items to a List

    • Example 14 - Combining Lists to Make a New List

    • Example 15 - Multiplying a List

    • Example 16 - Remove an Item from a List using a Value

    • Example 17 - Remove an Item from a List by Position

    • Example 18 - Counting How Many Times an Item Appears in A List

    • Programming Challenge 9 - Heroes and Villains List Challenge

    • Programming Challenge 9 - Solution

    • What is a Tuple?

    • Example 19 - Hands On with Tuples

    • Programming Challenge 10 - Heroes and Villains Tuples

    • Programming Challenge 10 - Solution

  • 7

    Turtle Graphics

    • Introducing Turtle Graphics - Pixels and Coordinates

    • Example 20 - Drawing a Red Square with Goto

    • Setting Your Turtle Speed

    • Programming Challenge 11 - Draw a Green Rectangle

    • Programming Challenge 11 - Solution

    • Example 21 - Forward, Backward, Left, and Right Functions

    • Programming Challenge 12 - Using Forward, Backward, Left, and Right

    • Programming Challenge 12 - Solution

    • Example 22 - Drawing Circles

    • Example 23 - Filling Shapes with Color

    • Example 24 - Drawing Polygons and Irregular Shapes

    • Example 25 - Erasing Turtle Drawings and Setting the Window Background Color

    • Programming Challenge 13 - Draw Your Own Emoji

    • Programming Challenge 13 - Solution

    • Programming Challenge 14 - Drawing Challenge

    • Programming Challenge 14 - Solution

    • Example 26 - Drawing Text

    • Programming Challenge 15 - Draw Your Name

    • Programming Challenge 15 - Solution

    • Example 27 - A Nicer Way to Get Input

    • Programming Challenge 16 - Practice with numinput() and textinput()

    • Programming Challenge 16 - Solution

    • Turtle Graphics Documentation

  • 8

    Writing Programs that Make Decisions

    • Introduction to Booleans

    • Hands On with Comparison Operators

    • Example 28: Making decisions with the if statement

    • Example 28 (Part 2) - Age Program with Turtle Graphics

    • Example 29 - Display Different Messages for Different Age Ranges

    • Hands On - Writing expressions with AND and OR

    • Example 30 - Park Admission Calculator

    • Programming Challenge 17 - Weather Alert!

    • Programming Challenge 17 - Solution

    • Programming Challenge 18 - Mood Graphics

    • Programming Challenge 18 - Solution

    • Example 31 - Enhancing the Weather Alert with Nested If

    • Programming Challenge 19 - Weather Alert 2.0

    • Programming Challenge 19 - Solution

  • 9

    Loops - Writing Code that Repeats and Counts

    • Introducing Loops

    • Example 32 - Making Python Count

    • Example 33 - Using Input Variables to Control a For Loop

    • Programming Challenge 20 - Counting Practice 1

    • Programming Challenge 20 - Solution

    • Programming Challenge 21 - Skip Counting

    • Programming Challenge 21 - Solution

    • Programming Challenge 22 - Counting and User Input

    • Programming Challenge 22 - Solution

    • Example 34 - Fruit Loops

    • Programming Challenge 23 - The Color Loop Animation

    • Programming Challenge 23 - Solution

    • Example 35 Part 1 - Counting with a While Loop

    • Example 35 Part 2 - More Counting with While Loops

    • Programming Challenge 24 - Skip Count with a While Loop

    • Programming Challenge 24 - Solution

    • Example 36 - The Fruit Tuple While Loop

    • Programming Challenge 25 - The Color Loop Using a While Loop

    • Programming Challenge 25 - Solution

    • Example 37 - Growing 5 Point Star

    • Example 38 - For Loop Color Spiral

    • Example 39 - Looping Fan

    • Example 40 - Rows and Columns of Polka Dots

    • Programming Challenge 26 - Rows and Columns of Squares

    • Programming Challenge 26 - Solution

  • 10

    Re-using Code with Functions

    • Introducing Functions - Making Code Reusable

    • Example 41 - Defining and Using Functions

    • Programming Challenge 27 - Write Your Own Greeting Function

    • Programming Challenge 27 - Solution

    • Example 42 - Using a Function to Perform a Calculation

    • Challenge 28 - Create a Function to Calculate the Area of a Circle

    • Challenge 28 - Solution

    • Example 43 - Variable Visibility (aka Scope)

    • Example 44 - Making One Function that can Draw Different Spirals

    • Challenge 29 - Make a Function to Draw a Star with Turtle Graphics

    • Programming Challenge 29 - Solution

  • 11

    Getting Unpredictable with Random Numbers

    • Introduction to Pseudo Random Numbers

    • Example 45 - Generating Random Numbers

    • Programming Challenge 30 - Write a Program to Generate a Random Number Sequence

    • Programming Challenge 30 - Solution

    • Example 46 - Create a Program to Draw a Random Name from a List

    • Example 47 - Drawing Stars in Random Places

    • Programming Challenge 31 - Drawing Stars at Random Locations with Random Colors

    • Programming Challenge 31 - Solution

    • Example 48 - Crazy Turtle Scribbles

  • 12

    Space Game Code Along Project

    • Final Code Along Project

    • Space Game Step 1 - Setting the Window Background

    • Space Game Step 2 - Adding a Ship Graphic

    • Space Game Step 3 - Keyboard Events

    • Space Game Step 4 - Animating the Spaceship

    • Space Game Step 5 - Boundary Checking

    • Space Game Step 6 - Animating a Laser Blaster

    • Space Game Step 7 - Sound Effects

    • Space Game Step 8 - Animating Enemies

    • Space Game Step 9 - Detecting Collisions

    • Space Game Step 10 - Animating the Explosion

    • Space Game Step 11 - Adding a Score Counter

    • Space Game Step 12 - Adding a Game Over Message

  • 13


    • Continuing Your Programming Journey


We have multiple payment options to suite your needs. Paid options will give you access for 15 or 6 months*.

*Continued access for installment plans is conditioned on all payments being completed.


"It made learning fun"

by Rachelle F. (Homeschool Mom)

My daughter learned so much from this class and taught me a few things as well. The instruction was simple and straightforward and it made learning fun! I definitely recommend this class to those interested in learning more about programming.

"My son learned so much in a very short space of time"

by Jennifer E. (Homeschool Mom)

My son (13 yr old) took Matt's coding class last semester and thoroughly enjoyed it! Matt is an extremely competent, thorough teacher and my son learned so much in a very short space of time. This class was definitely worth it in every way and I highly recommend Matt and his expertise in this field.

My boys took this class and absolutely loved it!

Cricket W. (Homeschool Mom)

My boys took this class and absolutely loved it! Matt is a wonderful teacher who makes it easy for the kids to follow his instructions. My boys were so excited when they finished each project and would say, "Mom, look what I just did!"

"Very impressive and easy to follow"

Gabriele G. (Student)

Thanks for teaching Python. I'm really enjoying your course. Very impressive and easy to follow and easy to learn with your path. :) I`m 57 years old and wanted to learn Python so I was looking for a good course I can follow along easily and this is the one. I highly recommend this course for Beginners who want to dive into Python.

Teacher and Founder

Matt Bohn

I've been writing code for over 20 years and have worked on projects for Microsoft, IBM, and more. I'm a software engineer, homeschool dad, and previous homeschool kid. My goal is to make learning to code accessible to homeschool kids and painless for their parents. It is my hope that our courses will be fun and inspiring, while also building valuable skills for the the digital world we live in.
Teacher: Matt

Frequently Asked Questions

What does my child need to know to successfully complete this class?

This online course has been designed for beginners.  The recommended age is 5th grade and up.   At a minimum your student should have covered the following topics:

  • Addition and Subtraction
  • Multiplication and Division
  • Decimal notation and place value
  • Fractions
  • Simple geometric formulas (area of squares, rectangles, triangles, and circles)
  • Understand degrees in a circle, diameter, and radius

Skills that are helpful are:

  • Basic typing skills.
  • Ability to open and save files on a computer.
  • Exposure to cartesian coordinates. This is helpful, but this course assumes the student is learning coordinates for the first time.

How much time will this require of me as a parent?

Once you setup a login for your student, they can login begin working through the video lessons in sequence.  The course keeps track of their progress, and will automatically return them to the lesson where they left off.  No need to create lesson plans.    Most students can utilize the lessons with minimal supervision from a teacher.

Is this course only for kids who want to become professional programmers?

Absolutely, not.   Even if your child may not intend to be a programmer professionally, computer programming provides many benefits such as:

  • Building problem solving skills
  • Building creativity
  • Building logic skills
  • Constructive use of screen time
  • Encouraging kids to be creators vs. consumers

What if I'm not tech savvy or don't know anything about programming?

Then you are in the right place!  Our goal is for the videos to do the teaching without any prior knowledge needed by the student or parent.   And, if you do get stuck we are just an email away to help you get on track.   Whether it's getting software installed, or a problem with an assignment that you just can't get to work.

Is this a live virtual class?

No.  At this time this class is delivered as pre-recorded video lessons.  Support is available by email.

Do I need to buy additional software?

No.  The Python software used in this course is available for free and the course shows how install it.

What kind of computer do I need?

To complete the lessons your student needs to have a Mac or a Windows 10 PC.  The teacher uses a PC in the videos so most will find it easiest to use a PC also.  Please note that notebooks running Windows 10 in S-Mode may not be able to install the Python software.