Welcome to DPI-691M - Programming and Data for Policymakers!
- Instructors: Dhrumil Mehta & Aarushi Sahejpal
- Course Assistants: Innocent Munai & Hileamlak Mulugeta Yitayew
- 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:
- Innocent Munai: Mon - Sat, 2pm - 3pm, in-person (inside our classroom)
- Hileamlak M. Yitayew: Mon - Sat, 3pm - 4pm, in-person (inside our classroom)
 
 
- Syllabus: syllabus.md
- Slack: https://code4policy.slack.com
- 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 | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| GitHub Intro | modules/agile/06-reading.md | Python's Not (Just) For Unicorns (Ch 1-8 and 11-14) | 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 | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| Command Line | -- | Terminus(optional) | Project Group Brainstorm | 
| file | description | 
|---|---|
| Standup Meeting | |
| modules/agile/04-agile-philosophy.md | Agile Philosopy | 
| Brainstorm Responses | 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. | 
| 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 | 
|---|---|---|---|
| -- | Read Part A of Healthcare.gov case (in Slack) | Work on Mozilla Front-end | Be prepared with user stories at the next class. Have a Storytime meeting. If you have some, start to break down stories that are too lage into smaller stories. Start to think about which stories you can take on in sprint 1 (MVP). | 
| file | description | 
|---|---|
| Standup Meeting (Slack) | |
| modules/finalproject/02-storytime.md | Workshop some user stories (INVEST + definitions of done + story splitting) | 
| (see slack) | Healthcare.gov case | 
| modules/web (Lesson 4) | finish CSS + Addendum | 
| 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 | Read Case part A, part B, and The Atlantic (see slack) + Dataviz video + Atlassian roundtable - practitioners discussing agile estimation (youtube) | Complete unfinished assignments (Python not just for unicorns, 16-22 and 24-27, lists & dictionaries) | 
 | 
| file | description | 
|---|---|
| Standup Meeting (groups) | |
| modules/commandline | Command line lessons 2.5 - 4 | 
| Principles of DataViz | Dhrumil's DataViz Slides + Rubric | 
| modules/web/05-visualization.md | D3.js Visualization Examples | 
| dataviz-with-gpt/ | Dataviz with ChatGPT | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| -- | Finish Case part A & B and The Atlantic article | functions assignment | Sprint 1! | 
| file | description | 
|---|---|
| Standup Meeting (groups) | |
| -- | Healthcare.gov Case | 
| -- | Review functions assignment | 
| modules/data | Getting started with data in Python | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| -- | -- | -- | Sprint 1 Due! Bring a hat π§’ to class! | 
| file | description | 
|---|---|
| -- | Sprint Review | 
| -- | Sprint Retrospective | 
| -- | Santiago Garces (CIO of Boston 4-5pm ET - Section B) | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| -- | -- | cli-filter | Sprint 2 begins! Have a StoryTime and Sprint Planning Meeting. | 
| file | description | 
|---|---|
| Standup Meeting | |
| cli-filter | |
| modules/web | Web & APIs | 
| modules/data | Data in Python | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| -- | Swartz Chapter 2 (p 9-13); Chapter 3 (all); Chapter 5 (p 31-36) | FEC-API | Sprint 2! | 
| file | description | 
|---|---|
| Standup Meeting | |
| FEC-API Homework review | |
| -- | David Zvenyach | 
| web/10-goodbye.md | Wrapping up! | 
| Video | Reading | Coding | Project | 
|---|---|---|---|
| -- | Course Evaluations! (on the canvas page for this class) | -- | Submit Project. Don't forget to fill out a Sprint Retrospective and any final reflection forms you'd like. |