HEROES Academy: Object Oriented Programming, Fall 2016

Course Description

Video games, phone applications, and many other kinds of programs use the Object Oriented Programming (OOP) design paradigm. Objects are discrete components defined by specific syntax in programming languages. They reflect real world distinctions between types of objects. Object Oriented Programming is more than just syntax, however. It is also a design philosophy that promotes computational thinking, efficient programming, and the reuse of code.

Building upon the Introduction to Python course, we will use Pygame and Python to simultaneously learn about objects and building video games.

The class will tour through the major OOP concepts:

  • encapsulation (packaging of code)
  • polymorphism (code reuse)
  • inheritence (syntactically efficient code structure)
  • composition (functionally efficient code structure).

While learning about these major concepts, students will learn about game engines, the need for objects in games, and how to turn their creative ideas into tangible products. By the end of the course, the students will have a working game and be able to make progress on furthering it on their own.