Build games and GUIs while learning Python encapsulation, inheritance, and polymorphism.
Skills you will gain
- Event-Driven Programming: Create interactive applications using event-driven techniques and the Pygame library.
- Object-Oriented Concepts: Understand and apply key OOP principles like encapsulation, polymorphism, and inheritance.
- Object and Class Structure: Design and implement classes, instances, and methods to manage data and behavior effectively.
- Problem Decomposition: Break complex problems into manageable, reusable classes for cleaner, more efficient code.
- Graphical User Interfaces: Incorporate GUI elements into programs and understand the underlying code functionality.
Course Description
Demand for Python programmers who understand the latest skills in today’s fastest growing computer language, grows every day. Object-oriented programming (OOP) has become a must-have technique in today’s high-tech software development jobs.
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.
Topics
- Object-Oriented Programming: Encapsulation, Polymorphism, Inheritance
- Intermediate Python
- Event-driven systems
- Building graphical user interface elements
- Simple games
- CMPR.X415: Python Programming for Beginners
- Basic programming experience with Python.
Prerequisites / Skills Needed
Prerequisites:
Skills Needed:
- Online Self-Paced Work online at your own pace.
| Date | Start Time | End Time | Meeting Type | Location |
|---|---|---|---|---|
| Wed, 04-01-2026 | 12:01am | 12:02am | Online Self-Paced | ONLINE |
| Wed, 07-01-2026 | 11:58pm | 11:59pm | Online Self-Paced | ONLINE |
Online Self-Paced courses have a structured learning environment where students are allowed to complete the work at their own pace. Students may complete the coursework early or use the entire duration of the course. This course is largely self-study with instructor guidance and includes online learning modules, assignments, and/or quizzes. All course materials and assignments will be available at the beginning of the course on Canvas, our learning management system.
For this section, student access begins on April 1, but you may still enroll until May 13, 2026. All course work must be completed by 11:59 pm on July 1, 2026.
*All grades will be processed at the end of the course.
Access to a computer with Python version 3.9 or higher is required. python.org is where to get the official version. The default "IDLE" editor is recommended, but students can use any Python development environment, as long as you can produce ".py" files.
You will be granted access in Canvas to your course site and course materials approximately 24 hours prior to the published start date of the course.
Required Tools & Materials: Python Edition 3.9 or later. Authors: Python Software Foundation
python.org is where to get the official version. You can use any Python development environment, as long as you can produce ".py" files. I will use both the default "IDLE" editor and "PyCharm" (free Community Edition) in class.
Recommended Tools & Materials:
Object-Oriented Python, I. Kalb, No Starch Press, 2022, ISBN 9781718502062. This text is OPTIONAL - not required. The course covers about two thirds of the material in this book. Instructor will provide notes for each class meeting.
|| Prerequisites: Skills Needed:
Prerequisites / Skills Needed
This course applies to these programs: