PDS I (IDS 540)

PDS I (IDS 540)#

Practical Data Science I is a flipped-classroom, exercise and project-focused course. It requires zero prior experience with programming and begins with an introduction to Python, computational thinking, and the principles of good programming using the 7 Steps method. The class focus then shifts to data analysis with an emphasis on the type of analyses of interest to social scientists and public policy students. The course provides students with experience manipulating and analyzing real (often messy, error-ridden, and poorly documented) data using the full range of Python data science tools (like the command line, git, VS Code, numpy, pandas, matplotlib, statsmodels, and more).

Office Hours#

Adriane: Signup with this link

Please consult with the TAs on homework and reading questions first before signing up for my office hours. If you have conceptual questions or project questions please do meet with me.

Shambhavi (TA): Wednesday, 12-2pm in Gross Hall 230L

Bruce (TA): Tuesday, 2-4pm in Gross Hall 230N

Syllabus#

The syllabus can be found here.


Class will be Mondays and Wednesdays from 8:30-9:45am (EDT) in Gross Hall 230C.

Key:

Date, Rm

Topic

Do Before Class

In-Class Exercise

Mon, Aug 24

  • Class Introduction

  • Welcome to VS Code

Wed, Aug 26

  • Setting Up An Algorithm

  • 7 Steps

  • PPF1, Seven Steps for Algorithm Design

  • PPF1, Working an Example of the Seven Steps Process

  • PPF1, SKIP Creating an Algorithm

Mon, Aug 31

  • Legos Day 2

  • More time with legos

Wed, Sep 2

  • Ideas Into Code

Mon, Sep 7

  • Testing Your Code

Wed, Sep 9

  • List Practice

Mon, Sep 14

  • Buffer Day

  • PPF3, Validating Your Code. Do do Coursera exercises in this section!

Wed, Sep 16

  • Buffer Day

  • No new readings

Mon, Sep 21

  • List Practice

  • PPF4, Diving Deeper with Lists (all sub-modules)

Wed, Sep 23

  • Object Oriented Programming

Mon, Sep 28

  • Object Oriented Programming

  • More OOP

Wed, Sep 30

  • Object Oriented Programming

  • DSwithNSD1, Sets and Big-O Notation (and Dicts)

Mon, Oct 5

  • Command Line Basics

  • Advanced Command Line

  • Packages

  • Jupyter

Wed, Oct 7

  • Numpy Basics

Mon, Oct 12 (Break)

FALL BREAK

Wed, Oct 14

  • Numpy Basics

Additional Concepts

Mon, Oct 19

  • Numpy Arrays

Wed, Oct 21

  • Pandas: Series

Mon, Oct 26

  • Pandas: DataFrames

Wed, Oct 28

  • Pandas: Indices & Missing

Mon, Nov 2

  • Pandas: Cleaning

  • Regex

Wed, Nov 4

  • Defensive Programming

  • Groupby / Split-Apply-Combine

Mon, Nov 9

  • Groupby Continued

  • Groupby Continued

Wed, Nov 11

  • Merging

Mon, Nov 16

  • Plotting

Wed, Nov 18

  • More plotting

Wed Dec 9

  • Statistics with statsmodels

Final project due date