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

Shambhavi (TA): day and time TBD, location TBD

Bruce (TA): day and time TBD, location TBD

Syllabus#

A preliminary syllabus can be found here.

Class Schedule#

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

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

  • Ideas Into Code

Wed, Sep 2

  • Testing Your Code

Mon, Sep 7

  • Lists In Depth

Wed, Sep 9

  • Buffer Day

  • PPF3, Approaches to Testing. Do do Coursera exercises in this section!

Mon, Sep 14

  • List Practice

  • PPF4, Diving Deeper with Lists (both Looking More into Lists and Heart Rate: An Example)

Wed, Sep 16

  • More Lists

Mon, Sep 21

  • Object Oriented Programming

Wed, Sep 23

  • Object Oriented Programming

  • More OOP

Mon, Sep 28

  • Object Oriented Programming

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

Wed, Sep 30

  • Command Line Basics

  • Advanced Command Line

  • Packages

  • Jupyter

Mon, Oct 5

  • Numpy Basics

Wed, Oct 7

  • Numpy Basics

Additional Concepts

Mon, Oct 12 (Break)

FALL BREAK

Wed, Oct 14 (Break)

  • Numpy Arrays

Mon, Oct 19

  • Pandas: Series

Wed, Oct 21

  • Pandas: DataFrames

Mon, Oct 26

  • Pandas: Indices & Missing

Wed, Oct 28

  • Pandas: Cleaning

  • Regex

Mon, Nov 2

  • Defensive Programming

  • Groupby / Split-Apply-Combine

Wed, Nov 4

  • Groupby Continued

  • Groupby Continued

Mon, Nov 9

  • Merging

Wed, Nov 11

  • Plotting

Mon, Nov 16

  • More plotting

Wed, Nov 18

  • Statistics with statsmodels

Wed Dec 9

Final project due date