Practical Object-Oriented Design - Course I
Practical Object-Oriented Design I (POOD-I) is a course suitable for both beginners and experienced developers working with object-oriented programming.
The format is designed for individual learning at a convenient time and pace. The course includes video lessons and practical assignments that teach thinking in objects through writing code. Each exercise requires gradual improvement of the solution in response to changing requirements, which helps develop flexibility and adaptability in design.
During the course, students study key principles of object-oriented design (OOD), which allow for reducing the cost of developing new software and simplify the maintenance of existing systems. If you want to write code that is enjoyable to work with and easy to maintain—or if you are tired of unmanageable, tangled applications—this course is for you.
The course also teaches refactoring techniques and the integration of testing into the development process. This helps to speed up current work and reduce the number of errors in future code.
Watch Online Practical Object-Oriented Design - Course I
# | Title | Duration |
---|---|---|
1 | B. Watch: Writing the Tests | 10:12 |
2 | A. Watch: Listening to Change | 04:37 |
3 | B. Watch: Starting With the Open/Closed Principle | 04:18 |
4 | C. Watch: Recognizing Code Smells | 18:47 |
5 | D. Watch: Identifying the Best Point of Attack | 06:24 |
6 | E. Watch: Refactoring Systematically | 05:41 |
7 | Watch: Get a Whiff of This | 38:15 |
8 | A. Watch: Following the Flocking Rules | 06:20 |
9 | B. Watch: Converging on Abstractions | 12:38 |
10 | B. Watch: Replacing Difference With Sameness | 07:12 |
11 | C. Watch: Equivocating About Names | 07:01 |
12 | D. Watch: Deriving Names From Responsibilities | 06:27 |
13 | E. Watch: Choosing Meaningful Defaults | 07:50 |
14 | F. Watch: Seeking Stable Landing Points | 08:22 |
15 | G. Watch: Obeying the Liskov Substitution Principle | 09:52 |
16 | H. Watch: Taking Bigger Steps | 05:15 |
17 | I. Watch: Discovering Deeper Abstractions | 07:29 |
18 | J. Watch: Depending on Abstractions | 04:24 |
19 | A. Watch: Selecting the Target Code Smell | 12:44 |
20 | B. Watch: Extracting Classes | 12:42 |
21 | A. Watch: Appreciating Immutability | 03:48 |
22 | B. Watch: Assuming Fast Enough | 09:08 |
23 | A. Watch: Creating BottleNumbers | 05:09 |
24 | B. Watch: Recognizing Liskov Violations | 06:41 |
25 | Watch: All the Little Things | 38:47 |
26 | A. Watch: Consolidating Data Clumps | 08:06 |
27 | A. Watch: Making Sense of Conditionals | 10:13 |
28 | B. Watch: Replacing Conditionals with Polymorphism | 14:13 |
29 | A. Watch: Transitioning Between Types | 15:04 |
30 | B. Watch: Making the Easy Change | 05:51 |
31 | C. Watch: Defending the Domain | 04:37 |
32 | A. Watch: Contrasting the Concrete Factory with Shameless Green | 04:15 |
33 | B. Watch: Fathoming Factories | 07:52 |
34 | C. Watch: Opening the Factory | 13:26 |
35 | D. Watch: Supporting Arbitrary Class Names | 08:14 |
36 | E. Watch: Dispersing the Choosing Logic | 05:48 |
37 | F. Watch: Self-registering Candidates | 10:07 |
38 | G. Watch: Auto-registering Candidates | 05:35 |
39 | A. Watch: Converting Numbers to BottleNumbers | 11:42 |
40 | Watch: Go Ahead, Make A Mess | 37:58 |
41 | A. Watch: Appreciating the Mechanical Process | 12:22 |
42 | B. Watch: Clarifying Responsibilities with Pseudocode | 04:40 |
43 | C. Watch: Extracting the Verse | 03:17 |
44 | D. Watch: Coding by Wishful Thinking | 06:25 |
45 | E. Watch: Inverting Dependencies | 09:18 |
46 | A. Watch: Obeying the Law of Demeter | 09:53 |
47 | B. Watch: Identifying What the Verse Method Wants | 12:15 |
48 | C. Watch: Pushing Object Creation to the Edge | 09:07 |
49 | A. Watch: Choosing Which Units to Test | 12:23 |
50 | B. Watch: Reorganizing Tests | 06:13 |
51 | C. Watch: Seeking Context Independence | 17:59 |
52 | D. Watch: Communicating With the Future | 15:30 |
53 | A. Watch: Finding Shameless Green (up to 1:00) | 03:39 |
54 | C. Watch: Finding Shameless Green (1:00 to end) | 03:39 |
55 | A. Watch: Handling a New Requirement (up to 2:54) | 11:55 |
56 | C. Watch: Handling a New Requirement (2:54 to end) | 11:55 |
57 | A. Watch: Using Inheritance | 08:39 |
58 | A. Watch: Understanding Composition (up to 9:45) | 15:28 |
59 | C. Watch: Understanding Composition (9:45 to 12:17) | 15:28 |
60 | E. Watch: Understanding Composition (12:17 to end) | 15:28 |
61 | A. Watch: Seeking Abstractions (up to 1:05) | 13:08 |
62 | C. Watch: Seeking Abstractions (1:05 to the end) | 13:08 |
63 | A. Watch: Loosening Coupling | 08:04 |
64 | A. Watch: One Final Requirement (up to 1:05) | 05:31 |
65 | C. Watch: One Final Requirement (1:05 to end) | 05:31 |
66 | Watch: Nothing is Something | 35:54 |
Read Book Practical Object-Oriented Design - Course I
# | Title |
---|---|
1 | C1. Download 99 Bottles of OOP book (Ruby) |
2 | C2. Download 99 Bottles of OOP book (JS) |
3 | C3. Download 99 Bottles of OOP book (PHP) |
4 | C4.Download 99 Bottles of OOP book (Python) |
Similar courses to Practical Object-Oriented Design - Course I

The Imposter's Roadmapbigmachine.io

Classic Season 5destroyallsoftware

Advanced Distributed Systems DesignUdi Dahan

Algorithms and Data StructuresOz Nova (csprimer.com)

Bulletproof SAAS OfferProdigies University

Great Thinkers, Great TheoremsWondrium by The Great CoursesDr. William Dunham

Become An Open Source MasterJames Pearce
![Complete Guide to Protocol Buffers 3 [Java, Golang, Python]](https://cdn.courseflix.net/courses/100x56/complete-guide-to-protocol-buffers-3-java-golang-python.jpg?d=1750314613247)
Complete Guide to Protocol Buffers 3 [Java, Golang, Python]udemy

System Design for Interviews and BeyondMikhail Smarshchok
