Best Object Oriented Programming Courses

Find the best online Object Oriented Programming Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings. We also have a separate page listing only the Free Object Oriented Programming Courses.

Java Programming Basics

Learn to program! Let's walk through some simple examples and I'll explain everything along the way.

Created by Charles Mulic - Professional Code Monkey


Students: 135830, Price: Free

Students: 135830, Price:  Free

Learn about programming through a series of short, concise examples with line by line explanations covering everything from getting up and running to object oriented programming, data structures, and various tips and tricks to help you along your way.

Section 1 will get you up and running with everything you'll need to write and run Java programs.

Section 2 will introduce fundamental programming concepts such as variables, methods, and control structures that will put you well on your way to writing your own applications.

Section 3 dives a bit deeper as we learn about object oriented programming. You'll learn how to write code that can be reused easily, as well as gain some insight into technical details about how programs actually run on hardware.

Java Programming for Complete Beginners

Java Programming Course for Beginners to Java Object Oriented Programming. BONUS: Build REST API with Spring Boot.

Created by in28Minutes Official - DevOps, Azure, GCP, Docker, Kubernetes, Java & Spring Boot


Students: 110302, Price: $89.99

Students: 110302, Price:  Paid


RECOMMENDED for absolute beginners to Java and Programming!

BONUS - Learn to Build REST API with Spring, Spring Boot, and JPA

7 Things YOU need to know about this JAVA PROGRAMMING Course

#1: 100,000+ Learners - One of the highest-rated Java Courses on Udemy!

#2: Designed for ABSOLUTE BEGINNERS to Java Programming

#3: HANDS-ON - Write 100+ Programs - The best way to learn Java Programming is to get your hands dirty!

#4: PUZZLES and EXERCISES to help reinforce your learning

#5: One of the first courses to be updated to JAVA 16. Covers all new features in Java 9, Java 10, Java 11, Java 12, Java 13, Java 14, Java 15, and Java 16.

#6: FREE 150 Page Course Companion Web Site

#7: BONUS - Learn to Build REST API with Spring, Spring Boot, and JPA (Hibernate)


5 STARS - The best Java course out there for Beginners. Highly recommended.

5 STARS - This course exceeded all my expectations. HIGHLY RECOMMENDED!

5 STARS - Great mix of theory and exercises!

5 STARS - What a great course!!!

5 STARS - This is the best Java course I've come across. It's straight to the point without any missing details. You can get an idea of what you're getting into working with Java fast with this course. I really like it.

5 STARS - Never thought taking an online course will be so helpful. The instructor is quite engaging, gives a good amount of exercises.

5 STARS - This course is wonderful! I really enjoy it. It really is for beginners, so it's very helpful for people which don't know anything about programming.

5 STARS - It's very well thought out. I enjoy the constant exercises and the challenge they present to make things happen.


Java is one of the most popular programming languages. Java offers both object-oriented and functional programming features.

We take a hands-on approach using a combination of JShell and Eclipse as an IDE to illustrate more than 200 Java Coding Exercises, Puzzles, and Code Examples. This course assumes no previous ( beginner ) programming or Java experience. If you’ve never programmed a computer before, or if you already have experience with another programming language and want to quickly learn Java, this is a perfect course for you.

In more than 250 Steps, we explore the most important Java Programming Language Features

  • Basics of Java Programming - Expressions, Variables, and Printing Output

  • Java Operators - Java Assignment Operator, Relational and Logical Operators, Short Circuit Operators

  • Java Conditionals and If Statement

  • Methods - Parameters, Arguments, and Return Values

  • Object-Oriented Programming - Class, Object, State, and Behavior

  • Basics of OOPS - Encapsulation, Abstraction, Inheritance, and Polymorphism

  • Basics about Java Data Types - Casting, Operators, and More

  • Java Built-in Classes - BigDecimal, String, Java Wrapper Classes

  • Conditionals with Java - If Else Statement, Nested If Else, Java Switch Statement, Java Ternary Operator

  • Loops - For Loop, While Loop in Java, Do While Loop, Break and Continue

  • Immutability of Java Wrapper Classes, String and BigDecimal

  • Java Dates - Introduction to LocalDate, LocalTime and LocalDateTime

  • Java Array and ArrayList - Java String Arrays, Arrays of Objects, Primitive Data Types, toString and Exceptions

  • Introduction to Variable Arguments

  • Basics of Designing a Class - Class, Object, State and Behavior. Deciding State and Constructors.

  • Understanding Object Composition and Inheritance

  • Java Abstract Class and Interfaces. Introduction to Polymorphism.

  • Java Collections - List Interface(ArrayList, LinkedList and Vector), Set Interface (HashSet, LinkedHashSet and TreeSet), Queue Interface (PriorityQueue) and Map Interface (HashMap, HashTable, LinkedHashMap and TreeMap() - Compare, Contrast and Choose

  • Generics - Why do we need Generics? Restrictions with extends and Generic Methods, WildCards - Upper Bound and Lower Bound.

  • Functional Programming - Lambda Expression, Stream and Operations on a Stream (Intermediate Operations - Sort, Distinct, Filter, Map and Terminal Operations - max, min, collect to List), Functional Interfaces - Predicate Interface, Consumer Interface, Function Interface for Mapping, Method References - static and instance methods

  • Introduction to Threads and MultiThreading - Need for Threads

  • Implementing Threads - Extending Thread Class and Implementing Runnable Interface

  • States of a Thread and Communication between Threads

  • Introduction to Executor Service - Customizing the number of Active Threads. Returning a Future, invokeAll, and invokeAny

  • Introduction to Exception Handling - Your Thought Process during Exception Handling. try, catch, and finally. Exception Hierarchy - Checked Exceptions vs Unchecked Exceptions. Throwing an Exception. Creating and Throwing a Custom Exception - CurrenciesDoNotMatchException. Try with Resources - New Feature in Java 7.

  • List files and folders in Directory with Files list method, File walk method and find methods. Read and write from a File.

Start Learning Now. Hit the Enroll Button!

Basics of Object Oriented Programming with C#

This course will introduce you to the Basics of OOP with C#, followed by a Project to Practice - Warrior Wars!

Created by Tod Vachev - Best Selling Instructor 100,000+ Students, Robotics Engineer


Students: 82519, Price: Free

Students: 82519, Price:  Free

This course will lay the foundations of Object Oriented Programming (OOP) in your mind, allowing you to progress to more complex, systematic and cleaner Programming methods.

The course is aimed at students who have at least some coding experience, preferably with C# (but Java or any other similar language is also acceptable).

In the course you will learn:

  • What is an object and a class
  • What is object oriented programming
  • Class Constructors
  • Namespaces
  • Should you or should you not use the "this" keyword
  • Fields and Properties
  • Different ways in which Properties can be used
  • Const and Readonly constants, the difference between them and how to use them
  • Static Fields and Static (Singleton) Classes
  • Enumerations
  • And more...

At the end, we will create a project to practice everything that we have learned in the course, by using a clean and systematic way.

We are going to ask ourselves a series of questions and we will answer them with code, this will produce a beautifully written high quality code, that you will fall in love with.

Object Oriented Programming (OOPs) for JAVA Interviews

To clear Java Interviews with confidence



Students: 62442, Price: Free

Students: 62442, Price:  Free

The student can get complete knowledge on the following topics:

1. Java Source File Structure

2. Import Statement

3. Package Statement

4. Class Level Modifiers

5. Abstract Method

6. Abstract class

7. Member Modifiers

8. Interfaces

9. Data Hiding

10. Abstraction

11. Encapsulation

12. Tightly Encapsulated Class

13. Inheritance

14. Importance of Inheritance

15. Types of Inheritance

16. Multiple Inheritance

17. Cyclic Inheritance

18. Method Signature

19. Overloading

20. Method Overriding

21. Method Hiding

22. Polymorphism

23. Object Typecasting

24. Constructors

Learn Java Programming

Java for Testers and Developers

Created by Pavan Kumar - Test Architect ★ Tech Educator ★ Trainer ★ YouTuber


Students: 42255, Price: Free

Students: 42255, Price:  Free

Why Learn Java?

Java is a general-purpose, versatile and popular programming language. It's great as a first language because it is concise and easy to read, and it is also a good language to have in any programmer's stack as it can be used for everything from web development to software development and scientific applications.

Take-Away Skills:

This course is a great introduction to both fundamental programming concepts and the Java programming language. By the end, you'll be comfortable programming in Core Java.

Topics Covered:

Module-1: Java Fundamentals

  • Download and install Java

  • Setup Java Environment

  • Download and install Eclipse

  • How to use Eclipse

  • Basic Java Program

  • Compile and run a Java program

  • Understanding console output

  • Java Variables and Data Types

  • Java Operators

  • Conditional statements

  • Loops

  • Break and continue

  • Arrays

  • Single Dimensional array

  • Double Dimensional array

  • String Class

  • String methods

Module-2: Java OOPS Concepts

  • Classes and Objects

  • Java methods

  • Passing parameters to the methods

  • Call by value and call by reference

  • Java Constructor

  • Method Overloading

  • Constructor Overloading

  • this keyword

  • Static variables and methods

  • Java Inheritance

  • Method Overriding

  • super keyword

  • final keyword

  • Java Interfaces

  • Java Packages

  • Access Modifiers

  • Exception Handling

  • Array List

  • Hash Map

  • JDBC

First Steps in Java

Get a good grasp on the basics of Java programming language: topics ranging from basic syntax to database operations

Created by Holczer Balazs - Software Engineer


Students: 35701, Price: Free

Students: 35701, Price:  Free


This course is designed for students or anyone else who want to start Java as a programming language. We will consider several topics ranging from installing Java itself to MySQL database operations. The first chapter will be about the basics: loops, decision making, variables and so on. The next chapters will be about exception handling as well as how to deal with input/output operations. Of course, we will consider the object orinted principles: inheritance, polymorphism and encapsulation as well. The last chapter will be about how to connect to a MySQL database and how to make the basic database-related operations: inserting new items, removing items or updating items in the database table.

Hope you will like it!

Python OOP : Object Oriented Programming in Python

Python Object Oriented programming OOP advanced / Scripting for projects / automation / interview questions / beginners

Created by Deepali Srivastava - Author


Students: 31011, Price: Free

Students: 31011, Price:  Free

This "Python OOP : Object Oriented Programming in Python" course provides good understanding of object oriented concepts and implementation in Python programming.

Note: This course is a part of my detailed Python course "Python Programming/Script/OOP/Advanced for Python 3 Projects" that includes 5 projects, 600+ Exercises & Quizzes.

Why learn Object Oriented Python Programming

  • Preferred language for Data Science/AI/ML/Automation

  • Enrich your Object Oriented Python skills

  • Implement/Understand Object Oriented Python techniques

  • Better Development/Maintenance

  • Flexible and Extensible software design

  • Well prepared for interviews

Design and development of a product requires great understanding of implementation language. The complexity of real world application requires the use of strength of language to provide robust, flexible and efficient solutions. Python provides the Object Oriented capability and lot of rich features to stand with changing demand of current world application requirement.

This "Python OOP : Object Oriented Programming in Python" tutorial explains the Object Oriented features of Python programming in step-wise manner. All the topics have been explained in simple way. You will also see the demonstration of source code implementation for each topic. This course will improve the Python programming skills of developers who have basic understanding of Python. You will learn Object Oriented features of Python programming which will help in providing efficient solution for software projects. You will be able to understand and implement all the Object Oriented Python programming techniques and apply in Python projects. This tutorial will also help you to present yourself well for Object Oriented Python programming coding interview questions.

This "Learn Python OOP : Object Oriented Programming in Python" course covers following object oriented Python topics used in software development : Classes and Objects, __init__ method, Class variables, Static variables, Data hiding, Property, Magic methods, Inheritance, Polymorphism.

Here is the course content-

  • Classes and Objects

  • Magic Methods

  • Inheritance and Polymorphism

In this "Learn Python OOP : Object Oriented Programming in Python" course, I have used IDLE, you can use any other Free IDE.

This "Learn Python OOP : Object Oriented Programming in Python" online course on Udemy will be great help to developers for learning Object Oriented Python programming concepts. Also it will be a good complement to any book/tutorial.

So what are you waiting for, enroll now and start learning.

Beginner Object Oriented Programming In C# and .NET Core

Learn object oriented programming (OOP) fundamentals in C# and .NET Core with clear examples from a real professional.

Created by Avetis Ghukasyan - Web Developer


Students: 27468, Price: $109.99

Students: 27468, Price:  Paid

Object Oriented Programming (OOP) just sounds unnecessary complex. It is not complex. In this course I want to take you on to a journey where I show you, in simple and succinct examples, how Object Oriented Programming (OOP) works. Specifically I show you how Object Oriented Programming (OOP) works in C# and .NET Core.

I will not be using confusing academia jargon in order to sound smart or glossing over details too quickly to leave you out in the dark. I will be here with you each and every step of the way until you fully grasp what Object Oriented Programming (OOP) is. You will also learn about C# and about .NET Core.

Now a question you might have is WHY learn Object Oriented Programming (OOP)? Great question and the answer is money. That is correct money. Object Oriented Programming (OOP) in short teaches you how to organize your program in a way in which it makes it maintainable, scalable and readable. These are the main aspects for which you get paid for as a software developer or a web developer.

Now let's look at some numbers. .NET (and more specifically C# (C Sharp)) developers make anywhere from 80K - 100K+ (obviously the range would depend on where you reside), but the point is that C# (C Sharp) is not only a valuable skill but a profitable one as well.

Now the market is full of people who are switching from other majors to get into software development or web development but the problem is that they are clumsy coders. The reason is because... as you have already guessed: they don't know how to write maintainable, scalable and readable code. By learning Object Oriented Programming (OOP) you are differentiating yourself from a sea of developers and getting to the top of the hierarchy. Object Oriented Programming (OOP) is not flashy, it is not a crazy new mobile development platform or methodology, in other words it might not sound so exciting at first, BUT without knowing Object Oriented Programming (OOP) one can not be a well rounded developer and will inherently write bad code - you don't want to be that guy. Once you start learning Object Oriented Programming (OOP) you will realize that it is actually a lot of fun which then will make you want to learn even more. It is a nice upward cycle, but you have to start it up first.

Even if you are a freelancer and have no reason to look for a job you still WANT your code to be maintainable,  scalable and readable. Of course you do.

Object Oriented Programming (OOP) teaches you how to think clearly about your code by letting you visualize your problems in terms of objects. This allows you to have a high level view of the problem which then allows you to come up with a much better solution.

Object Oriented Programming (OOP) will not only help you solve problems while programming but will help you solve problems better in general. It will help you plan your life since that is just yet another problem waiting to be solved. I can testify to this since it has done it for me.

Another upside to learning Object Oriented Programming (OOP) is the fact that it is not specific to C# or .NET or .NET Core. You might think that at first but it is not so at all. Object Oriented Programming (OOP) is a way of thinking, it is a methodology that is implemented in a language such as C# or Java and many others. So once you understand the methodology in one language you can then apply and transfer your knowledge into another language.

Now as a beginner you will enjoy this course because I am not going to be focusing on writing complex software. All of the code written is going to be pretty simple since I am going to be spending all of my energy and focus on explaining the core concepts of Object Oriented Programming (OOP).

The 4 main pillars of Object Oriented Programming (OOP) are going to be demystified and by the end of this course you will be a master at defining what each of pillars mean and how they work most importantly.

Inheritance, Polymorphism - static and dynamic, Encapsulation and Abstraction. These are the 4 main pillars of Object Oriented Programming (OOP) you need to understand and as already mentioned I will be dissecting them one by one in this course so that by the end of it you are fully competent at taking these concepts and using them in you own applications.

I look forward to having you as my student and sharing with you all that I have gathered along the years of practice, hard work and listening to my own mentors.

Absolute Introduction to Object Oriented Programming in Java

Prerequisite to "Master Object Oriented Design in Java".

Created by Imtiaz Ahmad - Senior Software Engineer & Trainer @ Job Ready Programmer


Students: 26484, Price: $84.99

Students: 26484, Price:  Paid

LAST UPDATED: November 2020

This course is designed to be slow-paced, simple and rich in demystifying the question: What really is an object in computer programming? These few lectures serve as a crucial foundation for OOP (Object Oriented Programming).

If you've ever written a java class before and ran the program in eclipse but didn't quite understand what's going on behind the scenes, this course is for you. By the end of these videos, you will understand the difference between a class, and an object. You'll know how objects are constructed and what exactly happens when the program is run. We'll also go over important OOP techniques such as inheritance and polymorphism.

By the end of this course you'll be ready to work with multiple classes in java and be prepared to take the more challenging and top ranked course: Master Object Oriented Design in Java - HW + Solutions

Java for Beginners – Step by Step

Understand the basics of Java

Created by Raghav Pal - Automation Test Architect | Educator | 12 yrs


Students: 25431, Price: Free

Students: 25431, Price:  Free

If you want to understand the basics of java in an easy and fun way, this course is for you.

You will learn:
1. What is Java
2. How to install Java
3. How to write first Java Program
4. Understand what is JRE, JDK, JVM and JAR
5. Understand and implement Object Oriented Concepts

We will have fun learning java.
Let's Get Started 

Python for Beginners (Includes Object Oriented Programming)

This complete Python for beginners course will get you from a Python beginner to Python expert as quickly as possible!

Created by Eric Roby - Engineer


Students: 23135, Price: $89.99

Students: 23135, Price:  Paid

Do you want to learn Python?

If so, you have come to the right place, welcome to Python for Absolute Beginners!

In this course, you will learn all fundamentals of Python Programming

Why should you learn Python?

Python is one of the fastest-growing programming language in the world!

Python is a multi-purpose language used across many different industries:

  • Web applications

  • Games

  • Machine learning

  • Data Science

  • APIs

  • Python is everywhere!

Who is this course for?

  1. Beginners with no experience with python

  2. Anyone who wants to learn programming

  3. Programmers with experience in other programming languages

  4. Any age, just an interest in learning how to program!

What you can find inside the course?

  • How to install Python

  • How to install & setup PyCharm

  • Working with Basic Arithmetic

  • Working with Variables

  • Comments

  • Strings - Text Data

  • User Input

  • Data Structures

  • Operators

  • Flow Control

  • Loops!

  • Functions

  • Recursive Functions

  • String Methods

  • Dictionaries

  • Sets & Tuples

  • Importing Modules

  • Read, Write & Create Files

  • Dealing with Date & Time

  • Exception Handling

  • Object Oriented Programming

  • Inheritance

  • Creating Applications and Solving Interview Questions Along the Way!

  • and more...!

We have over 70 high-quality video lectures

Combined with assignments and quizzes.

To strengthen your Python skills!

I am a very responsive instructor!

If you get stuck feel free to as a question in any forum. I respond within 24 hours!

Certificate of completion

Certificate is given at the end of the course, which you can use to stand out from the crowd on your resume!

The course comes with a  30-day money-back guarantee

So you can try the course, risk-free.

PHP OOP: Object Oriented Programming for beginners + Project

PHP OOP: Learn OOP PHP and Take your skills to another level. Make serious money by building awesome applications.

Created by Edwin Diaz - Web Developer & Premium Instructor - 700,000 students


Students: 21152, Price: $124.99

Students: 21152, Price:  Paid

Hands on Real Life Project inside!

On Demand OOP Skills Inside

OOP is a must for everybody period!


Do you have the PHP basics, but need something that will propel you to a new level?

Then this course is for you.

You took some other courses that unfortunately did not provided real world experience?

Then this course is for you.

You need full prompt support from your instructor?

Then this course is for you.

Do you want NEW updated PHP code?

Then this course is for you.

Do you want easy to follow lectures?

Then this course is for you.

Do you want an instructor that cares and answers promptly?

I am here for you :)

How would you like to finally get all the knowledge you need to make all the money you want freelancing? This course will give that knowledge and more.

How would you life to get a top paying job building dynamic web applications?

This course will guaranteed you success if you apply yourself, and take the time to learn everything included.

PHP has allowed me to make a really great income, so much that It gives me time to teach others about it. You too can become a professional in the field, and create the life you always dreamed of.

PHP is one of the best web programming languages in the world, and all the big important websites, like Google, Apple, Facebook, Yahoo, Wikipedia and many more, use it for their web applications.

Commonly asked question

How much money can I make if I learn PHP?

Starting salaries in the US, it ranges from 60,000 to 150,000 a year, but freelancing can make you a lot more than that, if you know what you are doing.

  1. New PHP code
  2. New lectures added all the time
  3. Prompt support
  4. No boring lectures here :)
  5. Advance Project Creation
  6. I care about my students Education

100% Money Back if you don't like it

With 100% money guaranteed within 30 days, you have NOTHING to lose and a world of possibilities for your future. If for some reason you don't like the course or me, you can get your money back from Udemy.

Object Oriented Programming Using Java and Intellij Hands-On

Object oriented programming in depth from beginner to expert. Learn using practical approach. oop and java programming

Created by Faisal Memon - Entrepreneur | Google Launchpad Accelerator | 30k+ students


Students: 16867, Price: $89.99

Students: 16867, Price:  Paid

This course teaches you everything you should know to about object oriented programming. This is not a theoretical course, but instead I will teach you step by step, practically, by writing programming examples. This course also helps you get started as a programmer.

It's time to learn java using Intellij. This course is object oriented programming for complete beginners.

This course is designed keeping beginners in mind, we have made sure that each and every concept is clearly explained in an easy to understand manner. So if you are a beginners, don't worry, I am 100% committed to help you succeed.

Learn basics of oops pillars like

  • Classes and Objects

  • Encapsulation

  • Polymorphism

  • Inheritance

  • Abstraction


  • This is a practical course, where in in every lecture, I will actually write a example program to make you understand the concept

  • Clear and simple explanations

  • This course is updated regularly


This course is backed by Udemy's 30 day money back guarantee. If after taking this course you realize that this is not for you. Please request a refund, I only want satisfied students

What are you waiting for? Press the BUY NOW button and start the course. See you inside.

Object Oriented Programming with JavaScript for Beginners

OOPS in JavaScript with the power of Object/Properties/Inheritance/functions

Created by Raman Sharma - Online Instructor


Students: 15781, Price: Free

Students: 15781, Price:  Free

It is really fun to learn object oriented features of javascript.This helps you to understand other javascript frameworks easily like angularjs, jquery, knockout javascript, nodejs etc. The course is the beginner level for the object oriented features of javascript, the perquisite is to know the basic of javascript and knowing an object oriented language is the plus point.

Master Object Oriented Programming Concepts

Object Oriented Programming Concepts with examples in Java

Created by Sachin Pisal - Developer


Students: 13268, Price: Free

Students: 13268, Price:  Free

This course will guide through building blocks of Object Oriented Programming i.e Class and Objects. The course also covers in detail 4 Pillars of OOPS, i.e. Abstraction, Encapsulation and Information Hiding, Inheritance and Polymorphism with examples. It uses hands on programming using Java language. This course will help in creating solid foundation for software developers.

Object Oriented Programming (OOPs) Concepts in English

Learn all the concepts of OOPs (Object Oriented Programming)

Created by RAKESH P - Software Developer


Students: 7445, Price: Free

Students: 7445, Price:  Free

Object Oriented programming is a programming style that is associated with the concept of Class, Objects and various other concepts revolving around these two, like Inheritance, Polymorphism, Abstraction, Encapsulation etc.

Object means a real word entity such as pen, chair, table etc. Object-Oriented Programming is a methodology or paradigm to design a program using classes and objects. It simplifies the software development and maintenance by providing some concepts:

  • Object

  • Class

  • Inheritance

  • Polymorphism

  • Abstraction

  • Encapsulation


Any entity that has state and behavior is known as an object. For example: chair, pen, table, keyboard, bike etc. It can be physical and logical.


Collection of objects is called class. It is a logical entity.


When one object acquires all the properties and behaviours of parent object i.e. known as inheritance. It provides code reusability. It is used to achieve runtime polymorphism.


When one task is performed by different ways i.e. known as polymorphism. For example: to convince the customer differently, to draw something e.g. shape or rectangle etc.


Hiding internal details and showing functionality is known as abstraction. For example: phone call, we don't know the internal processing.

How is this course structured?

  1. I will teach you in a hierarchical way from the basic to advance level.

  2. There is a video lecture on every topic explained in English.

Who is the target audience?

  1. An Absolute beginner who want to learn OOPs from scratch.

Mastering Object Oriented using C++ (Free Preview)

Programming, Problem Solving, Project Building and Design Skills. 7X other courses homework/practice + several projects.

Created by Dr. Mostafa Saad Ibrahim - Educator, Software Engineer, Scientist, Competitive Coach


Students: 6148, Price: Free

Students: 6148, Price:  Free

This is a FREE PREVIEW for my paid full course that you can find in the profile. Get a sense of my teaching style.

Welcome to one of the unique programming Bootcamp experiences you will ever get.

  • The course covers basic to advanced and modern C++ syntax.

  • The course helps you master the 4 most important skills for a programmer

    • Programming skills

    • Problem-solving skills: rarely covered by other courses

    • Project building skills: partially covered by other courses

    • Design skills: rarely covered by other courses

  • 7+ times practice & homework compare to other courses plus 6 projects:

  • Special Teaching style: iterative, easy, and short


  • Basic to advanced modern C++. Kindly browse the course content.

    • In progress: Adding a few modern syntax topics.

  • A huge set of Practice, Homework, and Projects

    • 2 styles of homework: Algorithmic (problem-solving) and applications

    • Several software design concerns are embedded in the homework.

    • So you are getting introduced to Software Engineering & Design Patterns

  • What is listed above is a lot to learn and master for a beginner

Building Skills: Practice, Homework, and Projects

  • One unique feature in this course is my education strategy:

    • Explain, Administrate & Challenge

  • Each video smoothly explains a simple concept(s)

  • Typically followed by easy to medium practice to administrate the concept

  • Then typically followed by an easy-medium-hard set of homework questions to challenge you

  • Extensive homework from easy to medium to hard to help to build the skills.

  • Most of the practice/homework questions are unique in this course

    • Programming questions are mainly from my competitive programming experience

    • OOP questions are mostly invented to achieve several goals:

      • Mastering the OOP concepts

      • Enforcing a lot of design heuristics & OOD

      • Preparing you for design principles and patterns

  • Small-to-large set of projects to build up project building and design skills

  • Solutions to all of them.

Special Teaching style

  • In this course, I teach several concepts in 2 rounds

    • Early in the course, only the mandatory concepts/syntax are explained

    • Then you practice a lot to master them!

    • Later at an appropriate time, you will learn the remaining details

  • Short and to the point

    • Literally, in a few minutes, I cover clearly what others take a lot of time to explain

By the end of the journey

  • Solid understanding of programming concepts and its C++ syntax

  • Mastering the target 4 skills

  • With the administered problem-solving skills

    • You can start competitive programming smoothly in Div2-A/B Codeforces

    • Smooth start in Data Structure course

    • Smooth start in Algorithms course

  • With the administered project-building and design skills

    • Smooth start in Software Engineering course

    • Later, smooth start in one of the technology tracks in frontend or backend

What are the common complaints from programming courses?

  • Limited topics coverage.

  • Outdated syntax.

  • Unnecessary long videos with repetitions.

  • Too much time to explain basic concepts.

  • A sudden jump in the level. I can't cope with the content.

  • Assumptions of previous knowledge to understand some of the concepts.

  • Building over concepts that were not mastered through practice or homework.

  • The same examples are used over and over.

  • Several consecutive lectures without practice or homework to master the concepts.

  • Awesome knowledge, almost zero skills.

  • Very little practice or homework.

  • Good homework in the first half and very weak in the remaining.

  • Many homework without solutions.

  • Only one project.

  • Small-size project.

  • Long but tedious project.

  • The project doesn't help enforce the concepts.

  • Project source code is not provided. I needed to compare and learn.

  • Moving to Datastructures or Algorithms course was not easy. Weak problem-solving skills.

  • After the course, I am still stuck and can't do even simple projects. Weak project-building skills.

  • The course taught OOP syntax and concepts nicely, but OOD skills are not built. Weak design-skills.

  • And more!

In this course, not only the content and skills are unique and added value, but also the whole experience to avoid as possible the above concerns and much more! Even if you attended a C++ course, my material will be an added value, especially its homework and projects.

Don't miss such a unique learning experience!

Java OOP Basics

Learn the basics of Object Oriented Programming in Java with Class, Object, Constructors, Inheritance etc

Created by Sunil Joseph - Consultant & Trainer


Students: 5953, Price: Free

Students: 5953, Price:  Free

This course is designed to give you the real understanding of Object Oriented Programming in  Java Programming Language. By the end of this 02 Hrs course, you will understand Object Oriented Programming in Java extremely well. You will get to know know about the role of OOP in application development, getting the actual concepts of Class, Object, Constructors, Overloading methods, Overloading Constructors, use of "this" keyword, Inheritance, Overriding members and the use of "super" keyword. You will study the OOP by implementing a simple Banking Application

OOP Object Oriented Programming In PHP 7

Learn advanced object oriented programming with simple code examples. This Course includes almost all OOP PHP7 topics.

Created by Saira Sadiq - Saira Sadiq


Students: 5629, Price: $99.99

Students: 5629, Price:  Paid

1st section of the course starts with an introduction to object oriented programming. What is OOP? and why we need it ? and what was before OOP?. A little detail about procedural language.We will also learn how to add OOPness in our programming. Then the advantages of object oriented programming.

In 2nd section we will discuss the basics of OOP with real life example and then how to map it in objects, classes, properties and method.

Then how to create objects and classes in php? How to add properties and methods? How to use them? And at the end of this section we will learn about parameters and return values of a method.

3rd section describes the visibility and its three levels. Then why we need to define public, private or protected visibility of properties and methods in a class.

4th section describes the concept of constants in classes.

5th section describes about data encapsulation. Why we need it? And how to implement it and then the benefits of encapsulation.   

In 6th section we will discuss about inheritance with real life example. Then how to translate it in classes, properties and methods in php code. What is ISA and HASA relationship and where to use ISA and where to use HASA in classes and objects.

7th section describes the problem when a child class needs its own version of parent class method then how overriding of method  solves this problem. Then how you can preserve parent class method’s functionality while overriding.

8th section describes how you can block inheritance and method overriding using final keyword.

9th section describes what is the meaning of abstract in real world, then what is the meaning of abstract classes, why we need i? What are the abstract methods and why we need it? Then we will also discuss how to create abstract classes and methods in php.

At the end what are the key points for abstract classes and methods.

In 10th section we will discuss what happens when two classes from completely different class hierarchies need some similar behaviour and how interface solve this problem.

In 11th section we will discuss what happens when an object is born and when it dies. How we can handle things in both situations using constructor and destructor. How to define and use constructor and destructor using magic methods __construct() and __destruct().

12th section describes a situation where we need only one copy of properties and methods for all objects of a class. Static keyword can solve this problem. So we will see how we can create and use static properties and methods without creating an object of a class.  

In 13th section describes that there are 15 magic methods in php. So we will discuss these magic methods one by one in detail.


14th section is the biggest one in this course. In this we will discuss about errors and exceptions.

What supposed to be an error in php? How they happen? What are the different types of errors? .how you can trigger errors by yourself? And what are the logical error? Then we will see how we can report errors when they happen and how you can change error reporting settings in php.ini. We will also learn the 4 ways to deal with errors. Then how to use an error handler and at last how you can log error messages.

After errors we will discuss about what may be the risky behavior of your code and  how we can use exceptions to handle that risky behaviour. We will see how we can try some risky behaviour then how we can throw an exception if anything wrong happens and how we can catch that exception. Then the detail discussion on exception class in php and the stack trace for the exception. Then how you can make your own custom exceptions by extending php’s built in exception class. Why we need to use try with multiple catches and how to re-throw an exception. What happens when there is an uncaught exception in your code.what is an exception handler.

Then at the end of this section we will discuss the changes in errors and exceptions in php7.

15th section describe how you can autoload classes in your code without using include and require statements. Then the use of autoloader function for this purpose. Then we will discuss to autoload namespace classes in your code using Psr-0 and Psr-4 autoloading standards but before that we will discuss what are the namespaces in php.

16th section is about object serialization. Why we need to serialize an object. Then when and  how to unserialize it. We will also learn how to do task that are prior to serializing an object using __sleep() magic method.Then how to do task right away after unserializing an object using __wakeup() magic method.

17th section is about cloning of an object in which we will discuss two types of cloning that are shallow copy and deep copy. In deep copy cloning we will also discuss about __clone() magic method. Then we will see recursive cloning and then double linking problem in cloning. At the end we will discuss Deep copy cloning using serialization.

18th section is about Type hinting. In this we will see how we can use non scalar and scalar data types for type hinting. We will also discuss about strict scalar data types and TypeError exception thats been introduced in php7.

In 19th section we will learn two ways of comparing objects. First one is using Comparison operator (==)  and 2nd one is using  Identity operator (===).

20th section is about overloading an object. we will learn How to do property overloading Using  __get(), __set(), __isset() and __unset() magic methods. Then how to do method overloading Using __call(), __callStatic() magic methods.

21st section describes about traits. First we will discuss deadly diamond of death problem in multiple inheritance. Then single inheritance and its limitations. Then how traits provide multiple inheritance thing in php. Then what will be the precedence order if a parent class and a trait have same method and then what will be the precedence order if a trait and current class have the same method. We will also discuss to use multiple traits and then how to compose a trait from other traits.

At the end we will discuss abstract and static trait members and trait properties.

22nd section describes late static binding. For this first we will discuss some basic concepts of binding like what is binding, early binding and late binding?

Then what is the problem with early binding of self keyword and at the end its solution which is late static binding.

23rd section describes object iteration. First we will get some idea about some basic concepts like traverse, iterate and iterate using loops. Then what is object iteration and how you can iterate an object using Iterator Interface and IteratorAggregate Interface .

Object Oriented Programming with C# – Beginner to Advanced

Detailed step-by-step guide to Classes, Interfaces and many other OOP Concepts - Object-Oriented Programming Concepts

Created by Tod Vachev - Best Selling Instructor 100,000+ Students, Robotics Engineer


Students: 5356, Price: $99.99

Students: 5356, Price:  Paid

This course will lay the foundations of Object Oriented Programming (OOP) in your mind, allowing you to progress to more systematic and cleaner Programming methods.

The course is aimed at students who have at least some coding experience, preferably with C# (but Java or any other similar language is also acceptable).

There are so many things that you will learn in this course, some of the most noted ones are:

  • What is an object and a class
  • What is object oriented programming
  • Class Constructors
  • Namespaces
  • Should you or should you not use the "this" keyword
  • Fields and Properties
  • Different ways in which Properties can be used
  • Const and Readonly constants, the difference between them and how to use them
  • Static Fields and Static (Singleton) Classes
  • Enumerations
  • Access Modifiers
  • The 4 Pillars of Object Oriented Programming - Inheritance, Abstraction, Encapsulation, Polymorphism
  • Many, many quality code guidelines

Each of these topics will be looked upon in great detail, and each of them are accompanied by a variety of Exercises. Practice makes perfect.

There are tons and tons of tutorials on Youtube, so why would you have to pay for this course?

The answer is very simple, in this course you will get every single lecture systemized in such way, that it ensures smooth transition between the previous and the following topic. Guaranteeing great learning experience.

There are no stones left unturned, everything is explained in great detail (but not too much, that would be boring :) )

The video lectures in the course are produced with the highest possible audio and video quality. No static noises to disturb you while you watch the videos, no blurry images, everything is crystal clear with crisp audio!

150+ Exercises – Object Oriented Programming in Python – OOP

Test your Python programming skills in object-oriented programming (OOP) and solve over 150 exercises! - Python

Created by Paweł Krakowiak - Data Scientist, Securities Broker


Students: 5270, Price: $19.99

Students: 5270, Price:  Paid





  • 200+ Exercises - Programming in Python - from A to Z

  • 210+ Exercises - Python Standard Libraries - from A to Z

  • 150+ Exercises - Object Oriented Programming in Python - OOP

  • 150+ Exercises - Data Structures in Python - Hands-On

  • 100+ Exercises - Advanced Python Programming

  • 100+ Exercises - Unit tests in Python - unittest framework

  • 100+ Exercises - Python Programming - Data Science - NumPy

  • 100+ Exercises - Python Programming - Data Science - Pandas

  • 100+ Exercises - Python - Data Science - scikit-learn

  • 250+ Exercises - Data Science Bootcamp in Python


  • SQL Bootcamp - Hands-On Exercises - SQLite - Part I

  • SQL Bootcamp - Hands-On Exercises - SQLite - Part II




150+ Exercises - Object Oriented Programming in Python - OOP

Welcome to the course 150+ Exercises - Object Oriented Programming in Python - OOP, where you can test your Python programming skills in object-oriented programming (OOP) and complete over 150 exercises!

Some topics you will find in the exercises:

  • namespaces and scopes

  • LEGB rule

  • *args and **kwargs

  • class attributes

  • instance attributes

  • the __init__() method

  • visibility of variables/attributes

  • encapsulation

  • computed attributes

  • class method - decorator @classmethod

  • static method - decorator @staticmethod

  • special methods, __new__(), __init__(), __repr__(), __str__(), __len__() and many more

  • inheritance, single inheritance, multiple inheritance

  • MRO - Method Resolution Order

  • super()

  • abstract classes, the ABC class and the @abstractmethod decorator

The course is designed for people who have basic knowledge in Python and OOP concepts. It consists of over 150 exercises with solutions. This course is focused on practical learning. This is a great test for people who are learning the Python language and OOP and are looking for new challenges. Exercises are also a good test before the interview. Many popular topics were covered in this course.

If you're wondering if it's worth taking a step towards Python, don't hesitate any longer and take the challenge today!

Python OOP – Object Oriented Programming for Beginners

Learn Object Oriented Programming in Python with Step-by-Step Video Lectures, Projects, Exercises, Diagrams and More.

Created by Estefania Cassingena Navone - Developer and BS in Computer Science and Mathematics Student


Students: 5132, Price: $54.99

Students: 5132, Price:  Paid

Learn Object Oriented Programming (OOP) in Python with mini projects, hands-on practice, and carefully designed visual explanations. Understand how the elements and abstract concepts of OOP work behind the scenes. Apply your knowledge to new scenarios.

Object Oriented Programming is Your Next Step Into the In-demand and Powerful World of Python

  • Create and work with classes and instances to write Python programs.

  • Understand how they work behind the scenes.

  • Learn when to use instance attributes vs. class attributes.

  • Implement and call methods. Understand their purpose.

  • Take advantage of the power of inheritance to avoid code repetition.

  • Use key concepts like Docstrings and Special methods in your programs.


Student Reviews:

"Even total noob will understand the OOP here :)" — Łukasz Bryzek

"I love how the instructor explains things in simple language and relates it to everyday life. I actually understand! I'm just at the beginning of the course and am excited about continuing." — Donny Lobree

"I would strongly recommend this course if you are new to programming and want to master the basics of OOP." — Demayne Collins

"The learning sticks. The coverage of Python classes here, for me, has been better than how this topic has been covered in a couple of other Python classes I have from more well-established Python instructors. Hats of to the instructor for putting this together." — Thomas P

"Perfect for persons without any clue in oop!" — Patrick Onegin


Add New Python Skills To Your Resume

Python is currently one of the most popular programming languages and its popularity continues rising every year. It is used for real-world applications in diverse areas such as Data Science, Game Development, Web Development, Machine Learning, Artificial Intelligence, and many more. Learning Object Oriented Programming in Python is your next step into the powerful world of computer science.

Object Oriented Programming is key if you wish to expand your computer science skills and create maintainable and scalable programs. You will need to learn these concepts to implement data structures like trees, graphs, and linked lists. It's also key for game development, GUI programming, artificial intelligence, and many other areas. The concepts and techniques that you will learn in this course are easily transferable to other programming languages like Java, JavaScript, and many more.

Content & Overview

With high-quality video lectures that include graphics and animations, you will learn and work with these concepts:

  • Classes

  • Instances

  • Instance Attributes

  • Class Attributes

  • Methods

  • The 'self' parameter

  • Inheritance

  • Docstrings

  • Special Methods

  • .... and more!

You will build a Tic-Tac-Toe game and a text-based version of the War Card Game following the principles of Object Oriented Programming.

Learning Material & Resources

Throughout the course, you will find these resources:

  • Video lectures: carefully designed graphics, animations, and explanations.

  • Tic-Tac-Toe Game: you will build a working tic-tac-toe game using the principles of Object Oriented Programming.

  • War Card Game Project: you will create a text-based version of the War Card Game using the principles of Object Oriented Programming.

  • Final Project: you will implement a data structure in Python (a Linked List) with step-by-step explanations, practical exercises, and featured questions.

  • Mini Projects: you will apply your knowledge at the end of each section with mini projects.

  • Solutions to the Mini Projects: each mini project has its corresponding solution.

  • PDF Handouts: unique study guides with graphical summaries of the key aspects of each section.

  • Coding Exercises: practice key concepts with the coding exercises.

  • Solutions of the Coding Exercises: each coding exercise has its corresponding solution.

  • Quizzes: check your knowledge interactively after each lecture with short quizzes that have unlimited attempts.

  • Python Files: download the code used for each section as a compressed (.zip) file with individual python (.py) files.

  • Articles: read complementary articles to expand your knowledge.

  • Course Poster: track your progress with a poster that you can cross out as you complete each section.

  • Cornell Notes Format: take notes with this PDF format and follow the Cornell Note-taking System.

  • Code Notebook Format: download a PDF format to write your code manually if you prefer, and add your notes and comments.

  • Discussion Forums: ask questions on the discussion forums and discuss interesting topics with your peers.

Why is this course unique?

This course is unique because of its emphasis on providing visual and detailed explanations of how the elements of Object Oriented Programming (OOP) work behind the scenes, so you will not only learn how to use them in Python, you will actually understand what each line of code does behind the scenes.

During the course, you will apply your knowledge by completing mini projects that simulate simplified real-world scenarios such as fixing classes in a bakery system, representing bacteria for educational software using instance attributes, implementing inheritance for a videogame, completing the system of a vending machine, and many more. Each mini project includes its corresponding solution.

Unique study materials complement the course experience. You will find PDF handouts specifically designed for the course with a graphical summary of the key aspects of each section.

You will solve coding exercises directly on the browser and you will receive instant feedback for your submission.

You will check your knowledge with short Quizzes after each main lecture. The Quizzes provide instant feedback, so you can see the correct answer immediately. The quiz questions were designed to make you think more deeply about the topics presented.

You will receive a certificate of completion that you can add to your social media profiles to showcase your new skills.

You will also have lifetime access to the course and to all the new additions.


You are very welcome to watch the preview lectures and check out the full course curriculum.

If you are looking for an engaging, visual, and practical course, you've found it.

Add "Object Oriented Programming in Python" to your resume and showcase your new skills!

C# OOP: C# Object Oriented Programming on Real C# Projects

Learn C# OOP with hands-on C# projects and dive in C# intermediate step by step guide to classes, interfaces and C# OOP

Created by Oak Academy - Web & Mobile Development, IOS, Android, Ethical Hacking, IT


Students: 4792, Price: $99.99

Students: 4792, Price:  Paid

Hello there,

Welcome to C# OOP: C# Object Oriented Programming on Real C# Projects course.

Object-oriented programming is the foundation of many current application development approaches. Interfaces and principles of object-oriented programming are crucial. It does not important whether you want to use C# to build web apps, mobile apps,  games or understanding C# classes if you want to succeed with clean coding, agile and design patterns, you have to master OOP.

In this course, we use interactive programming techniques; which means we will be building applications together and furthermore there will be lots of home-works to be done, of course, followed by answers. There will be lots of tips and tricks regarding beautiful and efficient coding techniques.

That`s why you are at a great place to start with OOP with C#

All my students will have a chance to learn not only the whats but also learn the whys and hows.

What you will learn?

  • Introduction to Object-Oriented Programming

  • Class Structure in Detail

  • Windows Forms Applications

  • System Input Output

  • Class Hierarchies

  • Event-Driven Programming

  • Exception Handling

  • Tips and Tricks

Why would you want to take this course? 

Our answer is simple: The quality of teaching.

When you enroll, you will feel the OAK Academy`s seasoned instructors' expertise. 

No prior knowledge is needed! 

It doesn't need any prior knowledge to learn OOP.

This course starts with very basics. First, you will learn some terminology. Then the show will start and you will learn everything with hands-on practices.  I'll also teach you the best practices and shortcuts.

Step-by-Step Way, Simple and Easy With Exercises

By the end of the course, you’ll have a firm understanding of the OOP with C# and hungry to learn more.

Video and Audio Production Quality

All our videos are created/produced as high-quality video and audio to provide you the best learning experience.

You will be,

  • Seeing clearly

  • Hearing clearly

  • Moving through the course without distractions

You'll also get:

✔ Lifetime Access to The Course

✔ Fast & Friendly Support in the Q&A section

✔ Udemy Certificate of Completion Ready for Download

Dive in now!

We offer full support, answering any questions.

See you in the course!

C# Object Oriented Programming for Beginners in C# and .NET

A guide to learning the object oriented programming (OOP) concepts in C# for starting a C# .NET career

Created by Praveenkumar Bouna - C# Programming Instructor, .NET Architect


Students: 4388, Price: $89.99

Students: 4388, Price:  Paid

Are you feeling confused with various free C# tutorials on OOP? Are you looking for a better approach to learn C# Object-Oriented Programming? Do you feel it difficult to understand & apply the OOP concepts in C#? Are you looking for a helping hand to learn the object-oriented programming concepts in C# .NET?

If you had answered Yes to any of the questions above, then this course is for you.

This course will teach you the Object-Oriented Programming (OOP) concepts in C# programming language in .NET Core from the ground up. You will apply the learnings through lots of quizzes, assignments, coding challenges, etc. You will be taken through a carefully selected approach towards learning these OOP concepts.

If you had recently started to learn C# programming, you might be feeling entirely lost on where and how to get started to learn C# OOP. You are finding the free C# tutorial videos about OOP on the internet too overwhelming or difficult to understand. You feel confused with the concepts looking similar to each other.

You are looking for a direction to learn OOP in C# programming language. You want to understand Class, Interfaces, Inheritance, Polymorphism, and so on through an easier approach. You are looking for a hands-on approach to learn all these pillars of OOP. This course will help you in achieving them.

You will be mentored throughout each step of your learning process. This course will help you become proficient in applying OOP concepts as a C# programmer. This course will make you apply the learnings by coding for simple problem statements.

At The End Of This Course

  • You will have a strong understanding of the Object-Oriented Programming (OOP) concepts in C# programming language.

  • Next, you will know how to apply OOP concepts in your everyday programming.

  • Also, you will be more confident to learn advanced C# programming concepts next.

  • Finally, you will be ready to begin your career as a C# .NET programmer.

What Other Students Who Have Taken This Course Say

The course contents are organized in detail by covering all OOPS concepts. In addition to that you had provided links and help materials for learners that would help when we face any issue. I appreciate your activity sessions which keep each and everyone focussed on the course and test their knowledge and understanding of the course. Quiz sessions and activity based learning helps us to test ourselves on how much we understand the concepts as well as the improvement area. This course provides a more in-depth perspective with a simple use case based approach and insights for us to apply in any projects. I strongly recommend everyone to take up this course to excel in C# with OOPS concepts.” - Vani.

Easy to understand and good practice to coding techniques.” - Pradheeba R.

"I m complete novice here and i appreciate the way Praveen is demystifying the concepts i've been struggling with for a long time. He goes straight to the point." - Akeem Adedipe.

"This is a very good course for the beginners who have just started learning OOP using c#" - Waqas Ahmed.

"Excellent delivery. Thank you so much! I'm looking forward for the next C# courses! Thank you! Have a nice day!" - Gabriel Ioniţă.

Who This Course Is For

  • Beginners in C#, who know the basics of C# and want to take their next step towards learning OOP concepts in C# with .NET Core.

  • Programmers from a different programming language, who have experience in a language other than C# and want to learn OOP syntax and usage in C#.

More Reasons To Take This Course

  • Learn the C# OOP concepts which are essential for any serious programming in C# .NET.

  • Employment of C# .NET developers is projected to grow much faster than the average for all occupations. .NET developers will be needed to respond to an increased demand for computer software.

  • The skills you learn from this course will be relevant in the future and aid in learning advanced C# programming. The software industry is only going to grow bigger!

  • Each lesson in this course is bite-sized and easy to finish.


  • Coding challenges within the course structure. No need for an external coding environment

  • Downloadable resources and guides.

  • Quizzes and Assignments that make you productive while taking the course.

  • A friendly instructor who honestly cares about your success.

Why Am I Doing This?

A career in the software development industry has been the backbone of my success. The job as a programmer has helped me immensely in paying off my educational loan, pay towards my marriage expenses, purchase a new house, and invest in the future.

Moreover, I felt great satisfaction when teaching others, be it to my friends during college or to my colleagues in the software companies. This was mostly 1-to-1 or to a group of 5-10 people.

I was looking for a way to reach more people to teach them computer programming. I found Online Courses as the best option to teach more people at their own time and pace.

See you in the course video!


What Do You Get When You Enroll In C# Object-Oriented Programming for Beginners in C# and .NET?

  • Lifetime access to the course and all future updates to the course content

  • Personalized support and answers to your questions

  • Udemy certificate of completion

  • 30-Day 100% money-back guarantee

About Your Instructor

Praveenkumar Bouna, shortly Praveen, is a software engineer with over 14 years of software development experience. He holds a Bachelor of Engineering in Computer Science and Engineering. He has worked in Security & Surveillance as well as Access Control systems in top MNCs in the software industry. He is known for his simpler teaching approach towards explaining various complex topics his colleagues come across in everyday programming life.

Object oriented programming in C++

Basic concepts of C++

Created by Chetashri bhusari - Assistant Professor


Students: 4003, Price: Free

Students: 4003, Price:  Free

  • This course gives yvcect oriented programming concepts like classes ,obejcts,console input and output.

  • basic concept of class,objects,data member,member function,inline function,staitc data member and other  concepts.

  • This course is useful for beginner level.

  • programs also executed with the help of online gdb complier and dev c++.

  • programs have explained with the help of video.

Core Java – Basics and Object Oriented Programming(FREE)

Basic Java, statements, loops, arrays, class, constructor, methods

Created by Suresh Kumar Reddy - 20 Years Software Dev. exp.


Students: 3530, Price: Free

Students: 3530, Price:  Free

With more than 20 years of experience in Software Development with PayPal, Aricent, CSC(Computer Science Corporation), etc..., and last few years into Corporate Training(and trained thousands of Software Professionals), Author has designed this course to meet Industry standard requirements. In this Course, each and every Lecture is covered hands on and in detail.

This FREE course includes below Core Java Basics

  1. Lexical Tokens & Keywords

  2. Loops - for, while, do while

  3. Conditional statements - if, else if

  4. Arrays - one dimension and multidimension

  5. Class, constructors, objects, methods

We have full fledged Core Java course for our below paid course, and due to limitation of 2 hours Video FREE course we have only limited topics in current course.

Object Oriented Programming

Learn how to write better code using Object Oriented Programming Techniques.

Created by Robin Slee | Art | Illustration | iPad | Software Development - Freelance Digital Artist, Programmer.


Students: 3281, Price: $19.99

Students: 3281, Price:  Paid

Please Note: This is not a live coding course. In order to keep the material as beginner friendly as possible and to save you the time of watching me type, this course does not feature code examples being typed as you watch. It does however contain the code samples covered. 

UPDATED: Jan 2016 - added new section on Association, Aggregation and Composition

UPDATED: April 2016 - added new Object Oriented Programming Terminology CheatSheet

This course is about 'Object Oriented Programming' (OOP). If you are new to OOP or are looking to brush up on your programming knowledge perhaps for an interview or just for fun! This course will quickly get you up to speed on the important concepts of OOP. 

Language agnostic, the concepts presented in this course can EASILY be applied to any programming language that supports the notion of 'classes and properties'. Including C++, C#, VB.Net, Javascript or PHP.

We will start the course with a brief introduction. Then dive into understanding exactly what the terms 'Abstraction', 'Encapsulation', 'Inheritance', 'Poly-morphism', 'Association',  'Aggregation' and 'Composition' really mean. Next, we will take a look at these concepts in action with some simple examples. And how easy it can be to adopt a good programming style from the start.

Delivered using HD Video, PDF, lecture and code samples (c# projects provided), this course will give you the knowledge and skills needed to put these concepts into practice and become a better developer today!

This course is designed to be a comprehensive introduction and should require about 1-2hrs viewing time, plus an equal amount of time if you wish to code the samples yourself (optional).

Backed by the Udemy 30 day money back guarantee, this course will be yours for life!

So, If you are looking to revise for an exam or interview, improve you coding style, get that new job or just understand the concepts used by professionals today then this course is for you.

If you need to know why 'Code Re-Use and Recycling' is important. Or how 'Good Design reduces flaws' and how 'an Object Oriented Program is much easier to modify and maintain than a non-Object Oriented Program' then this course is for you.

Simply click the 'Take this class' button today to get the skills that you deserve.

I look forwards to seeing you on the inside...

Java Object Oriented Programming:OOPS OOAD & Design Patterns

Master Object Oriented in Java, SOLID Design principles, Design Patterns, OOPs philosophy with best practices - 2/e 2019

Created by Basics Strong - Team of technocrats and Programming lovers


Students: 3001, Price: $19.99

Students: 3001, Price:  Paid

Best in class course if your objective is to build a Solid Foundation on OOPs and get your basics strong.

This course Course Object Oriented Programming & Design in Java is created with a clear objective in mind to build a solid foundation in Object Oriented Programming.

Because Solid and Strong Basics can lead to solve any programming problem! and help to write more elegant Machine and Human friendly code.

Object Oriented programming is there for quite a while now but we found that the course covers either only programming syntax and concepts of OOPs or Design Principl and patterns.

It is essential that when you start learning OOPs you should also learn many other related things like Design Principles, Object oriented design and Design Patterns as well because without learning these concepts your knowledge portfolio for OOPs is not complete.

So we bring to you this course where we will not only cover Object Oriented Programming concepts in Java but also Design Patterns, and Design principles along with best practices and OOPs philosophy.

This course also have sections where we will discuss about OOPs philosophy that will improve your thinking in Object oriented world.We have also created a small section on UML where we will discuss mainly class diagram and Sequence diagram that will help us learning design patterns.

Outline of what we have covered in this course

Prerequisites to Learn OOPs

  • Classes, Objects

  • Variables-Methods-constructors

  • packages, import keyword

  • Access Modifiers

  • Non-Access Modifiers

You may skip this section if you already know these concepts. After completing the same as we will be prepared to start the Journey. We will start discussing the actual OO concepts

OOPs Concepts

  • Data Hiding

  • Interfaces and Abstract class

  • Abstraction

  • Encapsulation

  • Inheritance - ISA relationship

  • Types of inheritance

  • Association with concepts of aggregation

  • HAS-A Relationship and composition

  • Polymorphism - Overloading and overriding

This section will cover the basics of OOPs concept related to Java and in general.

In Next section of the course we will Quickly discuss some philosophical Angles of OOPs to improve your thinking in Object Oriented world. This section will not have

much of a coding but will after completing this you will certainly feel more confident and connected to Object Oriented World.

After you start thinking clearly in OOPs we will start some of the very Important Design Principles in OOPs. These principles are the De Facto standard for object Oriented design for several years.

Design Principles

  • SOLID principles

  • DRY

  • KISS


  • SLAP

After completing this section you will be very confident and artistic in Object oriented programming.

After completing this we will have a section on Quick UML where we will discuss Class and Sequence Diagram because that is necessary to learn Design Patterns


  • Class Digram

  • Sequence Daigram

We will use a lot of Sequence diagram and Class diagram in while discussing Design Patterns.Then we will come to a very popular topic in OOPs world and that is Design Patterns.We will discuss all 23 GOF design Patterns with the help of UML Code and Sequence diagram.

      Creational Design Patterns

  • Prototype Design Pattern

  • Builder Design Pattern

  • Singleton Design Pattern

  • Factory Method

  • Abstract Factory Design Pattern

    Behavioural Design Patterns

  • Chain Of Responsibility Pattern

  • Command Design Pattern

  • Interpreter Design Pattern

  • Iterator Design Pattern

  • Mediator Design Pattern

  • Memento Design Pattern

  • Observer Design Pattern

  • State Design Pattern

  • Strategy Design Pattern

  • Template Design Pattern

  • Visitor Design Pattern

    Structural Design Pattern

  • Adapter Design Pattern

  • Bridge Design Pattern

  • Composite Design Pattern

  • Decorator Design Pattern

  • Facade Design Pattern

  • Flyweight Design Pattern

  • Proxy Design Pattern

After completing this we will discuss some of the coding best practices

Best practices.

  • Technical Debt

  • High Cohesion

  • Loose Coupling

  • Primitive Obsession - Code smell

  • Comment why not what

Hope this should be enough for you to become comfortable in Object Oriented programming and design in Java.

We have crafted the content, code examples and all other stuff in a way so that by end of this complete course you start feeling extremely comfortable and Confident in Programming OOPs.

So I am excited to welcome you again to this course hope we will have a very fruitful Journey with a clear objective to learn OOPs and OOPs design.

All the Best in building a SOLID foundation.

This course come with a 30 Days Money back guarantee so do't worry if it does not fit into your needs.

Welcome Again! and Happy Learning

Team Basics>Strong;

Learn the basics of Python — Part 2

This part of the course covers different data structures of Python and object oriented programming concepts.

Created by Sucharita Das - Data Science Enthusiastic


Students: 2670, Price: Free

Students: 2670, Price:  Free

This is the second part of course on basics of Python. It starts with Matrix implementation using List. Then Tuples, Dictionary and Array data structures are discussed. Modules and Packages are explained. Few Standard library modules are also discussed. Then, object oriented programming concepts in Python are discussed which includes namespace, scope, class, class objects and class inheritence.

Python OOPS: Object Oriented Programming For Python Beginner

Learn Object Oriented Programming in Python With Concepts For Beginners! (Quiz + Exercise + Cheatsheet) | Better Coding!

Created by Shubham Sarda - Developer & Digital Marketer, Top Rated Freelancer


Students: 2640, Price: $89.99

Students: 2640, Price:  Paid

Welcome to Object-Oriented Programming With Python, One single course to start your Object-Oriented Journey from Step-by-Step, This course touches each and every important concept of OOPS with it's latest version,

OOP is one of the most important concepts of programming, It is important because

  1. Makes Visualization easier (Closest to real-world scenarios)

  2. Reuse the code, Saves time, Reduce lines of code, Shrinks your project.

  3. Makes code Readable by adding a structure to data with the related methods for this data.

  4. Modularity for easier troubleshooting

  5. Reuse of code through inheritance

  6. Flexibility through Polymorphism

Course will help you to explore about Classes-Object, Abstraction, Encapsulation, Inheritance and Polymorphism.

We will also focus on the DRY (Don’t Repeat Yourself) approach to improve our code writing and problem-solving skills. Throughout the course, you will get tons of Quiz, Sample Codes, and Theory material to revise the course in a proper format.

After completing this course you will be Industry Level Ready to work as Intern, Fresher, or Freelancer and you will also be able to implement everything on your website itself! 

Enroll now and I will make sure you learn best about Python OOPS Concepts