DS 208 · Syllabus

Programming for Data Science

Programming foundations for data science with Python, NumPy, pandas, visualization, and reproducible workflows

This syllabus is not final. It is a working outline and will change before the term settles — the topic sequence below is indicative, and grading, deadlines and course policies are still being finalised. Anything here may be revised and announced in class. Do not treat it as the official course document.

Topics by week

WeekTopic
1 Introduction: Python & the Data Science Toolkit slides
2 Python Fundamentals I: Types, Control Flow & Functions slides
3 Python Fundamentals II: Data Structures & Files slides
4 Modular Programming: OOP, Errors & Code Organization slides
5 Scientific Computing with NumPy slides
6 Data Manipulation with pandas I slides
7 Data Manipulation with pandas II: Grouping, Merging & Reshaping slides
8 Data Visualization with matplotlib & seaborn slides
9 Working with Data Sources: Files, SQL & APIs slides
10 Text Processing & Regular Expressions slides
11 Reproducible Workflows: Git, Environments & Debugging slides
12 Integrative Project & Presentations slides

Labs

WeekLab
1 Welcome Lab: Where You're Starting From Open lab
2 Types, Control Flow & Functions Open lab
3 Data Structures & Files Open lab
4 Classes, Errors & Project Layout Open lab
5 Arrays with NumPy Open lab
6 pandas I: Loading, Filtering, Selecting Open lab
7 pandas II: Grouping, Merging & Reshaping Open lab
8 Plotting with matplotlib & seaborn Open lab
9 Reading Files, SQL & APIs Open lab
10 Regular Expressions in Practice Open lab
11 Git, Environments & Debugging Open lab
12 Integrative Project Workbench Open lab

Assessment

Not finalised. The weighting of labs, project and any exams will be confirmed and announced before it affects any submitted work.

Course policies

Attendance, late work, academic integrity and use of AI tools are still being finalised for this term.

Where things live

Slides & materialsThis portal — they stay up all term
Course introductionWelcome deck
Lab notebooksnjpinton/ds208-labs
Submitting labsSign in with your student number, then upload from the lab page