In this intermediate course, students will use Python to explore OOP techniques including: encapsulation, polymorphism, and inheritance. The material is introduced and explained through the development of graphical user interface elements and, in a fun way, by building highly approachable, simple computer games. The Python language, because of its simple syntax, makes the implementation of OOP very clear. To build interactivity, we will use the well-known Pygame extension to introduce event-driven programs.
Along the way, you will gain an intermediate level of understanding of the Python language. After this course, you should be able to translate the underlying concepts to other OOP languages with ease.
At the conclusion of the course, you should be able to
- Implement event-driven programs
- Describe the elements that make up an object (class, instance, instance variable, method, class variable)
- Explain how objects allow data and code to work together as a cohesive unit (as opposed to simple functions)
- Describe the three main tenets of object-oriented programming: encapsulation, polymorphism, and inheritance
- Make informed decisions about when it is appropriate to use encapsulation, polymorphism, and inheritance in practice
- Take a complicated programming problem and break it down into a set of manageable, potentially re-usable classes
- Incorporate graphical user interface (GUI) elements in programs, and describe how the underlying GUI code works
- Object-Oriented Programming: Encapsulation, Polymorphism, Inheritance
- Intermediate Python
- Event-driven systems
- Building graphical user interface elements
- Simple games
Skills Needed: Basic programming experience with Python.
- Save Your Seat
Help us confirm course scheduling. Enroll at least seven days before your course starts.
- Accessing Canvas
Learn more about gaining access to your course on Canvas in our FAQ section.
Accessibility and Accommodation
For accessibility questions or to request an accommodation, please visit Access for Students with Disabilities or email the Extension registrar.
Finance Your Education
Here are ways to pay for your education.
Sections Open for Enrollment: