Skip to content

Python - Object Oriented Programming

Access code required

Students will learn Object-Oriented Programming concepts such as creating classes, objects, methods overloading, constructors, polymorphism, and more to develop applications based on Object-Oriented design concepts. This is an excellent course for students planning to take AP Computer Science, developing software in Python, or wanting to develop a career as a Software Engineer.

Pre Requisite:

Introduction to Python or equivalent.

Learning Objectives

Following are the objective of this course:

  • Introduce the modern programming concepts and other design methodologies
  • Discuss the concepts of good software design and methods.
  • Design programs using object-oriented problem-solving techniques.
  • Use the concepts of different types of structured programming.


  • This course is good for high school students who are planning to take AP Computer Science or want to develop an application using object-oriented programming concepts.


  • Introduction to Object-Oriented Programming
  • Understand Attributes
  • Understand Method
  • Understand and implement a Class
  • Define Access Level
  • Create an Object
  • Types of Methods
  • Using Constructor
  • Using Accessors
  • Using Mutators
  • Static Method
  • Inheritance
  • Superclass and subclass
  • Polymorphism
  • Encapsulation and Information Hiding
  • Abstract Class
  • Object-Oriented Design
  • Identifying Classes
  • Identifying Behaviors
  • Determining Relationships between Classes
  • Implementing classes
  • Implementing Methods
  • Identifying Relationship between Objects
  • IS-A Relationship
  • HAS-A Relationship 


  • The course assumes that the learner is familiar with the Internet and Windows. The student should have a basic knowledge of Python Programming Language. 
  • This course depends on the student's commitment to work in class and, if necessary, to work independently on his/her own time on a project assigned to them that will require access to the computer.

Learning Resources and Tools

  The workload of each unit varies, and each unit consists of the following:

  • Lecture: The Lecture consists of notes that can be used by students as reference material.
  • Video: The Video consists of a presentation on the topics covered in the lecture note.
  • Hands-on Exercise: The hands-on exercises allow students to apply the concepts learned in each unit.
  • Quiz: The quiz allows the student to validate their learning further.
  • Projects: Projects help students apply the concepts learned through the lecture and apply to build an application

Technical Requirements

  • Access to a computer, an Internet browser, and a headset.

Here is the course outline:

1. Introduction to Object Oriented Programming

This unit will include basic concepts of Object-Oriented programming such as understanding Objects, Attributes of an Object, behavior of an Object, Combining Objects, and creating an Object.

2. Introduction to Methods

This unit will include understanding Methods, different types of Methods (Constructors, Accessors, and Mutators), using keyword Static, creating an instance of an object, reference Data Types, Primitive Data Types, and Null Reference

3. Inheritance, Superclass and subclass

This module will cover the topics related to Inheritance including the difference between superclass and subclass.

4. Polymorphism, Overloading and Overriding

This module will cover topics related to Polymorphism. The module will also cover two types of polymorphism: Overloading and Overriding.

5. Object Oriented Design

This unit will cover Object Oriented Design methodology including Identifying Classes, Identifying Behaviors, Determining Relationships and Relationship type, Implementing Classes and Implementing Methods.

6. Project: Bank Account


7. Project: Tic-Tac-Toe


8. Projects



The following certificates are awarded when the course is completed:

NRCLC Certificate of Completion
Back to top