Saturday Phone Service Interruption

There will be a brief pause in our phone service beginning at noon on Saturday, May 15 through May 16. For course emergencies, you may reach us at extension@ucsc.edu.

Course

Python: Object-Oriented Programming | CMPR.X420


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

    • Skills Needed: Basic programming experience with Python.

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860

Prerequisite(s):

Sections Open for Enrollment:

Open Sections and Schedule
Start / End Date Units Meeting Type Cost Instructor
07-01-2021 to 08-26-2021 2.0 Live-Online $750

Irv Kalb

Enroll

Schedule

Date: Start Time: End Time: Meeting Type: Location:
Thu, 07-01-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 07-08-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 07-15-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 07-22-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 07-29-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 08-05-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 08-12-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 08-19-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Thu, 08-26-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE