Object Oriented Programming

Learn how to write better code using Object Oriented Programming Techniques.
4.3 (13 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
655 students enrolled
25% off
Take This Course
  • Lectures 22
  • Length 1.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

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...

What are the requirements?

  • You will need access to a computer with an Integrated Development Environment (IDE) installed. I will be demonstrating concepts using a windows PC running visual studio 2010.
  • You will need some familiarity with your tools, i.e. how to create a project and how to start debugging. But don’t worry, we cover this in the first demonstration.
  • You should be familiar with the basics of programming, such as Loops, Methods and arguments.

What am I going to get from this course?

  • Implement the basic Object Oriented Programming Principles
  • Choose when and where to apply these programming ideals
  • Improve Code Readability and Maintainability
  • Adopt industry standards in program design
  • Participate confidently in a conversation about OOP and the role it plays

Who is the target audience?

  • This course is meant for new programmers, regardless of language, who are NOT familiar with the concepts of Object Oriented Programming and for intermediate students looking for a quick refresher on OOP. Although this course is taught in C#.Net, all concepts are equally applicable to VB.Net, Java, Javascript etc. This course is probably not for you if you are looking for software architecture guidelines, or advanced software engineering principles.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Started in Object Oriented Programming

Welcome to this course, in this introductory lecture, we lay out what we will be covering and a little bit about myself.


A quick note on whether you should start with the first lecture or jump right into the later sections?


In this lecture we look at what OOP really is and why it is important for you to add it to your toolbelt. We will see why OOP is recommended and I share my thoughts on why you should adopt an O.O.P mindset on your next project.


See how by following a personal standard, you can save time, money and effort writing code. In this lecture you get to download a useful resource on developing a Good Programming Style.


A guide to the commonly used terminology in the OOP world.

Section 2: Object Oriented Programming - Definitions

In this lecture we discuss the 4 major components that you need to grasp to effectively apply OOP to your work.


This lecture covers the difference between procedural programming and the OOP paradigm. Students will learn how to identify classes and objects from requirements gathering and how to structure a solution efficiently.


This lecture offers an insight into Abstraction and how a simple shift in your thinking will improve your coding projects. We use simple real-world objects to explain how it works and cover when you should apply it and when not to!


This lecture will explain in plain-english why encapsulation is both simple and important to developing robust and secure software.


In this lecture you will learn how to think like a developer, how to reduce coding time and how to structure your projects to exploit the benefits of inheritance.


Poly-what? In this lecture students will have this concept explained in simple terms and see examples of how they are encountering this concept on a daily basis already!


In this lecture students will learn about software patterns and how they are structured around and exploit the OOP concepts. This is a high level lecture and does not require coding the examples.


In this lecture you will learn how objects interact with each other through their method signatures.

3 questions

Take a quick quiz to confirm your understanding of the key terms in OOP.

Section 3: Object Oriented Programming - Practice

Guided example of how to Apply Classes and Objects to a sample project.


Guided example of how to Apply Abstraction to a sample project


Guided example of how to Apply Inheritance to a sample project.


Guided example of how to Apply Polymorphism to a sample project.

Section 4: Conclusion

In this lecture, we draw together some conclusions about Object Oriented Programming and Why we should use it!


In this lecture we take a look at everything we have covered in this course.

We cover the take-aways, and reaffirm the learning goals.


In this lecture I offer advice on how the novice programmer can further his OOP experience. I explain the next logical steps and encourage students to start applying their new skills.


Help future students understand this course and share your learning experience.

Section 5: Additional Concepts

Learn how Association, Aggregation and Composition are related. Understand how relationships between objects determine which 'links' are being defined and how you can use them in your next project.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Robin Slee, Freelance Artist + Professional Developer

A freelance artist, digital media creator and online Instructor, with over ten years experience using both traditional media and digital graphics applications, Robin has created hundreds of images and tutorial videos for personal and commercial applications.

Also a professional programmer, Robin has been involved in the entire software development life cycle for over a dozen years. He has worked on client applications, connected services & agents and built a number of web-based solutions. He is also the Author and Creator of a creature design website, sharing Photoshop tips and tutorials plus much, much more.

Ready to start learning?
Take This Course