02 - Mastering The Tools - Setting Up Your Development Environment/01 - VS Code Extensions.mp413.86MB
02 - Mastering The Tools - Setting Up Your Development Environment/02 - Vim Editor Plugin.mp46.27MB
02 - Mastering The Tools - Setting Up Your Development Environment/03 - AI Tools And Autoformatting.mp46.36MB
02 - Mastering The Tools - Setting Up Your Development Environment/04 - VS Code And Pylint Settings.mp410.61MB
02 - Mastering The Tools - Setting Up Your Development Environment/05 - Pyenv.mp48.53MB
03 - Types And Type Hints/01 - Static Vs. Dynamic Typing.mp421.37MB
03 - Types And Type Hints/02 - Strong Vs. Weak Typing.mp412.52MB
03 - Types And Type Hints/03 - Type Hints.mp46.02MB
03 - Types And Type Hints/04 - Callables.mp48.7MB
03 - Types And Type Hints/05 - Types Are A Tool For Developers.mp45.34MB
03 - Types And Type Hints/06 - Nominal Vs. Structural Typing.mp418.11MB
03 - Types And Type Hints/07 - Three Trade-offs With Type Hints.mp418.89MB
04 - Data Structures/01 - Introduction And Numeric Data Types.mp430.64MB
04 - Data Structures/02 - Lists.mp419.1MB
04 - Data Structures/03 - Dictionaries.mp410.8MB
04 - Data Structures/04 - Strings.mp49.25MB
04 - Data Structures/05 - Formatted Strings.mp45.87MB
04 - Data Structures/06 - Enums.mp48.46MB
04 - Data Structures/07 - Tuples.mp46.14MB
04 - Data Structures/08 - Final Thoughts.mp48.01MB
05 - Classes And Dataclasses/01 - Introduction.mp410.64MB
05 - Classes And Dataclasses/02 - What Is A Class.mp412.38MB
05 - Classes And Dataclasses/03 - Data Classes.mp416.59MB
05 - Classes And Dataclasses/04 - Object Initialization.mp413.32MB
05 - Classes And Dataclasses/05 - Advanced Object Initialization.mp48.86MB
05 - Classes And Dataclasses/06 - Read-Only Objects.mp44.29MB
05 - Classes And Dataclasses/07 - Final Thoughts.mp411.68MB
05.1 - The Mighty Function/01-Introduction.mp410.89MB
05.1 - The Mighty Function/02-Pure Functions And Side Effects.mp415.29MB
05.1 - The Mighty Function/03-Callables.mp411.84MB
05.1 - The Mighty Function/04-Higher-Order Functions.mp420.44MB
05.1 - The Mighty Function/05-Closures And Partial Function Application.mp424.09MB
05.1 - The Mighty Function/06-Grouping Functions.mp417.57MB
05.1 - The Mighty Function/07-Classes Vs. Functions.mp416.25MB
06 - Inheritance, ABCs And Protocols/01 - Introduction.mp421.68MB
06 - Inheritance, ABCs And Protocols/02 - Abstract Base Classes.mp419.97MB
06 - Inheritance, ABCs And Protocols/03 - Protocols.mp412.79MB
06 - Inheritance, ABCs And Protocols/04 - Interface Segregation Using Protocols.mp413.57MB
06 - Inheritance, ABCs And Protocols/05 - Differences Between Protocol And ABC.mp47.13MB
06 - Inheritance, ABCs And Protocols/06 - When To Use Which One.mp45MB
06 - Inheritance, ABCs And Protocols/07 - Final Thoughts.mp415.95MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/01 - Why You Need To Be Careful With Inheritance.mp415.66MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/02 - First Attempt Using Inheritance.mp416.44MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/03 - Second Attempt Using Composition.mp414.02MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/04 - A More Generic Solution With Abstraction.mp421.42MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/05 - Analysis Of What We've Done.mp48.53MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/06 - Exercise Apply Composition To The Vehicle Example.mp417.2MB
07 - The 7 Principles Of Modern Software Design/01 - Favor Composition Over Inheritance/07 - Final Thoughts.mp47.4MB
07 - The 7 Principles Of Modern Software Design/02 - High Cohesion/01 - What Is Cohesion.mp410.5MB
07 - The 7 Principles Of Modern Software Design/02 - High Cohesion/02 - Increasing Order Cohesion.mp411.39MB
07 - The 7 Principles Of Modern Software Design/02 - High Cohesion/03 - Increasing Payment Processor Cohesion.mp410.34MB
07 - The 7 Principles Of Modern Software Design/02 - High Cohesion/04 - Organising Vehicle Data.mp415.91MB
07 - The 7 Principles Of Modern Software Design/02 - High Cohesion/05 - Increasing The Main Function Cohesion.mp49.27MB
07 - The 7 Principles Of Modern Software Design/02 - High Cohesion/06 - Cohesion And Single Responsibility.mp413.7MB
07 - The 7 Principles Of Modern Software Design/03 - Low Coupling/01 - What Is Coupling.mp49.98MB
07 - The 7 Principles Of Modern Software Design/03 - Low Coupling/02 - Different Types Of Coupling.mp423.04MB
07 - The 7 Principles Of Modern Software Design/03 - Low Coupling/03 - The Law Of Demeter.mp414.81MB
07 - The 7 Principles Of Modern Software Design/03 - Low Coupling/04 - Exercise Reduce Coupling In The Vehicle Example.mp424.99MB
07 - The 7 Principles Of Modern Software Design/03 - Low Coupling/05 - Final Thoughts.mp49.29MB
07 - The 7 Principles Of Modern Software Design/04 - Start With The Data/01 - Introduction.mp417.24MB
07 - The 7 Principles Of Modern Software Design/04 - Start With The Data/02 - Analysis Of The Example.mp415.29MB
07 - The 7 Principles Of Modern Software Design/04 - Start With The Data/03 - Improving The Rental Contract Structure.mp49.09MB
07 - The 7 Principles Of Modern Software Design/04 - Start With The Data/04 - Remove Coupling From The Main Function.mp49.74MB
07 - The 7 Principles Of Modern Software Design/04 - Start With The Data/05 - Improving Object Communication.mp422.46MB
07 - The 7 Principles Of Modern Software Design/04 - Start With The Data/06 - Exercise- Apply This Technique Yourself.mp425.3MB
07 - The 7 Principles Of Modern Software Design/05 - Depend On Abstractions/01 - Introduction And Analysis.mp419.91MB
07 - The 7 Principles Of Modern Software Design/05 - Depend On Abstractions/02 - Abstracting The Authorizer Functions.mp425.47MB
07 - The 7 Principles Of Modern Software Design/05 - Depend On Abstractions/03 - Abstracting The Order Class.mp418.97MB
07 - The 7 Principles Of Modern Software Design/05 - Depend On Abstractions/04 - Abstracting The Payment Processor.mp429.26MB
07 - The 7 Principles Of Modern Software Design/05 - Depend On Abstractions/05 - Final Thoughts.mp434.78MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/01 - Introduction.mp411.92MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/02 - Analysis Of The Example.mp48MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/03 - The Factory Pattern.mp46.57MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/04 - Using The Factory Pattern.mp416.02MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/05 - Another Creation Example.mp48.26MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/06 - Taking Control Over Creation.mp414.03MB
07 - The 7 Principles Of Modern Software Design/06 - Separate Creation From Use/07 - Final Thoughts And The Open-Closed Principle.mp417.25MB
07 - The 7 Principles Of Modern Software Design/07 - Keep Things Simple/01 - Introduction.mp412.28MB
07 - The 7 Principles Of Modern Software Design/07 - Keep Things Simple/02 - DRY - Don't Repeat Yourself.mp432.39MB
07 - The 7 Principles Of Modern Software Design/07 - Keep Things Simple/03 - KISS - Keep It Stupidly Simple.mp419.07MB
07 - The 7 Principles Of Modern Software Design/07 - Keep Things Simple/04 - YAGNI - You Ain't Gonna Need It.mp49.06MB
07 - The 7 Principles Of Modern Software Design/07 - Keep Things Simple/05 - Final Thoughts.mp420.67MB
08 - Being A Responsible Developer/01 - Mixins/01 - What Is A Mixin.mp47.46MB
08 - Being A Responsible Developer/01 - Mixins/02 - Why You Need To Be Careful With Mixins.mp46.11MB
08 - Being A Responsible Developer/01 - Mixins/03 - Conventions And Restrictions.mp46.99MB
08 - Being A Responsible Developer/01 - Mixins/04 - Why I Don't Recommend Using Mixins.mp49.25MB
08 - Being A Responsible Developer/01 - Mixins/05 - Final Thoughts.mp410.62MB
08 - Being A Responsible Developer/02 - Dealing With Errors/01 - Introduction.mp47.5MB
08 - Being A Responsible Developer/02 - Dealing With Errors/02 - Basic Error Handling.mp410.06MB
08 - Being A Responsible Developer/02 - Dealing With Errors/03 - Dealing With Multiple Exceptions.mp44.08MB
08 - Being A Responsible Developer/02 - Dealing With Errors/04 - The Finally Block.mp43.52MB
08 - Being A Responsible Developer/02 - Dealing With Errors/05 - Context Managers.mp412.55MB
08 - Being A Responsible Developer/02 - Dealing With Errors/06 - Tips And Caveats.mp416.82MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/01 - Introduction.mp411.24MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/02 - Project Files.mp46.7MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/03 - Project Folders.mp46.33MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/04 - Modules And Packages.mp46.25MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/05 - Absolute Vs Relative Imports.mp47.53MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/06 - Multiple Packages.mp47.32MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/07 - Import Tips.mp45.59MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/08 - Organising Your Code.mp424.87MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/09 - Architecture As Structure.mp48.68MB
08 - Being A Responsible Developer/03 - Setting Up A Complex Software Project/10 - Security Tips.mp415.26MB
08 - Being A Responsible Developer/04 - Course Wrap Up/01 - Wrapping Things Up.mp410.87MB
09 - BONUS Material/01 - Domain Modelling And Levels Of Software Design.mp478.31MB
09 - BONUS Material/02 - History of Computing, Data Vs Processing.mp4275.75MB
09 - BONUS Material/03 - Mixins And Composition.mp4203.59MB
09 - BONUS Material/04 - How To Do Great Code Reviews.mp4633.92MB
09 - BONUS Material/05 - A Code Review Of Python Fire.mp4228.75MB
10 - Q&A Sessions/01 - May 2022.mp4182.73MB
11 - Extension/01 - Case Study Developing An API/01 - Introduction And Domain Model/01 - Why Understanding The Domain Is Important.mp415.8MB
11 - Extension/01 - Case Study Developing An API/01 - Introduction And Domain Model/02 - Modelling The Domain.mp418.52MB
11 - Extension/02 - Scaffolding Of The Project/01 - What Is An API-.mp422.77MB
11 - Extension/02 - Scaffolding Of The Project/02 - Creating An API Server.mp44.34MB
11 - Extension/02 - Scaffolding Of The Project/03 - Setting Up The Database Models.mp419.14MB
11 - Extension/02 - Scaffolding Of The Project/04 - Relationships Between Models.mp46.93MB
11 - Extension/02 - Scaffolding Of The Project/05 - Creating The Database System.mp46.78MB
11 - Extension/02 - Scaffolding Of The Project/06 - Patching Everything Up.mp47.49MB
11 - Extension/03 - The Layered Architecture/01 - Why Scaffolding Is Useful.mp49.27MB
11 - Extension/03 - The Layered Architecture/02 - What Is The Layered Architecture-.mp412.18MB
11 - Extension/03 - The Layered Architecture/03 - Creating A Layered Architecture.mp411.29MB
11 - Extension/03 - The Layered Architecture/04 - Analysis.mp411.39MB
11 - Extension/04 - Completing The API/01 - Developing A Basic Customer API.mp48.55MB
11 - Extension/04 - Completing The API/02 - Creating A New Customer.mp411.43MB