Student Branch: student/YOUR_NAME
Started: YYYY-MM-DD
Last Updated: YYYY-MM-DD
- Copy this file to your student branch
- Update the completion status as you work through topics
- Add notes about difficulties so you can revisit them
- Use this file to tell Claude what you want to work on next
- ⬜ Not Started
- 🔄 In Progress
- ✅ Completed
- 🔁 Needs Review (completed but struggled, want to revisit)
- ⬜ Installing Python and setting up your environment
- ⬜ Running Python scripts
- ⬜ Using the Python interactive shell (REPL)
- ⬜ Basic syntax and indentation rules
Notes:
- ⬜ Variables and assignment
- ⬜ Basic data types: int, float, str, bool
- ⬜ Type conversion and casting
- ⬜ Understanding None
Notes:
- ⬜ Arithmetic operators (+, -, *, /, //, %, **)
- ⬜ Comparison operators (==, !=, <, >, <=, >=)
- ⬜ Logical operators (and, or, not)
- ⬜ String operations and concatenation
Notes:
- ⬜ if, elif, else statements
- ⬜ Nested conditionals
- ⬜ Ternary operator
- ⬜ Truthy and falsy values
Notes:
- ⬜ while loops
- ⬜ for loops and the range() function
- ⬜ Loop control: break, continue, pass
- ⬜ Nested loops
- ⬜ Loop else clauses
Notes:
- ⬜ Creating and accessing lists
- ⬜ List methods (append, extend, insert, remove, pop, etc.)
- ⬜ List slicing
- ⬜ List comprehensions
- ⬜ Nested lists
Notes:
- ⬜ Creating and using tuples
- ⬜ Tuple unpacking
- ⬜ Immutability of tuples
- ⬜ When to use tuples vs lists
Notes:
- ⬜ Creating and accessing dictionaries
- ⬜ Dictionary methods (keys, values, items, get, etc.)
- ⬜ Dictionary comprehensions
- ⬜ Nested dictionaries
Notes:
- ⬜ Creating and using sets
- ⬜ Set operations (union, intersection, difference)
- ⬜ Set comprehensions
- ⬜ Frozen sets
Notes:
- ⬜ Defining and calling functions
- ⬜ Parameters and arguments
- ⬜ Return values
- ⬜ Default parameters
- ⬜ Keyword arguments
Notes:
- ⬜ *args and **kwargs
- ⬜ Lambda functions
- ⬜ Scope and namespaces (local, global, nonlocal)
- ⬜ Recursive functions
Notes:
- ⬜ String methods (split, join, strip, replace, etc.)
- ⬜ String formatting (f-strings, format(), %-formatting)
- ⬜ String slicing and indexing
- ⬜ Raw strings and escape characters
Notes:
- ⬜ Pattern matching basics
- ⬜ re module functions (search, match, findall, sub)
- ⬜ Common regex patterns
- ⬜ Groups and capturing
Notes:
- ⬜ Opening and closing files
- ⬜ Reading files (read, readline, readlines)
- ⬜ Writing to files
- ⬜ File modes (r, w, a, r+, etc.)
- ⬜ Using context managers (with statement)
Notes:
- ⬜ Text files
- ⬜ CSV files
- ⬜ JSON files
- ⬜ Working with file paths (os.path, pathlib)
Notes:
- ⬜ Understanding exceptions
- ⬜ try, except, else, finally blocks
- ⬜ Catching specific exceptions
- ⬜ Raising exceptions
- ⬜ Custom exceptions
Notes:
- ⬜ Defining classes
- ⬜ Creating instances
- ⬜ Instance attributes and methods
- ⬜ The init method
- ⬜ The self parameter
Notes:
- ⬜ Encapsulation
- ⬜ Inheritance and super()
- ⬜ Polymorphism
- ⬜ Class methods and static methods
- ⬜ Property decorators
Notes:
- ⬜ str and repr
- ⬜ len, getitem, setitem
- ⬜ Operator overloading
- ⬜ Context managers (enter, exit)
Notes:
- ⬜ Importing modules
- ⬜ from...import statements
- ⬜ Module aliases
- ⬜ The name variable
Notes:
- ⬜ Creating your own modules
- ⬜ Package structure
- ⬜ init.py files
- ⬜ Relative vs absolute imports
Notes:
- ⬜ Understanding iterators
- ⬜ The iter() and next() functions
- ⬜ Creating generators with yield
- ⬜ Generator expressions
Notes:
- ⬜ Function decorators
- ⬜ Creating custom decorators
- ⬜ Decorators with arguments
- ⬜ Class decorators
Notes:
- ⬜ Understanding context managers
- ⬜ Creating custom context managers
- ⬜ Using contextlib
Notes:
- ⬜ datetime and time
- ⬜ collections (Counter, defaultdict, namedtuple, deque)
- ⬜ itertools
- ⬜ functools
- ⬜ math and random
Notes:
- ⬜ sys module
- ⬜ os module
- ⬜ subprocess
- ⬜ argparse for command-line arguments
Notes:
- ⬜ Copying vs referencing
- ⬜ Deep copy vs shallow copy
- ⬜ ChainMap and other advanced collections
Notes:
- ⬜ map, filter, reduce
- ⬜ Partial functions
- ⬜ Higher-order functions
Notes:
- ⬜ Basic type hints
- ⬜ Optional and Union types
- ⬜ Type checking with mypy
Notes:
- ⬜ Writing unit tests with unittest
- ⬜ Using pytest
- �⬜ Test-driven development basics
- ⬜ Mocking and fixtures
Notes:
- ⬜ Using print debugging effectively
- ⬜ Python debugger (pdb)
- ⬜ Understanding tracebacks
- ⬜ Common debugging strategies
Notes:
- ⬜ pip basics
- ⬜ requirements.txt
- ⬜ Virtual environments (venv)
Notes:
- ⬜ requests (HTTP library)
- ⬜ pandas (data analysis)
- ⬜ numpy (numerical computing)
- ⬜ matplotlib (plotting)
Notes:
What I'm working on right now:
What I want to work on next:
Areas I'm struggling with: