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

LABOR DAY

LABOR DAY

Wed, Sep 9

More time on Max and Triangle

Mon, Sep 14

  • Testing Your Code

Wed, Sep 16

  • Lists In Depth

Mon, Sep 21

  • Buffer Day

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

Wed, Sep 23

  • List Practice

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

Mon, Sep 28

  • More Lists

Wed, Sep 30

  • Object Oriented Programming

Mon, Oct 5

  • Object Oriented Programming

  • More OOP

Wed, Oct 7

  • Object Oriented Programming

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

Mon, Oct 12 (Break)

FALL BREAK

Wed, Oct 14

  • Command Line Basics

  • Advanced Command Line

  • Packages

  • Jupyter

Mon, Oct 19

  • Numpy Basics

Wed, Oct 21

  • Numpy Basics

Additional Concepts

Mon, Oct 26

  • Numpy Arrays

Wed, Oct 28

  • Pandas: Series

Mon, Nov 2

  • Pandas: DataFrames

Wed, Nov 4

  • Pandas: Indices & Missing

Mon, Nov 9

  • Pandas: Cleaning

  • Regex

Wed, Nov 11

  • Defensive Programming

  • Groupby / Split-Apply-Combine

Mon, Nov 16

  • Groupby Continued

  • Groupby Continued

Wed, Nov 18

  • Merging

Mon, Nov 23rd

  • Plotting

Wed, Nov 25th

  • More plotting

Wed Dec 9

Final project due date