Courses › Course02
Course02 · Programming with Python
From first program to tested, packaged, database-backed applications — the working programming skill AI work demands.
56 days 56 written 56 complete
Days 43-49 · Python Setup and First Programs 7/7 complete
- Day 043 Installing Python and Virtual Environments complete
- Day 044 Variables and Types complete
- Day 045 Strings and Text Processing complete
- Day 046 Numbers, Math, and Precision complete
- Day 047 Input, Output, and f-strings complete
- Day 048 Reading Error Messages and Debugging complete
- Day 049 Your First Real Program complete
Project: Command-Line Calculator — Build a calculator that parses expressions, handles bad input gracefully, and ships with a README and usage examples.
Days 50-56 · Control Flow and Collections 7/7 complete
- Day 050 Conditionals and Boolean Logic complete
- Day 051 Loops: for, while, and Iteration Patterns complete
- Day 052 Lists in Depth complete
- Day 053 Dictionaries in Depth complete
- Day 054 Tuples, Sets, and Choosing a Collection complete
- Day 055 Comprehensions and Iterator Thinking complete
- Day 056 Building a Data-Driven CLI complete
Project: Terminal Task Manager — Build a to-do CLI with add/list/complete/delete commands persisting to a JSON file, using lists and dictionaries idiomatically.
Days 57-63 · Functions and Program Design 7/7 complete
- Day 057 Functions: Definition, Arguments, and Return Values complete
- Day 058 Scope, Closures, and *args/**kwargs complete
- Day 059 Modules, Imports, and Project Layout complete
- Day 060 A Tour of the Standard Library complete
- Day 061 Writing Readable Code complete
- Day 062 Recursion complete
- Day 063 Designing a Small Program Well complete
Project: Flashcard Study App — Build a spaced-repetition flashcard CLI organized into clean modules with documented functions.
Days 64-70 · Files, Errors, and Object-Oriented Python 7/7 complete
- Day 064 Reading and Writing Files complete
- Day 065 CSV and JSON in the Real World complete
- Day 066 Exceptions and Error Handling Strategy complete
- Day 067 Classes and Objects complete
- Day 068 Inheritance, Composition, and Dunder Methods complete
- Day 069 Dataclasses and Type Hints complete
- Day 070 Modeling a Domain with Objects complete
Project: Expense Tracker — Build an expense tracker with CSV import/export, category classes, and monthly summary reports.
Days 71-77 · Testing and Code Quality 7/7 complete
- Day 071 Why Test, and pytest Basics complete
- Day 072 Fixtures, Parametrization, and Test Design complete
- Day 073 Test-Driven Development complete
- Day 074 Mocking and Testing Boundaries complete
- Day 075 Static Typing with mypy complete
- Day 076 Linting and Formatting with Ruff complete
- Day 077 Quality Gates for a Python Project complete
Project: Tested Utility Library — Publish a small utility library with a full pytest suite, type hints checked by mypy, and CI-style local quality gates.
Days 78-84 · Python for Automation and the Web 7/7 complete
- Day 078 HTTP in Python with requests complete
- Day 079 Web Scraping Responsibly complete
- Day 080 Building CLIs with argparse complete
- Day 081 Scheduling and Background Jobs complete
- Day 082 A First Web API with FastAPI complete
- Day 083 Packaging and Distributing Python Code complete
- Day 084 Shipping an Automation Toolkit complete
Project: Personal Automation Toolkit — Package three real automations (an API poller, a file organizer, a report generator) as one installable CLI tool.
Days 85-91 · SQL and Relational Databases 7/7 complete
- Day 085 Relational Databases and SQLite complete
- Day 086 SELECT: Filtering, Sorting, and Aggregating complete
- Day 087 Joins and Relationships complete
- Day 088 Inserting, Updating, and Schema Design complete
- Day 089 Indexes and Query Performance complete
- Day 090 SQLite from Python complete
- Day 091 Designing and Querying a Real Schema complete
Project: Personal Library Database — Design and query a SQLite database for a book collection: schema, seed data, joins, and a Python reporting script.
Days 92-98 · Data Formats and Pipelines 7/7 complete
- Day 092 Beyond Tables: NoSQL and Key-Value Stores complete
- Day 093 ORMs and SQLAlchemy complete
- Day 094 Data Validation with pydantic complete
- Day 095 Dates, Times, and Time Zones complete
- Day 096 Concurrency and async Basics complete
- Day 097 Logging and Configuration complete
- Day 098 Section Project: A Complete Data Pipeline complete
Project: Section Project: End-to-End Data Pipeline — Build a pipeline that ingests a public API, validates records with pydantic, stores them in SQLite via SQLAlchemy, and emits a daily report — tested and logged.