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

Sunday
Sep 7 - Nov 23
7:30 - 9:00
PM ET
Sep 7 - Nov 23
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
$560 (~$47/lesson)
$560 (~$47/lesson)
CLOSED
Tuesday
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
$560 (~$47/lesson)
$560 (~$47/lesson)
ENROLL
Friday
Jan 23 - Apr 10
7:30 - 9:00
PM ET
Jan 23 - Apr 10
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
$560 (~$47/lesson)
$560 (~$47/lesson)
ENROLL
Sunday
Feb 15 - May 3
7:30 - 9:00
PM ET
Feb 15 - May 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
$560 (~$47/lesson)
$560 (~$47/lesson)
ENROLL
Monday
Mar 23 - Jun 15
7:30 - 9:00
PM ET
Mar 23 - Jun 15
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
$560 (~$47/lesson)
$560 (~$47/lesson)
ENROLL

AoPS Holidays

There are no classes December 20 ‐ January 2, May 23 ‐ 25, July 3 ‐ 5, September 5 ‐ 7, October 31, and November 23 ‐ 29 2026.

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. Do note, though, that this software cannot be installed on Chromebooks. We will also share information about online Python compilers that can be used as alternative, but we do recommend students use a computer that can install the needed software directly for ease of saving work.

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)

This was a really awesome and fun programming class. I started from point zero and now I have started to love programming so much! I didn't know anything about programming, and now I feel more confident about my knowledge in that area. So thank you, AoPS, for helping me foster a newborn love for programming and teaching me so much about Python in a super fun way.