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.
Learning Outcomes
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
Topics include
- Object-Oriented Programming: Encapsulation, Polymorphism, Inheritance
- Intermediate Python
- Event-driven systems
- Building graphical user interface elements
- Simple games
*This course may be applied to a certificate only if you are currently declared in a program.
Prerequisites / Skills Needed
Prerequisites:
- CMPR.X415: Python Programming for Beginners
This course applies to these programs: