π
Python Foundations
L1Β· 174 lessonsFrom zero to confident with Python basics
πcert_available_label
Certificate in Python Foundations
0 / 60 cert_lessons_toward
174 interactive lessons split into 8 modules covering print/variables, types, conditions, loops, lists, dicts, functions, strings, errors, and real-world mini-projects. First 15 lessons free after a free signup.
β
Who this is for
- Β·Never programmed before β this assumes literally zero coding background
- Β·You don't need a Mac. Browser is enough. We provide the Python runtime
- Β·Math: high-school arithmetic is plenty. No calculus, no proofs
- Β·English not required β most lessons localised to many languages, pick yours in the header
πPredict: print with comma
πPredict: f-string + variables
πList & append β write code
πQuiz: which type is immutable?
πQuiz: what does len() return?
πDivision // and % β write code
πQuiz: what does a function without return return?
ππ― Review Β· build + look up a contact book
πPredict: `in` operator on strings
πQuiz: how do str and int differ?
ππ― Mini-project: Guess the number
πPredict: conditions with and/or
πFind the bug: forgotten return
πQuiz: what does .lower() return?
ππ― Review Β· text stats with functions
πQuiz: which method strips whitespace?
πCapitalise words in a title
ππ― Mini-project: Word frequency counter
πtry / except β catch the error
πFind the bug: int() on a string
πQuiz: what error fires on a missing dict key?
πFINAL: TODO-list mini-project
ππ― Review Β· safe CSV parser
π*args β variable arguments
π**kwargs β keyword arguments
πPredict: map and filter chained
πF-strings: formatting deep dive
πString split() and join()
πString strip() and replace()
πScenario: process a CSV export at midnight
πScenario: parse a webhook payload
πFix: bare except swallows real bugs
ππ― Mini-project: Calculator with history
πScenario: validate user age at signup
πFix: a wrong type hint that mypy would catch
πPredict: list slicing tricks
πClasses: defining your own type
πClass methods and static methods
πsuper(): calling the parent
πMagic methods: __str__ and __eq__
πProperties with @property
πClass vs instance variables
πisinstance and type checks
πdatetime: working with dates
ππ― Mini-project: JSON β CSV converter
πMILESTONE: build a Library system
πitertools.chain and product
πMutable default args trap
ππ― Mini-project: Log parser
πString startswith / endswith
πMILESTONE: Phone book CLI
πasyncio basics: async/await
πasyncio.run() β top-level entry
πasyncio.gather() for parallel coroutines
πPredict: asyncio.sleep ordering
πThreading basics β predict the output
πthreading.Lock β predict the final counter
πqueue.Queue β producer / consumer
πmultiprocessing.Pool β predict the output
πThreadPoolExecutor β predict the output
πsubprocess.run β predict the output
πshutil copytree β predict
πtempfile cleanup β predict
πurllib status code β predict
πrequests raise_for_status β predict
πtimeit for micro-benchmarks
πCAPSTONE: Parallel file downloader
π@property β computed attributes
πsuper() chaining in inheritance
πMultiple inheritance and MRO
πABC β abstract base classes
πdecimal.Decimal β precise arithmetic
πfrozenset β immutable, hashable sets
πCustom exceptions + raise from
π@contextmanager decorator
πyield from β generator delegation
πcollections.Counter β frequency counts
πfunctools.singledispatch β type-based dispatch
πType hints β Optional, Union, generics
πpathlib β modern path handling
πJSON β dump, load, custom encoder
πCSV with DictReader / DictWriter
πlogging β handlers, levels, formatters
πMINI: Tic-Tac-Toe β detect a winner
πMINI: Log parser β top 3 IPs by error count
πMINI: Password strength validator (5-rule scoring)
πMINI: Calculator with history (last N results)
πMINI: JSON β CSV converter (flatten nested dicts)
Tip: click any lesson to revisit it. After your first attempt, the βShow exampleβ button reveals the full solution.