Congratulations Team USA, all of whom are AoPS WOOT alumni, for their 1st Place win at the 65th International Mathematical Olympiad! Discover WOOT.

Need Help?

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

Click here to Ask AoPS!

Intermediate Programming with Python

This course covers intermediate programming concepts such as recursion, object-oriented programming, graphical user interfaces, and event-driven programming.

12 weeks

Diagnostics

ARE YOU READY? DO YOU NEED THIS?

Documents

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

Schedule

Sunday
Jun 2 - Aug 18
7:30 - 9:00
PM ET
Jun 2 - Aug 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
Tuesday
Jun 18 - Sep 3
7:30 - 9:00
PM ET
Jun 18 - Sep 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
Friday
Sep 27 - Dec 20
7:30 - 9:00
PM ET
Sep 27 - Dec 20
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 August 30 ‐ September 2, October 31, November 25 ‐ December 1, and December 21, 2024 ‐ January 3, 2025.

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.

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)

I really enjoyed this class. I learned a lot of Python (especially graphics) and maybe even more about programming style and "how" to program, to save time later debugging and to find information about the program easily. On the homework, I felt that the graders did an excellent job going through every part of my program thoroughly and pointing out where I made mistakes or could have simplified my program. I struggled a little bit at the beginning of the class with the homework but got much more comfortable with weeks 3 and 4. I had / am having a lot of fun with the in-depth projects and it really taught me a lot more about programming.