Your browser is ancient!
Upgrade to a different browser to experience this site.

The Power of Object-Oriented Programming

4 Modules
24 Hours
6 hrs per module (approx.)
Rating

About The Power of Object-Oriented Programming

Object-oriented programming (or OOP) is a model that allows you to organize data by classes and objects using attributes. It’s also one of the most popular types of programming, making it an essential skill to help you better communicate with programmers in your organization.

In this four-week course from the University of Michigan, you will expand your knowledge of OOP and learn how to write programs with objects from classes and how to write your own classes. You’ll also gain confidence as you learn to understand and modify larger object-oriented programs.

This course has a highly stimulating and creative approach to OOP. This includes activities like creating an image collage as well as a model of a real-world object, such as a Magic 8-Ball.

Through these activities, you’ll put your programming knowledge into practice using fun and innovative methods.

This course will allow you to communicate and work alongside other learners along the journey.
With this support, you’ll be able to use knowledge-sharing and teamwork to broaden your understanding and explore the possibilities of OOP together.

This course is designed for learners interested in extending their knowledge of Python.

It will also be helpful to those wishing to learn a textual programming language or for professionals who work and communicate with programmers but don’t use Python.

Skills You'll Gain

  • Debugging
  • Object Oriented Modeling & Design
  • Object-Oriented Programming (OOP)
  • Object Oriented Programming & Systems
  • Object-Oriented Software Development
  • Python (Programming Language)

What You'll Earn

Certificate of Completion:
Certificates of completion acknowledge knowledge acquired upon completion of a non-credit course or program.
Experience Type
100% Online
Format
Self-Paced
Subject
  • Data Science
  • Technology
Platform
Coursera
Welcome Message

Welcome to The Power of Object-Oriented Programming, a Python course focused on building scalable, creative, and robust programs using object-oriented principles. You will learn how to design and use classes, create objects, and apply inheritance and association to model real-world systems. Through hands-on practice and creative coding projects, this course helps you deepen your programming skills while creating visual and interactive applications.
This abbreviated syllabus description was created with the help of AI tools and reviewed by staff. The full syllabus is available to those who enroll in the course.

Course Schedule

Module 1: Getting Started with Objects and Turtles

  • Video: Meet Dr. Barb Ericson!
  • Video: How is This Course Different?
  • Reading: Syllabus
  • Reading: Community Engagement Guidelines
  • Reading: Course Pre-Survey
  • Video: What is Python?
  • Video: Why Work in Groups?
  • Video: POGIL Roles
  • Discussion Prompt: How to Work in Groups
  • Video: How to Write Code in the eBook
  • Video: Reloading Your Code History
  • Reading: Week 1 Overview
  • Video: Welcome to Week 1
  • Discussion Prompt: Introduce Yourself | Where in the World Are You?
  • Video: Important Concepts in Programming
  • Video: Classes are Like Factories
  • Video: Intro to Turtles
  • Video: Importing Modules
  • Video: Turtle Basics
  • Video: Viewing Problems in Context
  • App Item: eBook Login
  • Reading: Exercise: Ebook Work | Turtles
  • Video: Fix Turtle Error 1
  • Video: Fix Turtle Error 2
  • Reading: Exercise: Ebook Work | Turtle Methods
  • Video: Solve Draw F
  • App Item: Peer Instruction: Turtles
  • Discussion Prompt: Peer Instruction Discussion: Turtles
  • App Item: Exercise: Turtles Practice | No Loops
  • Video: Using Multiple Turtles
  • Reading: Exercise: Group Work | Multiple Turtles
  • Reading: Exercise: Group Work | Repetition with Turtles
  • Reading: Exercise: Group Work | Turtle Stamp
  • Reading: Exercise: Group Work | Functions with Turtles
  • Video: Creating Useable Functions
  • Video: How to Fill a Shape with Color
  • App Item: Peer Instruction: Advanced Turtle
  • Discussion Prompt: Peer Instruction Discussion: Advanced Turtle
  • App Item: Exercise: Turtles Practice | Turtles, Loops, and Functions
  • Reading: Assignment Brief | Drawing a Scene
  • Reading: Assignment Instructions | Drawing a Scene
  • App Item: Assignment Submission | Drawing a Scene
  • Discussion Prompt: Assignment Reflection | Extend Your Thinking
  • Discussion Prompt: Turtles Recap
  • Graded: Week 1 Quiz

Module 2: Writing a Simple Class

  • Reading: Week 2 Overview
  • Video: Welcome to Week 2
  • Video: Intro to Writing a Class in Python
  • Reading: Exercise: Group Work | Objects and Classes
  • Video: Walk Through Creating and Printing an Object with CodeLens
  • Video: How to Add a Method to a Class
  • App Item: Peer Instruction | Simple Class
  • Discussion Prompt: Peer Instruction Discussion | Simple Class
  • App Item: Exercise: Classes Practice | Simple Class
  • Video: How to Design a Class
  • Video: Getting User Input
  • Video: Pick a Random Number
  • Video: Creating a Class - NumGuess
  • App Item: Exercise: Ebook Work | Creating a Point Class
  • Reading: Exercise: Ebook Work | Creating a Point Class
  • Reading: Exercise: Ebook Work | Passing Values to a Constructor
  • Reading: Exercise: Ebook Work | Defining Methods
  • Reading: Exercise: Ebook Work | Adding the __str__ method
  • App Item: Peer Instruction: Class
  • Discussion Prompt: Peer Instruction Discussion: Class
  • App Item: Exercise: Class Practice | Single Class
  • Reading: Assignment Brief | Fortune Teller
  • Reading: Assignment Instructions | Fortune Teller
  • App Item: Assignment Submission | Fortune Teller
  • Discussion Prompt: Assignment Reflection | Extend Your Thinking
  • Discussion Prompt: Classes Recap
  • Graded: Week 2 Quiz

Module 3: Multiple Classes

  • Reading: Week 3 Overview
  • Video: Welcome to Week 3
  • Video: Introduction to Images and Pixels
  • App Item: Exercise: Ebook Work | Image Manipulation
  • Reading: Exercise: Ebook Work | Image Manipulation
  • Video: How to Create a Negated Image
  • App Item: Peer Instruction | Images and Pixels
  • Discussion Prompt: Peer Instruction Discussion | Images and Pixels
  • App Item: Exercise: Images and Pixels Practice | Image Manipulation
  • Video: Analyzing a Card Game
  • Video: Introduction to UML Class Diagrams
  • Video: Matching Card Objects
  • Video: Step Through the Card Class
  • App Item: Exercise: Group Work | Multiple Classes
  • Reading: Exercise: Group Work | Multiple Classes
  • Reading: Peer Instruction | Multiple Classes
  • Discussion Prompt: Peer Instruction Discussion | Multiple Classes
  • Reading: Exercise: Multiple Classes Practice | Multiple Classes
  • Reading: Assignment Brief | Adventure Game
  • Reading: Assignment Instructions | Adventure Game
  • App Item: Assignment Submission | Adventure Game
  • Discussion Prompt: Assignment Reflection | Extend Your Thinking
  • Discussion Prompt: Multiple Classes Recap
  • Graded: Week 3 Quiz

Module 4: Inheritance and Association

  • Reading: Week 4 Overview
  • Video: Welcome to Week 4
  • Video: Introduction to Inheritance in UML Class Diagrams
  • Video: Introduction to Inheritance in Python
  • Reading: Exercise: Ebook Work | Point and LabeledPoint
  • Reading: Exercise: Ebook Work | Reuse Parent Methods with super()
  • Video: Which Method Gets Called?
  • Video: Specialization and Generalization
  • App Item: Peer Instruction | Inheritance
  • Discussion Prompt: Peer Instruction Discussion | Inheritance
  • App Item: Practice with Inheritance
  • Reading: Exercise: Ebook Work | Association
  • Reading: Exercise: Ebook Work | UML Class Diagrams
  • Reading: Exercise: Ebook Work | Inheritance versus Association
  • App Item: Peer Instruction | Inheritance and Association
  • Discussion Prompt: Peer Instruction Discussion | Inheritance and Association
  • App Item: Exercise: Inheritance and Association Practice
  • Reading: Assignment Brief | Adding Image Effects to a Class
  • Reading: Assignment Instructions | Adding Image Effects to a Class
  • App Item: Assignment Submission | Adding Image Effects to a Class
  • Discussion Prompt: Assignment Reflection | Extend Your Thinking
  • Discussion Prompt: Inheritance and Association Recap
  • Discussion Prompt: End of Course Recap
  • Reading: Closing Survey + Attributions
  • Graded: Week 4 Quiz
Grading Policy

Learners are assessed through weekly quizzes that measure understanding of object-oriented programming concepts. Ungraded exercises, discussions, and assignments support learning but do not count toward the final grade. To pass the course, learners must complete four weekly quizzes, each worth 25% of their final grade.

Course content developed by U-M faculty and managed by the university. Faculty titles and affiliations are updated periodically.

Intermediate Level

Some related experience required

Enrollment Options

Individuals

This experience is available to individual learners on the following platforms:

U-M Community

Students, faculty, staff, and alumni of the University of Michigan get free access.

Organizations

Special pricing and tailored programming bundles available for organizational partners.

What are Coursera and edX?

Michigan Online learning experiences may be hosted on one or more learning platforms. Platform features may vary, including payment models, social communities, and learner support.

Coursera

  • Hosts online courses, series, and Teach-Outs from Michigan Online
  • Enroll and preview courses anytime
  • May earn a non-credit certificate from Coursera

edX

  • Hosts online courses and series from Michigan Online
  • Many offer a free (limited) audit option
  • May earn a non-credit certificate from edX

For more information visit the What are Coursera and edX? FAQ section

Reviews and Ratings

3.8

4 Ratings from Coursera

Michigan Online
For You

Sign up for a Michigan Online account to customize your experience!