
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.
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.
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.
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.
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.
It is inevitable, but as programming evolves, object-oriented thinking is still deeply embedded in how modern software is built. And therefore is a critical programming concept to be aware of.
There isn’t just one way to write code. There are different styles of thinking about problems. This lecture will cover the three most common approaches.
We all make mistakes, but here are some common mistakes that if you are aware of, you might just be able to avoid experiencing yourself.
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...