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



Oct 9 - Jan 15
7:30 - 9:00
Oct 9 - Jan 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
Summer 2016This course will be offered in Summer 2016. Click here to join our mailing list to be notified when the course schedule is available.

AoPS Holidays

There are no classes November 23-27, December 19-January 3, May 30, July 4, or September 5.

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.

For students with some programming experience, we also offer a Java Programming with Data Structures course. The Java course is more mathematically advanced and a considerably greater time commitment than Intermediate Programming with Python. Students who have not completed an Algebra 2 or Trigonometry course would probably find Intermediate Programming with Python more appropriate than the Java course.


Lesson 1 Review of Python Basics and Programming Basics
Lesson 2 Recursion
Lesson 3 Classes and Object-Oriented Programming (OOP)
Lesson 4 More OOP
Lesson 5 Still More OOP!
Lesson 6 Inheritance
Lesson 7 Event-Driven Programming and GUIs
Lesson 8 More with GUIs
Lesson 9 Project Week 1
Lesson 10 Project Week 2
Lesson 11 Game Design Week 1
Lesson 12 Game Design Week 2

This course was very interesting. It kept me on my toes and made sure I kept in touch with Python. I had some problems understanding OOP and Gui when put together but now I have understood it much better with the number of projects and games we have been creating.


Stay Connected

Subscribe to get news and
updates from AoPS, or Contact Us.
© 2015
AoPS Incorporated
Invalid username
Login to AoPS