Core Skills Level
Beginner Tier
Strengthen your foundations with object-oriented programming, file handling, error management and Python modules. Build real programs that do real things.
Topics Covered
Enjoying the lessons?
Upgrade to unlock AI features, progress sync & more
Lesson 2
Accessing Dictionary Values — get() and Safe Access
Lesson 2
Accessing Dictionary Values — get() and Safe Access
Lesson 3
Adding and Modifying Dictionary Entries
Lesson 3
Adding and Modifying Dictionary Entries
Lesson 4
Removing Dictionary Entries
Lesson 4
Removing Dictionary Entries
Lesson 5
Dictionary Methods — keys(), values(), items()
Lesson 5
Dictionary Methods — keys(), values(), items()
Lesson 6
Looping Through Dictionaries — Patterns and Power
Lesson 6
Looping Through Dictionaries — Patterns and Power
Lesson 7
Nested Dictionaries — Data Within Data
Lesson 7
Nested Dictionaries — Data Within Data
Lesson 8
Dictionaries vs Lists — Choosing the Right Tool
Lesson 8
Dictionaries vs Lists — Choosing the Right Tool
Lesson 9
Building Dictionaries Dynamically — From Input and Loops
Lesson 9
Building Dictionaries Dynamically — From Input and Loops
Lesson 10
Milestone: Budget Manager
Lesson 10
Milestone: Budget Manager
Lesson 11
What Tuples Are — Immutable Sequences
Lesson 11
What Tuples Are — Immutable Sequences
Lesson 12
Working with Tuples — Indexing, Slicing, Unpacking
Lesson 12
Working with Tuples — Indexing, Slicing, Unpacking
Lesson 13
When to Use Tuples — Real-World Patterns
Lesson 13
When to Use Tuples — Real-World Patterns
Lesson 14
What Sets Are — The Uniqueness Guarantee
Lesson 14
What Sets Are — The Uniqueness Guarantee
Lesson 15
Set Operations — add(), remove(), discard()
Lesson 15
Set Operations — add(), remove(), discard()
Lesson 16
Set Mathematics — Union, Intersection, Difference
Lesson 16
Set Mathematics — Union, Intersection, Difference
Lesson 17
Sets vs Lists vs Tuples — The Complete Picture
Lesson 17
Sets vs Lists vs Tuples — The Complete Picture
Lesson 18
Practical Tuple Patterns — Named Tuples and More
Lesson 18
Practical Tuple Patterns — Named Tuples and More
Lesson 19
Practical Set Patterns — Deduplication and Membership
Lesson 19
Practical Set Patterns — Deduplication and Membership
Lesson 20
Milestone: Transaction Records System
Lesson 20
Milestone: Transaction Records System
Lesson 21
Why Files Matter — The Persistence Problem
Lesson 21
Why Files Matter — The Persistence Problem
Lesson 22
Writing to Files — open(), write(), and the with Statement
Lesson 22
Writing to Files — open(), write(), and the with Statement
Lesson 23
Reading from Files — read(), readlines(), readline()
Lesson 23
Reading from Files — read(), readlines(), readline()
Lesson 24
Appending to Files — Building Up Data Over Time
Lesson 24
Appending to Files — Building Up Data Over Time
Lesson 25
File Paths and Error Handling — Safe File Operations
Lesson 25
File Paths and Error Handling — Safe File Operations
Lesson 26
Working with CSV Files — Spreadsheet-Compatible Data
Lesson 26
Working with CSV Files — Spreadsheet-Compatible Data
Lesson 27
Reading CSV with Loops — Processing Tabular Data
Lesson 27
Reading CSV with Loops — Processing Tabular Data
Lesson 28
Introduction to JSON — The Perfect Data Format
Lesson 28
Introduction to JSON — The Perfect Data Format
Lesson 29
Reading and Writing JSON Files — Complete Persistence
Lesson 29
Reading and Writing JSON Files — Complete Persistence
Lesson 30
Milestone: Expense File System
Lesson 30
Milestone: Expense File System
Lesson 31
What Modules Are — Python's Built-in Toolbox
Lesson 31
What Modules Are — Python's Built-in Toolbox
Lesson 32
The datetime Module — Working with Dates and Times
Lesson 32
The datetime Module — Working with Dates and Times
Lesson 33
Working with Dates — Arithmetic, Comparison, and More
Lesson 33
Working with Dates — Arithmetic, Comparison, and More
Lesson 34
The random Module — Generating Test Data
Lesson 34
The random Module — Generating Test Data
Lesson 35
The math Module — Financial Calculations
Lesson 35
The math Module — Financial Calculations
Lesson 36
The os Module — File System Management
Lesson 36
The os Module — File System Management
Lesson 37
The string Module and String Constants
Lesson 37
The string Module and String Constants
Lesson 38
Creating Your Own Modules — Splitting Code into Files
Lesson 38
Creating Your Own Modules — Splitting Code into Files
Lesson 39
Import Patterns — from, as, and Best Practices
Lesson 39
Import Patterns — from, as, and Best Practices
Lesson 40
Milestone: Timestamped Transactions
Lesson 40
Milestone: Timestamped Transactions
Lesson 41
Errors and Exceptions — The Full Picture
Lesson 41
Errors and Exceptions — The Full Picture
Lesson 42
try/except — Catching Specific Exceptions
Lesson 42
try/except — Catching Specific Exceptions
Lesson 43
Multiple except Clauses — Handling Different Errors Differently
Lesson 43
Multiple except Clauses — Handling Different Errors Differently
Lesson 44
else and finally — Completing the try/except Pattern
Lesson 44
else and finally — Completing the try/except Pattern
Lesson 45
Raising Your Own Exceptions — Enforcing Business Rules
Lesson 45
Raising Your Own Exceptions — Enforcing Business Rules
Lesson 46
Custom Exception Classes — Professional Error Handling
Lesson 46
Custom Exception Classes — Professional Error Handling
Lesson 47
Exception Messages and Information — Communicating Errors Clearly
Lesson 47
Exception Messages and Information — Communicating Errors Clearly
Lesson 48
Nested try/except — Handling Errors at Multiple Levels
Lesson 48
Nested try/except — Handling Errors at Multiple Levels
Lesson 49
Defensive Functions — Designing for Robustness
Lesson 49
Defensive Functions — Designing for Robustness
Lesson 50
Milestone: Bulletproof Expense Tracker
Lesson 50
Milestone: Bulletproof Expense Tracker
Lesson 51
Why List Comprehensions Exist — The Elegant Way
Lesson 51
Why List Comprehensions Exist — The Elegant Way
Lesson 52
Filtered List Comprehensions — Adding Conditions
Lesson 52
Filtered List Comprehensions — Adding Conditions
Lesson 53
Nested List Comprehensions — Lists of Lists
Lesson 53
Nested List Comprehensions — Lists of Lists
Lesson 54
Dictionary Comprehensions — Building Dicts Elegantly
Lesson 54
Dictionary Comprehensions — Building Dicts Elegantly
Lesson 55
Set Comprehensions and Generator Expressions
Lesson 55
Set Comprehensions and Generator Expressions
Lesson 56
Comprehensions with Functions — Calling Functions Inside
Lesson 56
Comprehensions with Functions — Calling Functions Inside
Lesson 57
When NOT to Use Comprehensions — Knowing the Limits
Lesson 57
When NOT to Use Comprehensions — Knowing the Limits
Lesson 58
Comprehensions in Practice — Real Expense Tracker Patterns
Lesson 58
Comprehensions in Practice — Real Expense Tracker Patterns
Lesson 59
Comprehension Performance — Speed and Memory
Lesson 59
Comprehension Performance — Speed and Memory
Lesson 60
Milestone: Smart Expense Filters
Lesson 60
Milestone: Smart Expense Filters
Lesson 61
What Classes Are — The Big Idea
Lesson 61
What Classes Are — The Big Idea
Lesson 62
Defining Classes — __init__ and self
Lesson 62
Defining Classes — __init__ and self
Lesson 63
Instance Methods — Objects That Do Things
Lesson 63
Instance Methods — Objects That Do Things
Lesson 64
The __str__ and __repr__ Methods — Making Objects Readable
Lesson 64
The __str__ and __repr__ Methods — Making Objects Readable
Lesson 65
Class Attributes vs Instance Attributes
Lesson 65
Class Attributes vs Instance Attributes
Lesson 66
Building Real Objects — Designing a Complete Class
Lesson 66
Building Real Objects — Designing a Complete Class
Lesson 67
Objects in Lists — Collections of Instances
Lesson 67
Objects in Lists — Collections of Instances
Lesson 68
Objects in Dictionaries — Organising Object Collections
Lesson 68
Objects in Dictionaries — Organising Object Collections
Lesson 69
Special Methods — Making Objects Truly Pythonic
Lesson 69
Special Methods — Making Objects Truly Pythonic
Lesson 70
Milestone: Transaction Class
Lesson 70
Milestone: Transaction Class
Lesson 71
What Inheritance Is — The IS-A Relationship
Lesson 71
What Inheritance Is — The IS-A Relationship
Lesson 72
Creating Subclasses — Adding Specialised Behaviour
Lesson 72
Creating Subclasses — Adding Specialised Behaviour
Lesson 73
The super() Function — Extending Parent Behaviour
Lesson 73
The super() Function — Extending Parent Behaviour
Lesson 74
Method Overriding — Replacing Parent Behaviour
Lesson 74
Method Overriding — Replacing Parent Behaviour
Lesson 75
Polymorphism — One Interface, Many Behaviours
Lesson 75
Polymorphism — One Interface, Many Behaviours
Lesson 76
isinstance() with Classes — Safe Type Checking
Lesson 76
isinstance() with Classes — Safe Type Checking
Lesson 77
Class Methods and Static Methods
Lesson 77
Class Methods and Static Methods
Lesson 78
Properties — Controlled Attribute Access
Lesson 78
Properties — Controlled Attribute Access
Lesson 79
Dataclasses — Classes Made Easy
Lesson 79
Dataclasses — Classes Made Easy
Lesson 80
Milestone: Income and Expense Classes
Lesson 80
Milestone: Income and Expense Classes
Lesson 81
Application Architecture — Structuring a Real Application
Lesson 81
Application Architecture — Structuring a Real Application
Lesson 82
The Repository Pattern — Managing Collections of Objects
Lesson 82
The Repository Pattern — Managing Collections of Objects
Lesson 83
Menus with Objects — Building the User Interface Layer
Lesson 83
Menus with Objects — Building the User Interface Layer
Lesson 84
Generating Reports — Analytics from Object Collections
Lesson 84
Generating Reports — Analytics from Object Collections
Lesson 85
Saving Objects to JSON — Serialising the Complete Application State
Lesson 85
Saving Objects to JSON — Serialising the Complete Application State
Lesson 86
Loading Objects from JSON — Deserialising the Application State
Lesson 86
Loading Objects from JSON — Deserialising the Application State
Lesson 87
Searching and Filtering — Smart Queries Across Object Collections
Lesson 87
Searching and Filtering — Smart Queries Across Object Collections
Lesson 88
Data Validation in Classes — Keeping the Application Robust
Lesson 88
Data Validation in Classes — Keeping the Application Robust
Lesson 89
A Complete CLI Application — Assembling All the Pieces
Lesson 89
A Complete CLI Application — Assembling All the Pieces
Lesson 90
Milestone: Complete Expense Tracker
Lesson 90
Milestone: Complete Expense Tracker
Lesson 91
Code Review — Reviewing Your Own OOP Code
Lesson 91
Code Review — Reviewing Your Own OOP Code
Lesson 92
Refactoring OOP Code — Improving Without Breaking
Lesson 92
Refactoring OOP Code — Improving Without Breaking
Lesson 93
Edge Cases in OOP — Making Objects Robust
Lesson 93
Edge Cases in OOP — Making Objects Robust
Lesson 94
Adding Features the Right Way — Open/Closed Principle
Lesson 94
Adding Features the Right Way — Open/Closed Principle
Lesson 95
Testing Classes — Writing Unit Tests for OOP Code
Lesson 95
Testing Classes — Writing Unit Tests for OOP Code
Lesson 96
Documentation for Classes — Writing Docstrings That Help
Lesson 96
Documentation for Classes — Writing Docstrings That Help
Lesson 97
What's Coming — Intermediate Tier Preview
Lesson 97
What's Coming — Intermediate Tier Preview
Lesson 98
Final Assembly Part 1 — Building the Complete Showcase
Lesson 98
Final Assembly Part 1 — Building the Complete Showcase
Lesson 99
Final Assembly Part 2 — Polish, Testing, and the Complete Showcase
Lesson 99
Final Assembly Part 2 — Polish, Testing, and the Complete Showcase
Lesson 100
Graduation — Final Exam and Complete Expense Tracker
Lesson 100