Welcome to DPI-691M - Programming and Data for Policymakers!
- Instructors: Dhrumil Mehta & Aarushi Sahejpal
- Course Assistants: Asa Royal
- Location: Rubenstein 304 (HKS)
- Faculty Assistant: Melissa Kappotis
Logistics
-
Description: https://www.hks.harvard.edu/courses/programming-and-data-policymakers
-
Timings
- Section A: 10am - 2pm Eastern
- Section B: 4pm - 8pm Eastern
- Office Hours:
- Asa:
- Slack: Any time
- In-person:
- 20:00 - 21:00 every weekday.
- 14:30 - 16:00 every weekday except 1/14-1/16
- Probably most mornings from 9-10!
- Weekends tbd!
- Asa:
-
Syllabus: syllabus.md
-
Reflection Forms:
Like any good programmer, we start our counting with 0...
| file | description |
|---|---|
| precoursework.md | Pre-course Work |
| setup/ | Windows and Mac Setup |
| file | description |
|---|---|
| Intro (slides) | Introduction to the class |
| modules/agile | Agile and Scrum Module |
| User Stories | Section A, Section B |
| Section A: 2025 City of Boston projects | Doc |
| Video | Reading | Coding | Project |
|---|---|---|---|
| GitHub Intro | modules/agile/06-reading.md | -- | Section A only: City of Boston project selection, Section B only: Project Brainstorm |
| file | description |
|---|---|
| Standup Meeting | |
| modules/git | Git and GitHub Overview (Lesson 1 and 2 recap) |
| Bad Veggies section-A section-B | Collaborating on GitHub |
| modules/git/03-ssh | SSH Setup |
| modules/commandline | Command Line |
| Video | Reading | Coding | Project |
|---|---|---|---|
| Command Line we will also do the assignments at the end in class! | modules/agile/06-reading.md | Terminus(optional) | Section A: Prep for City of Boston meeting. Section B: Project Group Brainstorm |
| file | description |
|---|---|
| Standup Meeting | |
| Section B: Brainstorm Responses | Section A: City of Boston Meeting. Section B: Project Research Mingling / Assign Groups |
| modules/git/03-ssh | SSH Setup |
| modules/commandline | Command Line |
| Video | Reading | Coding | Project |
|---|---|---|---|
| -- | -- | Finish universe and cowsay assignments. | Group Meetings (decide on topic, brainstorm users, start making user stories). Start on preparing for a storytime meeting. Start writing some draft user stories! |
| file | description |
|---|---|
| Standup Meeting | |
| -- | Project Time |
| modules/git (Lessons 4 & 5) | Git from command line |
| Start on simple-website | Simple Website |
| modules/finalproject/02-storytime.md | Storytime (pick roles, start fleshing out user stories and personas, start "grooming the backlog") |
| Video | Reading | Coding | Project |
|---|---|---|---|
| -- | -- | Work on Mozilla Front-end | Be prepared with user stories! You should have more, but you should have one user story to meet I-N-V-E-S-T and have a very strong definition of done that tests the "so that" clause. Have a Storytime meeting. Bring a list of all your user stories sorted from large to small. Clarify/break large stories into smaller stories. Section A: tag us in your slack channels with your user stories. Section B: Submit your user stories here. |
| file | description |
|---|---|
| Standup Meeting | |
| modules/finalproject/02-storytime.md | Storytime |
| Git in Groups | Demo project in a group |
| modules/finalproject/03-sprint-planning.md | Sprint Planning Meeting (Demo) |
| Video | Reading | Coding | Project |
|---|---|---|---|
| (optional) Getting started with your projects helper video and workflows file | Atlassian roundtable - practitioners discussing agile estimation (youtube) | modules/web (Lesson 4) Addendum & Complete unfinished assignments (Python not just for unicorns, 16-22 and 24-27, lists & dictionaries) |
|
| file | description |
|---|---|
| Standup Meeting (groups) | |
| Project work | 1 hour |
| modules/commandline | Command line lessons 2.5 - 4 |
| modules/data | Data in Python |
| Video | Reading | Coding | Project |
|---|---|---|---|
| --- | Agile 2 reading before David Eaves | --- | Focus on Projects! |