Math competition season is approaching fast!  Have you enrolled in a contest preparation class?

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, data types, iteration, flow of control, input/output, and functions.

12 weeks

Diagnostics

ARE YOU READY? DO YOU NEED THIS?

Documents

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

Schedule

Tuesday
Jul 9 - Sep 24
7:30 - 9:00
PM ET
Jul 9 - Sep 24
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
Sunday
Aug 11 - Nov 3
7:30 - 9:00
PM ET
Aug 11 - Nov 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)
CLOSED

STARTING SOON

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)
ENROLL
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 October 31, November 25 ‐ December 1, December 21 ‐ January 3, May 24 ‐ 26, July 4 ‐ 6, and August 29 ‐ September 1, 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)

It was a lot of fun and I really liked doing the games at the end. I liked them because when they were done, I could use them, and I was surprised that I knew enough to make them work.