Need help finding the right class? Have a question about how classes work?
Intermediate Programming with PythonThis course covers intermediate programming concepts such as recursion, object-oriented programming, graphical user interfaces, and event-driven programming. |
12 weeks |
| 12 weeks ARE YOU READY? DO YOU NEED THIS? SYLLABUS |
Schedule
|
STARTING SOON |
||||
|
Tuesday
Mar 10 - May 26 |
7:30 - 9:00 PM ET
Mar 10 - May 26
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 |
Maria Mendes | $560 (~$47/lesson) |
$560
(~$47/lesson)
ENROLL |
|
Sunday
Jun 7 - Aug 30 |
7:30 - 9:00 PM ET
Jun 7 - Aug 30
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 |
Georgie Hager | $560 (~$47/lesson) |
$560
(~$47/lesson)
ENROLL |
|
Monday
Jun 29 - Sep 21 |
7:30 - 9:00 PM ET
Jun 29 - Sep 21
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 |
Roger David Trujillo Ibáñez | $560 (~$47/lesson) |
$560
(~$47/lesson)
ENROLL |
| Fall 2026 | This course will be offered in Fall 2026. Click here to join our mailing list to be notified when the course schedule is available. | |||
AoPS Holidays
Who Should Take?
This course assumes that students have prior experience programming in Python. Specifically, students taking this course should be familiar with Python's built-in data types (including lists, tuples, and dictionaries), Python's conditional and flow-of-control structures (including if/elif/else, for, and while), and Python's input/output functions (including print, input, and file reading and writing). Students who are familiar with these concepts in another programming language but not in Python should learn the Python equivalents prior to taking this class.
Students with no prior programming experience should instead consider our Introduction to 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 as we've found those can have issues with graphics displays, we do recommend students use a computer that can install the needed software directly.
Lessons
| 1 | Review of Python Basics and Programming Basics |
| 2 | Recursion |
| 3 | Classes and Object-Oriented Programming (OOP) |
| 4 | More OOP |
| 5 | Still More OOP! |
| 6 | Inheritance |
| 7 | Event-Driven Programming and GUIs |
| 8 | More with GUIs |
| 9 | Project (Part 1) |
| 10 | Project (Part 2) |
| 11 | Game Design (Part 1) |
| 12 | Game Design (Part 2) |