This course takes students who can already write Python programs and teaches them to think like software engineers — organizing code into reusable objects and building real, interactive desktop applications instead of one-off scripts.
Object-oriented programming fundamentals — classes, objects, inheritance, encapsulation, and polymorphism — paired with advanced Tkinter GUI techniques like custom widgets, event handling, and image animation. Students leave understanding how to design software that’s organized, reusable, and easy to extend.
A portfolio of complete, working desktop applications — games, tools, and utilities built entirely by the student, each one reinforcing a different OOP concept in a project they actually want to finish.
Students should have completed Python for Kids: Parts 1, 2, and 3.
Students ready to move from writing scripts to building real software, and students preparing for AP Computer Science or future technical coursework.