Skip to main content
CF

Thinking Like an Object-Oriented Programmer

4h 29m 52s
English
Paid

Thinking Like an Object-Oriented Programmer is a 25-lesson 4 hours 29 minutes self-paced course by Bob Tabor. OOP is a mindset and a process.

Course facts

Lessons
25
Duration
4 hours 29 minutes
Level
All levels
Language
English
Updated
Instructor
Bob Tabor
Price
Premium

OOP is a mindset and a process. This course leads you towards understanding its power.

Who teaches Thinking Like an Object-Oriented Programmer? Bob Tabor

Bob Tabor thumbnail

Bob Tabor is the .NET / C# educator behind LearnVisualStudio.net and dev.school, with material that historically anchored a generation of C# tutorial content on Microsoft's Channel 9 and MSDN. His teaching style is patient, beginner-tolerant, and focused on building the mental model rather than racing through syntax.

The CourseFlix listing carries Thinking Like an Object-Oriented Programmer — a foundational C# course aimed at developers learning to model real-world problems in object-oriented code rather than just the language syntax.

What lessons are included in Thinking Like an Object-Oriented Programmer?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 25 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (25)
#Lesson TitleDurationAccess
1
Introduction Demo
12:53
2
Establishing Crucial Metaphors
08:18
3
Application Lifecycle and Object Orientation
07:39
4
Big Upfront Design: Object Oriented Analysis and Design
17:07
5
Agile Methodology
11:44
6
The Process can Affect the Design
06:18
7
Abstracting the Real World into a Domain Model
07:10
8
Establishing Roles and Delegating Responsibilities to Objects
08:38
9
Contracts, Interfaces and Collaborations
08:40
10
Collaborations and Object Role Stereotypes
05:42
11
Collaborations: Conditions of Use and After Effect Guarantees
07:04
12
Domain vs Application Specific Objects
09:51
13
LeComponents as Neighborhoods of Objects
08:05
14
Architectural Layers of Responsibility using Objects
08:24
15
Designing Objects and Interactions Guided By Principles and Patterns
09:39
16
Why Encapsulation?
16:42
17
Why Implementation Inheritance?
14:47
18
Why Interface Inheritance?
17:59
19
Why Polymorphism?
07:16
20
Understanding Relationships: Coupling and Dependency
10:58
21
Understanding Relationships: Inversion of Control and Dependency Injection
13:18
22
Understanding Relationships: Aggregation
08:24
23
Understanding Relationships: Composition
14:57
24
Understanding the Agile Analysis and Design Process using Visual Studio Team Services
24:45
25
Where to Go From Here
03:34
Unlock unlimited learning

Get instant access to all 24 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

What courses are similar to Thinking Like an Object-Oriented Programmer?

Frequently asked questions

What prerequisites are needed for this course?
The course does not specify formal prerequisites, but a basic understanding of programming concepts would be beneficial. Familiarity with general software development processes or basic programming languages could help students grasp the object-oriented programming concepts discussed throughout the lessons.
What will I build or achieve by the end of this course?
By the end of the course, students will have a solid understanding of object-oriented programming principles and practices. They will be able to design software using object-oriented methodologies, understand the application lifecycle, and apply principles such as encapsulation, inheritance, and polymorphism to real-world scenarios.
Who is the target audience for this course?
The course is designed for software developers and programmers who want to deepen their understanding of object-oriented programming. It is also suitable for those transitioning from procedural programming to an object-oriented approach in their software design and development practices.
How does the depth of this course compare to similar courses?
This course provides a comprehensive look at object-oriented programming by covering foundational concepts like domain modeling, design patterns, and agile methodologies. While it may not delve into specific programming languages, it focuses on the principles that underpin object-oriented design, making it suitable for learners aiming to understand the mindset and process.
What specific tools or platforms will be used in the course?
The course includes an understanding of the Agile Analysis and Design Process using Visual Studio Team Services. This platform is used to demonstrate how agile methodologies can be integrated into the design process of object-oriented programs.
What topics are not covered in this course?
The course does not cover specific programming languages or syntax. It focuses on the principles and methodologies of object-oriented programming rather than teaching code in a specific language. Additionally, it does not cover non-object-oriented programming paradigms.
How will the knowledge gained in this course benefit my career?
Understanding object-oriented programming can significantly enhance your ability to design robust, maintainable software. The principles learned can be applied across various programming languages and development environments, making them valuable for software development roles that require designing and implementing complex systems.