Spring is around the corner! Get ahead by enrolling in our math, science, or contest classes today!

Need Help?

Need help finding the right class? Have a question about how classes work?

Click here to Ask AoPS!

Introduction to Programming with Python

A first course in computer programming using the Python programming language. This course covers basic programming concepts such as variables, for loop iterations, and control flow involving if statements. Students can also expect to build strong foundations in functions, input/output, and arrays as well as other data types.

12 weeks

Diagnostics

ARE YOU READY? DO YOU NEED THIS?

Documents

SYLLABUS
12 weeks ARE YOU READY? DO YOU NEED THIS? SYLLABUS  

Schedule

Wednesday
Sep 25 - Dec 18
7:30 - 9:00
PM ET
Sep 25 - Dec 18
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$545 (~$46/lesson)
$545 (~$46/lesson)
CLOSED
Monday
Dec 2 - Mar 3
7:30 - 9:00
PM ET
Dec 2 - Mar 3
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$545 (~$46/lesson)
$545 (~$46/lesson)
ENROLL
Friday
Jan 17 - Apr 4
7:30 - 9:00
PM ET
Jan 17 - Apr 4
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$545 (~$46/lesson)
$545 (~$46/lesson)
ENROLL
Sunday
Feb 16 - May 4
7:30 - 9:00
PM ET
Feb 16 - May 4
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$545 (~$46/lesson)
$545 (~$46/lesson)
ENROLL
Monday
Mar 24 - Jun 16
7:30 - 9:00
PM ET
Mar 24 - Jun 16
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$545 (~$46/lesson)
$545 (~$46/lesson)
ENROLL

AoPS Holidays

There are no classes December 21 ‐ January 3, May 24 ‐ 26, July 4 ‐ 6, August 29 ‐ September 1, October 31, and November 24 ‐ November 30, 2025.

Who Should Take?

This course will assume no previous computer programming experience. Students who are proficient in a programming language other than Python might be better served by studying Python syntax on their own before moving on to our Intermediate Python course. This class is appropriate for middle and high school students who do not have computer programming experience and have completed at least a Prealgebra math course.

Students with prior programming experience in Python might instead consider our Intermediate Programming with Python course. Students with considerable experience with another language might also consider our Intermediate Programming with Python course.

We will be providing a free online textbook for this class, which students can access from the class homepage. Students will also need to download free Python software onto their computers. We will provide detailed instructions for how to install this software prior to the beginning of the course.

Lessons

1 What is Programming? What is Python?
2 Data Types, Variables, and Expressions
3 Turtles and Loops
4 Functions
5 Conditionals
6 Flow of Control
7 Strings
8 Lists and Tuples
9 File Input/Output
10 Dictionaries
11 Final Project (Part 1)
12 Final Project (Part 2)

I really enjoyed taking this course. I learned a lot, and the class was very well-taught.