Python for data science
Undergraduate · Data science
Syllabus focus
Topics typically covered
Standard syllabus
Python for tables
- Virtual environments and package management (pip/conda survey)
- NumPy arrays, broadcasting, and vectorization
- pandas Series/DataFrame indexing and assignment rules
- Groupby, merge/join, and reshape (melt/pivot)
- Datetime, categorical, and string accessors
- Reading/writing CSV, Parquet, and SQL results (intro)
Visualization and notebooks
- matplotlib and seaborn (or plotly) for EDA
- Plot grammar choices: axes, legends, facets
- Jupyter workflow: cells, kernels, and reproducibility
- Documenting analysis with markdown narratives
- Avoiding hidden state and out-of-order execution
- Exporting figures and tables for reports
Modeling interfaces
- scikit-learn estimator API: fit/predict/transform
- Train/test splits and cross-validation (intro)
- Pipelines for preprocessing + model
- Metrics and confusion matrices (intro)
- Saving models with joblib/pickle carefully
- Debugging shape mismatches and NaN failures
STEM / applied
Engineering habits
- Type hints and readable function boundaries (intro)
- pytest for wrangling helpers
- Profiling slow pandas operations
- Chunked I/O for larger-than-memory CSVs (intro)
- Logging and configuration for scripts
- Packaging a small analysis utility
Projects
- End-to-end notebook → cleaned script refactor
- REST or file-based data acquisition
- Feature stores vs local feature tables (survey)
- Streamlit/Gradio demo of a simple model (optional)
- Collaboration via Git and code review
- Capstone: reproducible Python DS mini-project
Notes
Distinct from CS Python programming: emphasis is tabular analysis and ML APIs, not systems programming. Tutoring follows the course’s library versions.