Summer schedule is now available! Enroll today to secure your spot!

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 lessons

Diagnostics

ARE YOU READY? DO YOU NEED THIS?

Documents

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

Schedule

Friday
Jan 26 - Apr 12
7:30 - 9:00
PM ET
Jan 26 - Apr 12
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/week)
$545 (~$46/week)
CLOSED
Sunday
Feb 25 - May 12
1:00 - 2:30
PM ET  
Feb 25 - May 12
1:00 - 2:30 PM Eastern
12:00 - 1:30 PM Central
11:00 - 12:30 PM Mountain
10:00 - 11:30 AM Pacific
Click here to see more time zones
$545 (~$46/week)
$545 (~$46/week)
CLOSED
Tuesday
Mar 19 - Jun 4
7:30 - 9:00
PM ET
Mar 19 - Jun 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/week)
$545 (~$46/week)
ENROLL
Monday
Apr 15 - Jul 8
7:30 - 9:00
PM ET
Apr 15 - Jul 8
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/week)
$545 (~$46/week)
ENROLL
Sunday
May 12 - Aug 4
7:30 - 9:00
PM ET
May 12 - Aug 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/week)
$545 (~$46/week)
ENROLL
Wednesday
May 29 - Aug 14
7:30 - 9:00
PM ET
May 29 - Aug 14
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/week)
$545 (~$46/week)
ENROLL
Sunday
Jun 9 - Aug 25
1:00 - 2:30
PM ET  
Jun 9 - Aug 25
1:00 - 2:30 PM Eastern
12:00 - 1:30 PM Central
11:00 - 12:30 PM Mountain
10:00 - 11:30 AM Pacific
Click here to see more time zones
$545 (~$46/week)
$545 (~$46/week)
ENROLL
Tue & Thurs
Jun 11 - Jul 23
7:30 - 9:00
PM ET
Jun 11 - Jul 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
$545
$545
ENROLL
Friday
Jun 21 - Sep 13
7:30 - 9:00
PM ET
Jun 21 - Sep 13
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/week)
$545 (~$46/week)
ENROLL
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/week)
$545 (~$46/week)
ENROLL

AoPS Holidays

There are no classes May 25 ‐ 27, July 4, August 30 ‐ September 2, and November 25 ‐ December 1.

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

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

This was another awesome AoPS class! I started out with zero Python experience, and now I love Python and enjoy solving various problems. The instructor was very informative and explained everything really well. The assistant instructors were also great and helped me out whenever I had a question (which happened a lot). Overall, I loved this class!