Skip to main content

Courses

From zero to first project

πŸ‘†Click a lesson to start

Learning tracks

1024 lessons Β· 10 tracks Β· 18 languages
🐍
Python FoundationsL1Β· 170 lessons
From zero to confident with Python basics
β†’
πŸ€–
AI Engineering with PythonL3PROΒ· 101 lessons
Build with Claude & LLM APIs like the US dev community does
β†’
⚑
FastAPI ProductionL3PROΒ· 101 lessons
REST APIs the way US startups ship them
β†’
πŸ“Š
Data Science AppliedL3PROΒ· 100 lessons
pandas, polars, real datasets, dashboards
β†’
πŸ—οΈ
System Design for Python JuniorsL4PROΒ· 101 lessons
What FAANG-tier interviews actually ask
β†’
🧠
Senior Deep-DivesL5PROΒ· 101 lessons
asyncio internals, GIL, typing tricks, Rust extensions
β†’
🎯
Interview PrepL3PROΒ· 100 lessons
LeetCode patterns in Python + behavioral STAR
β†’
πŸš€
DevOps for Python servicesL4PROΒ· 100 lessons
Docker, CI/CD, observability, deploys, incident response
β†’
πŸ“‹
Python for Office WorkersL2PROΒ· 50 lessons
Excel, Google Sheets, scraping β€” automate the boring parts of your job
β†’
🎨
Creative ChallengesL3PROΒ· 100 lessons
10 unique formats nobody else teaches
β†’
🎁 Free bonus after sign-up β€” Frontend basics
HTML 91 Β· CSS 109 Β· JS 40 lessons unlock when you create an account. Designed so you understand how your Python backend pairs with the browser.
Sign up to unlock β†’
πŸ“š
First β€” basics primer (8 cards)
() [] {} " ' : = == β€” terms you should know
β†’
Module 1Free: 1–15

Python Basics

From zero to first project

0/170
lessons
Progress0%
1
Hello, World!Write
+75 XPSTART
2
VariablesFill
+60 XPSTART
3
Data typesQuiz
+75 XPSTART
4
StringsWrite
+75 XPSTART
5
Numbers and mathWrite
+75 XPSTART
6
User inputWrite
+75 XPSTART
7
Currency converterScenario
+100 XPSTART
8
if / else conditionsFill
+60 XPSTART
9
Find the bug in the ifFix
+75 XPSTART
10
Even or oddWrite
+75 XPSTART
11
Grade calculatorScenario
+100 XPSTART
12
for loopsFill
+60 XPSTART
13
while loopsFix
+75 XPSTART
14
FizzBuzzWrite
+100 XPSTART
15
Shopping listWrite
+75 XPSTART
16
Contacts dictWrite
+75 XPπŸ”’
17
Greeting functionWrite
+75 XPπŸ”’
18
Predict the outputPredict
+75 XPπŸ”’
19
List comprehensionsWrite
+100 XPπŸ”’
20
Guess the numberMission
+200 XPπŸ”’
21
Predict: print with commaPredict
+75 XPπŸ”’
22
Predict: mathPredict
+75 XPπŸ”’
23
Predict: for loopPredict
+75 XPπŸ”’
24
Predict: f-string + variablesPredict
+75 XPπŸ”’
25
List & append β€” write codeWrite
+75 XPπŸ”’
26
Quiz: which type is immutable?Quiz
+60 XPπŸ”’
27
Quiz: what does len() return?Quiz
+60 XPπŸ”’
28
Division // and % β€” write codeWrite
+75 XPπŸ”’
29
Quiz: comments in PythonQuiz
+60 XPπŸ”’
30
Quiz: what does a function without return return?Quiz
+60 XPπŸ”’
31
Double a numberWrite
+75 XPπŸ”’
32
Maximum of threeWrite
+75 XPπŸ”’
33
Reverse a stringWrite
+75 XPπŸ”’
34
Sum of a listWrite
+75 XPπŸ”’
35
Count vowelsWrite
+100 XPπŸ”’
36
Predict: `in` operator on stringsPredict
+75 XPπŸ”’
37
Quiz: how do str and int differ?Quiz
+60 XPπŸ”’
35.5
🎯 Mini-project: Guess the numberMission
+200 XPπŸ”’
38
Predict: conditions with and/orPredict
+75 XPπŸ”’
39
Find the bug: loopFix
+75 XPπŸ”’
40
Fill in: nested loopFill
+100 XPπŸ”’
41
Default parametersWrite
+75 XPπŸ”’
42
Predict: variable scopePredict
+75 XPπŸ”’
43
Find the bug: forgotten returnFix
+75 XPπŸ”’
44
Quiz: what does .lower() return?Quiz
+60 XPπŸ”’
45
Fill in: lambdaFill
+100 XPπŸ”’
46
Replace a wordWrite
+75 XPπŸ”’
47
Split a sentenceWrite
+75 XPπŸ”’
48
Predict: slice [::-1]Predict
+75 XPπŸ”’
49
Quiz: which method strips whitespace?Quiz
+60 XPπŸ”’
50
Capitalise words in a titleWrite
+75 XPπŸ”’
50.5
🎯 Mini-project: Word frequency counterMission
+200 XPπŸ”’
51
try / except β€” catch the errorWrite
+75 XPπŸ”’
52
Find the bug: int() on a stringFix
+75 XPπŸ”’
53
Quiz: what error fires on a missing dict key?Quiz
+60 XPπŸ”’
54
Predict: try / finallyPredict
+75 XPπŸ”’
55
Safe number parsingWrite
+100 XPπŸ”’
56
Find the max in a listScenario
+100 XPπŸ”’
57
Filter: only evensScenario
+100 XPπŸ”’
58
Count words in textScenario
+100 XPπŸ”’
59
Mini calculatorScenario
+125 XPπŸ”’
60
FINAL: TODO-list mini-projectMission
+200 XPπŸ”’
61
List comprehensionsWrite
+100 XPπŸ”’
62
Dict comprehensionsWrite
+100 XPπŸ”’
63
enumerate()Write
+75 XPπŸ”’
64
zip()Write
+75 XPπŸ”’
65
*args β€” variable argumentsWrite
+100 XPπŸ”’
66
**kwargs β€” keyword argumentsWrite
+100 XPπŸ”’
67
Lambda functionsWrite
+75 XPπŸ”’
68
sorted() with key=Write
+100 XPπŸ”’
69
Predict: map and filter chainedPredict
+75 XPπŸ”’
70
F-strings: formatting deep diveWrite
+75 XPπŸ”’
71
String split() and join()Write
+75 XPπŸ”’
72
String strip() and replace()Write
+75 XPπŸ”’
73
Scenario: process a CSV export at midnightScenario
+125 XPπŸ”’
74
Scenario: parse a webhook payloadScenario
+125 XPπŸ”’
75
Fix: bare except swallows real bugsFix
+100 XPπŸ”’
75.5
🎯 Mini-project: Calculator with historyMission
+200 XPπŸ”’
76
Scenario: validate user age at signupScenario
+125 XPπŸ”’
77
Fix: a wrong type hint that mypy would catchFix
+100 XPπŸ”’
78
Predict: list slicing tricksPredict
+75 XPπŸ”’
79
Counter from collectionsWrite
+100 XPπŸ”’
80
Set operationsWrite
+100 XPπŸ”’
81
Classes: defining your own typeWrite
+100 XPπŸ”’
82
Class methods and static methodsWrite
+100 XPπŸ”’
83
InheritanceWrite
+100 XPπŸ”’
84
super(): calling the parentWrite
+100 XPπŸ”’
85
Magic methods: __str__ and __eq__Write
+100 XPπŸ”’
86
Properties with @propertyWrite
+100 XPπŸ”’
87
Class vs instance variablesWrite
+100 XPπŸ”’
88
isinstance and type checksWrite
+75 XPπŸ”’
89
Generators with yieldWrite
+125 XPπŸ”’
90
Generator expressionsWrite
+100 XPπŸ”’
91
DecoratorsWrite
+125 XPπŸ”’
92
ClosuresWrite
+100 XPπŸ”’
93
Context managers (with)Write
+100 XPπŸ”’
94
Regex basics with reWrite
+100 XPπŸ”’
95
datetime: working with datesWrite
+100 XPπŸ”’
95.5
🎯 Mini-project: JSON β†’ CSV converterMission
+200 XPπŸ”’
96
pathlib for filesPredict
+100 XPπŸ”’
97
defaultdictWrite
+100 XPπŸ”’
98
namedtupleWrite
+75 XPπŸ”’
99
DataclassesWrite
+100 XPπŸ”’
100
MILESTONE: build a Library systemMission
+250 XPπŸ”’
101
functools.lru_cacheWrite
+100 XPπŸ”’
102
functools.partialWrite
+75 XPπŸ”’
103
itertools.chain and productWrite
+75 XPπŸ”’
104
Enum.EnumWrite
+75 XPπŸ”’
105
Logging basicsPredict
+100 XPπŸ”’
106
Ternary expressionsWrite
+75 XPπŸ”’
107
Walrus operator :=Write
+75 XPπŸ”’
108
Tuple unpacking + swapWrite
+75 XPπŸ”’
109
any() and all()Write
+75 XPπŸ”’
110
min/max with key=Write
+75 XPπŸ”’
111
is vs ==Write
+75 XPπŸ”’
112
Truthy and falsy valuesWrite
+75 XPπŸ”’
113
Mutable default args trapWrite
+100 XPπŸ”’
114
abs / round / divmodWrite
+75 XPπŸ”’
115
Conditional unpackingWrite
+75 XPπŸ”’
115.5
🎯 Mini-project: Log parserMission
+200 XPπŸ”’
116
String case methodsWrite
+75 XPπŸ”’
117
String startswith / endswithWrite
+75 XPπŸ”’
118
in operator and not inWrite
+75 XPπŸ”’
119
Dict get() with defaultWrite
+75 XPπŸ”’
120
MILESTONE: Phone book CLIMission
+250 XPπŸ”’
121
asyncio basics: async/awaitWrite
+100 XPπŸ”’
122
asyncio.run() β€” top-level entryWrite
+100 XPπŸ”’
123
asyncio.gather() for parallel coroutinesWrite
+125 XPπŸ”’
124
Predict: asyncio.sleep orderingPredict
+100 XPπŸ”’
125
async with / async forWrite
+100 XPπŸ”’
126
Threading basics β€” predict the outputPredict
+100 XPπŸ”’
127
threading.Lock β€” predict the final counterPredict
+100 XPπŸ”’
128
queue.Queue β€” producer / consumerWrite
+100 XPπŸ”’
129
multiprocessing.Pool β€” predict the outputPredict
+125 XPπŸ”’
130
ThreadPoolExecutor β€” predict the outputPredict
+100 XPπŸ”’
131
subprocess.run β€” predict the outputPredict
+100 XPπŸ”’
132
shutil copytree β€” predictPredict
+75 XPπŸ”’
133
tempfile cleanup β€” predictPredict
+75 XPπŸ”’
134
urllib status code β€” predictPredict
+75 XPπŸ”’
135
requests raise_for_status β€” predictPredict
+75 XPπŸ”’
136
timeit for micro-benchmarksWrite
+100 XPπŸ”’
137
cProfile basic profilingQuiz
+100 XPπŸ”’
138
logging vs printQuiz
+100 XPπŸ”’
139
argparse for CLI toolsQuiz
+100 XPπŸ”’
140
CAPSTONE: Parallel file downloaderMission
+250 XPπŸ”’
141
__init__ vs __new__Write
+100 XPπŸ”’
142
@property β€” computed attributesWrite
+100 XPπŸ”’
143
super() chaining in inheritanceWrite
+100 XPπŸ”’
144
Multiple inheritance and MROWrite
+100 XPπŸ”’
145
ABC β€” abstract base classesWrite
+100 XPπŸ”’
146
decimal.Decimal β€” precise arithmeticWrite
+100 XPπŸ”’
147
frozenset β€” immutable, hashable setsWrite
+100 XPπŸ”’
148
Custom exceptions + raise fromWrite
+100 XPπŸ”’
149
@contextmanager decoratorWrite
+100 XPπŸ”’
150
yield from β€” generator delegationWrite
+100 XPπŸ”’
151
collections.Counter β€” frequency countsWrite
+100 XPπŸ”’
152
functools.singledispatch β€” type-based dispatchWrite
+100 XPπŸ”’
153
Type hints β€” Optional, Union, genericsFix
+100 XPπŸ”’
154
pathlib β€” modern path handlingPredict
+100 XPπŸ”’
155
datetime arithmeticWrite
+100 XPπŸ”’
156
JSON β€” dump, load, custom encoderWrite
+100 XPπŸ”’
157
CSV with DictReader / DictWriterWrite
+100 XPπŸ”’
158
argparse mini-CLIPredict
+100 XPπŸ”’
159
logging β€” handlers, levels, formattersPredict
+75 XPπŸ”’
160
CAPSTONE: CLI todo-appMission
+200 XPπŸ”’
161
MINI: Tic-Tac-Toe β€” detect a winnerMission
+200 XPπŸ”’
162
MINI: Log parser β€” top 3 IPs by error countMission
+200 XPπŸ”’
163
MINI: Password strength validator (5-rule scoring)Mission
+200 XPπŸ”’
164
MINI: Calculator with history (last N results)Mission
+200 XPπŸ”’
165
MINI: JSON β†’ CSV converter (flatten nested dicts)Mission
+200 XPπŸ”’

Lessons 6–20 available after registration