Course Catalog Computer Programming
Python II - Object-Oriented Programming
3 units / 20 items
This intermediate course dives into object-oriented programming (OOP) concepts, GUI development, and modular programming with Python. Students will learn about recursion, generators, decorators, and third-party libraries, culminating in a project where students develop a GUI-based chess game using PyGame.
Course Objectives
- Apply object-oriented programming principles including classes, encapsulation, inheritance, polymorphism, and abstraction.
- Learn best practices for software development, including code organization, documentation, and version control.
- Learn new tools to write more efficient and modular Python code.
- Implement modular programming techniques using Python's third-party libraries.
- Develop graphical user interfaces (GUIs) with Python, focusing on event-driven programming and user interaction.
- Complete a comprehensive project to design and implement a chess game using PyGame, demonstrating mastery of OOP and GUI programming.
Objects and Classes
Explore the core principles of Object-Oriented Programming (OOP) in Python, including classes, objects, inheritance, polymorphism, encapsulation, and abstraction. This unit lays the foundation for designing robust and reusable code structures.
- ReadingWhat Is Object-Oriented Programming?
- VideoClasses and Instances
- Checkpoint1.1 Classes, Objects, and Encapsulation in Python
- Checkpoint1.2 Inheritance in Python
- Checkpoint1.3 Polymorphism in Python
- Checkpoint1.4 Abstraction
- Checkpoint1.5 Operator Overloading
Advanced Programming Techniques
Delve into advanced programming concepts such as recursion, scope, and modular programming. This unit also introduces basic graphics with Python using Turtle Graphics, setting the stage for game development with PyGame.
- VideoYou WILL Understand Recursion After Watching This
- Checkpoint2.1 Recursion
- Checkpoint2.2 Scope
- Checkpoint2.3 Modular Programming Revisited
- Checkpoint2.4 Turtle Graphics
- ReadingSidenote - DRY (Don't Repeat Yourself)
- ReadingSidenote - Refactoring Strategies
PyGame
Introduce game development using PyGame. This unit covers the essentials of creating graphical applications, handling user input, and integrating sound. Students will apply their knowledge to develop a GUI-based chess game as their final project.
- Checkpoint3.1 Introduction to Pygame
- Checkpoint3.2 Drawing Shapes in Pygame
- Checkpoint3.3 Handling User Input in Pygame
- Checkpoint3.4 Text and Sound Effects in Pygame
- SlideshowWhat Is Version Control?
- Checkpoint3.5 Final Project

