Python · Beginner · Free

Modern Python 101 — Thinking With Types

Learning programming, not just Python syntax

A beginner-friendly path through Python that assumes no prior coding — fundamentals to OOP, with two small projects to tie it together.

59 lessons

Learning a language's syntax and learning to program are two different things. This free course is about the second one. It assumes no prior coding knowledge and builds a working mental model of Python — types first — rather than a pile of memorised keywords.

It moves from the type system and variables through control flow, data structures, functions, and object-oriented programming, then puts the ideas to work in a couple of small projects before opening the door to more advanced territory.

What it covers

  • Introduction: why Python, install and setup
  • The type system and variables
  • Data types and variable rules
  • Control flow: conditionals and loops
  • Data structures: lists, tuples, dictionaries, sets
  • Functions: scope, higher-order, lambda
  • Object-oriented programming and magic methods
  • Error handling and exceptions
  • Packages and modules
  • Advanced: files, generators, decorators, testing

Prerequisites

None — designed for complete beginners.

The project

A cash register app and the “Save Zortan” game, built to practise layered thinking.

Lessons

0 of 59 complete
  1. Thinking In Types - Introduction01
  2. Thinking In Types - Welcome And Github Download02
  3. Thinking In Types - Tour of Python03
  4. Thinking In Types - Setting Up Local Python Development Machine04
  5. Thinking In Types -Troubleshooting Mac [Mac Users]05
  6. Thinking In Types - Write Our First 'Hello world' Program06
  7. Thinking In Types - Understanding Variables07
  8. Thinking In Types - Creating Variables08
  9. Thinking In Types - Variable Memory Allocation09
  10. Thinking In Types - Rules For Declaring Variables10
  11. Thinking In Types - Primitive Data Types11
  12. Thinking In Types - String Formatting12
  13. Thinking In Types - First Bug And Using Mypy13
  14. Thinking In Types - String Formatting Practice14
  15. Thinking In Types - If / Else Block15
  16. Thinking In Types - And / Or Statements16
  17. Thinking In Types - For Loop17
  18. Thinking In Types - While Loops18
  19. Thinking In Types - Match Statement19
  20. Thinking In Types - Game Save Zortan20
  21. Thinking In Types - Lists21
  22. Thinking In Types - Tuples22
  23. Thinking In Types - Dictionary23
  24. Thinking In Types - Sets24
  25. Thinking In Types - Game - Save Zortan25
  26. Thinking In Types - Enum26
  27. Thinking In Types - Introduction to Functions27
  28. Thinking In Types - Better Functions28
  29. Thinking In Types - Calculate your weight on Zortan29
  30. Thinking In Types - Flying Friends30
  31. Thinking In Types - args & kwargs31
  32. Thinking In Types - Global & Local Scope32
  33. Thinking In Types - Game - Save Zortan33
  34. Thinking In Types - Game - Higher Order Functions34
  35. Thinking In Types - Introduction To Classes35
  36. Thinking In Types - Understanding Classes36
  37. Thinking In Types - Class Methods37
  38. Thinking In Types - Class for Characters38
  39. Thinking In Types - Use of Classes39
  40. Thinking In Types - Class & Instance Members40
  41. Thinking In Types - Inheritance and Polymorphism41
  42. Thinking In Types - Class Decorators42
  43. Thinking In Types - Classes For Game - Save Zortan43
  44. Thinking In Types - Magic Methods44
  45. Thinking In Types - Syntax & Runtime errors45
  46. Thinking In Types - Try/Except46
  47. Thinking In Types - Try/Else/Finally47
  48. Thinking In Types - Assertion Error48
  49. Thinking In Types - Raising Errors49
  50. Thinking In Types - Python Modules50
  51. Thinking In Types - Python Packages51
  52. Thinking In Types - Local Package52
  53. Thinking In Types - __init__.py53
  54. Thinking In Types - VOC-DTP54
  55. Thinking In Types - Cash Register Part 155
  56. Thinking In Types - Cash Register — Part 256
  57. Thinking In Types - Game Save Zortan57
  58. Thinking In Types - Final Words58
  59. Workouts59