
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.

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

Prerequisites
No prerequisites for this course. Beginners with no experience are welcome.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
#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.
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.