NEW Holiday AI Classes View Schedules
Student Login | Parent Login
New students start here!
Intro to Programming with Python is the first course in our Middle School coding program.
Middle school boy in class

Course Description

In the first course of our middle school curriculum, students build a foundation in programming using Python. They’ll learn to work with variables, data types, lists, loops, conditional logic, and functions, all while building a passion for programming through our engaging project-based lessons. The fundamental programming skills they’ll learn in this course are transferrable between programming languages and problem domains. After completing this course, students are ready to tackle the next step in our structured curriculum, Beyond Basics with Python.

Middle school girl in computer class

Learning Objectives

When students complete Intro to Programming with Python, they will be able to:

  • Build basic programs using fundamental programming constructs like variables, conditional logic, looping, and functions
  • Work with user input to create fun and interactive programs
  • Create simple games with images, animations, and audio using our custom beginner-friendly programming library, Wizardlib
Level I


No prerequisites for this course. Beginners with no experience are welcome.

Introduction to Programming with Python Class LessonsExpand All Lessons
  • Introduction to Python, Class 1
    1. Introduction to Programming

    In the first lesson of this course, students program a rocket launch simulation from start to finish while learning some of the fundamentals of programming. In addition to programming, students receive a brief orientation to the CWHQ curriculum and platform.

  • Introduction to Python, Class 2
    2. Data Types & Variables

    In this lesson, students use Python and our custom Wizardlib library to manipulate images on a simple web page. This project will teach them the fundamentals of working with variables and basic data types like strings and integers.

  • Introduction to Python, Class 3
    3. Text and Images

    In this lesson, students practice adding and positioning images and text on a webpage using Python and our custom Wizardlib library. After completing this lesson, students can start making small custom projects that use pictures and text.

  • Introduction to Python, Class 4
    4. User Input

    In this lesson, students learn some built-in Python functions for printing text and getting user input, along with two ways to combine variables and strings.

  • Introduction to Python, Class 5
    5. Conditional Statements

    In this lesson, students learn how to make decisions using conditional statements. They use these skills to create an interactive quiz app that tracks correct answers and displays unique messages if you win or lose.

  • Introduction to Python, Class 6
    6. Arithmetic Operators

    In this lesson, students learn how to work with the standard arithmetic operators in Python. This lesson’s project asked students to create a candy store application that lets users order candy with a chance to win a prize.

  • Introduction to Python, Class 7
    7. Functions – Part 1

    In this lesson, students learn how to define custom functions and run them when they click an element on the page. The day’s project is a guess the number application that lets kids practice skills they learned over the course thus far, like conditional statements, getting user input, and adding/positioning text and images on the screen.

  • Introduction to Python, Class 8
    8. Functions – Part 2

    In this lesson, students spend some more time defining and using functions that they authored. They also learn to update text, modify global variables, and make comparisons between two values. The day’s project is a pizza clicker application that reinforces many of the concepts introduced thus far. 

  • Introduction to Python, Class 9
    9. Function Parameters

    In this lesson, students learn to define function parameters and animate images. They also learn about an essential concept for all programmers, D.R.Y. (Don’t Repeat Yourself). They’ll use function parameters and the D.R.Y. principle to create a Ghost Busters app that lets users click animated ghosts for points.

  • Introduction to Python, Class 10
    10. Lists & Loops

    In this lesson, students learn how to store multiple values in a list and loop through lists. In addition, they’ll learn to use Python’s random module to add randomness to their programs. They’ll use what they learn in this lesson to refactor the previous lesson’s homework to be more efficient using loops and lists. 

  • Introduction to Python, Class 11
    11. Final Project – Part 1

    In this lesson, the students begin part 1 of the final project, a small adventure game called Castle Quest. We program a knight to use WASD keyboard movement and start building a corridor out of small wall pieces for the knight to travel through.

  • Introduction to Python, Class 12
    12. Final Project – Part 2

    In the final lesson of this course, students complete the Castle Quest app we started in the previous class. We add win/lose functionality and a few extras, like moving the knight back to the starting position when they hit a barrier. The students will have a full-fledged game to play and share with friends after finishing this class that they coded themselves; it’s quite an accomplishment! View projects in Intro to Programming with Python.

Class Schedule

All students start in Intro to Programming with Python at Wizard Level I. If you have previous coding experience, take the Advanced Placement test. Returning students can continue with the class where they left off.

  • loading icon

#1 Most Comprehensive Program for Your Student’s Success!

The CodeWizardsHQ program comes with everything your child needs to be successful in learning to code.

All of the below are included at no extra cost.

Interactive Live Classes
Structured and Comprehensive Curriculum
Video Recordings of Every Class
Downloadable Slides for Every Class
1×1 Office Hours (Advanced Courses)
Weekly Progress Report & Alerts
Daily Homework Help
Individual Course Certification
Highly Qualified and Experienced Teachers
24/7 Access to Proprietary Coding Platform
Supportive Online Student Community
Path to Real-World Internship
Hands-on, Project Based Learning

Course Duration & Time Commitment
All courses are 12 weeks long. A Wizard will receive a certification for their achievement at the end of the course.

Expect a weekly time commitment of 2-3 hours. 55 minutes of class time, plus 1-2 hours of practice time, with instructor support throughout, including weekends.

100% Guarantee

Our goal is to make all our students successful. If your child is not happy with our program, please notify us within the first four class sessions and you will receive a full refund. See refund details.

Get Your Wizard Started

Start coding with our experienced teachers today.
Enroll risk-free with our 4 session money-back guarantee. Full guarantee details.