Python programming
Undergraduate · CS / Programming
Syllabus focus
Topics typically covered
Standard syllabus
Language depth
- Comprehensions, iterators, and generators
- Functions as objects; decorators (intro)
- Classes, inheritance, and dunder methods
- Exceptions and context managers
- Modules, packages, and virtual environments
Standard library
- Collections: defaultdict, Counter, deque
- File I/O, JSON, and pathlib
- datetime, regex, and argparse
- Unit testing with unittest or pytest
- Typing and static analysis (intro)
Pythonic engineering
- Virtual environments and dependency pinning
- Packaging projects (pyproject/setuptools survey)
- Type hints and mypy/pyright (intro)
- Iterators, generators, and comprehensions fluency
- Exceptions, context managers, and resource cleanup
- Testing with pytest and fixtures
STEM / applied
Data and automation
- NumPy arrays and vectorized computation (intro)
- Pandas DataFrames for tabular data (intro)
- Web requests with requests/httpx; REST clients
- Scripting workflows: CLI tools and scheduling
- Packaging projects with pyproject.toml (intro)
Applied Python
- Async I/O overview with asyncio (intro)
- Web backends with Flask/FastAPI (survey)
- Data visualization with matplotlib/seaborn (intro)
- Performance profiling and C extensions (survey)
- Security: secrets management and dependency scanning
Ecosystem applications
- Pandas/NumPy workflows for tabular data (intro)
- Scripting CLIs with argparse
- HTTP clients and simple Flask/FastAPI services
- Concurrency: threading vs asyncio (survey)
- Interfacing with C extensions overview
- Capstone: packaged Python tool with tests and README
Notes
Distinct from intro CS1 when listed separately; may target data science or backend development tracks.