Introduction to Computational Thinking with Data 📊

UC Berkeley, Spring 2021

Instructor: Suraj Rampure (rampure@berkeley.edu)

Lecture: MWF 11AM-12PM, Lab: F 12-1PM, Office Hours: See Ed

Zoom links Lecture recordings

The following breakdown is tentative. All assignments are available for public consumption on our GitHub.

1. Welcome to Data 94!

Jan 20

1 Introduction, Course Overview

1 slides • code • code HTML

Jan 22

2 Jupyter Notebooks and Arithmetic

2 slides • code • code HTML • example QC • readings: CIT 3.1, 4.1; SPR 8

Lab 0 Using Jupyter Notebooks

2. Python Fundamentals

Jan 25

3 Variables and Types

3 slides • code • code HTML • QC • readings: CIT 3.2, 4.2; SPR 7

Jan 27

4 Comparisons

4 slides • code • code HTML • QC • readings: CIT 4.3

Jan 28

Homework 1 Python Fundamentals (due Feb. 3)

Survey 1 Weekly Survey (due Feb. 3)

Jan 29

5 Functions

5 slides • code • code HTML • QC • readings: CIT 8.0, SPR 9

Lab 1 Functions

3. Iteration

Feb 1

6 Control

6 slides • code • code HTML • QC • readings: CIT 9.1; SPR 12, 13

Feb 3

7 Iteration 1 (While loops)

7 slides • code • code HTML • QC • readings: SPR 11

Feb 4

Homework 2 Control, Iteration, Lists, and Strings (due Feb. 17)

Survey 2 Weekly Survey (due Feb. 11)

Feb 5

8 Lists and Strings

8 slides • code • code HTML • QC • readings: SPR 19

Lab 2 More Python Fundamentals

4. Review, Quiz 1

Feb 8

9 Review

9 slides • code • code HTML • QC

Feb 10

10 More Review

10 slides • code • code HTML • QC

Feb 12

QUIZ 1 Quiz 1 (in lecture)

Lab Quiz Review

5. More Iteration

Feb 15

N/A (Presidents Day)

Feb 17

11 Iteration 2 (For loops)

11 slides • code • code HTML • QC • readings: SPR 10, 14; TCS 8.2, 10.18

Feb 18

Homework 3 Review and For Loops (due Feb. 24)

Survey 3 Weekly Survey (due Feb. 24)

Feb 19

12 More Iteration

12 slides • code • code HTML • QC • readings: Luhn’s, TCS 10.24

Lab 3 For Loops

6. Programming in Data Science

Feb 22

13 Dictionaries

13 slides • code • code HTML • QC • readings: SPR 21, TCS 12

Feb 24

14 File Formats and Modules

14 slides • code • code HTML • QC • readings: CSV vs. JSON, Imports

Feb 25

Homework 4 Dictionaries and NumPy (due Mar. 4)

Survey 4 Weekly Survey (due Mar. 4)

Feb 26

15 NumPy

15 slides • code • code HTML • QC • readings: CIT 5, Data 8 Python reference

Lab 4 Dictionaries and NumPy

7. Table Fundamentals

Mar 1

16 Table Fundamentals

16 slides • code • code HTML • QC • readings: CIT 6.0

Mar 3

17 Guest Lecture: Disinformation and Data

17 slides • no QC

Mar 4

Homework 5 Table Fundamentals (due Mar. 11)

Survey 5 Weekly Survey (due Mar. 11)

Mar 5

18 Row Manipulation

18 slides • code • code HTML • QC • readings: CIT 6.1-6.4, are. docs

Lab 5 Tables

8. More Table Methods

Mar 8

19 Applying

19 slides • code • code HTML • QC • readings: CIT 8.1

Mar 10

20 Grouping and Pivoting

20 slides • code • code HTML • QC • readings: CIT 8.2, 8.3; Table Visualizer

Mar 11

Homework 6 Advanced Table Methods (due Apr. 1)

Mar 12

21 Joining and Row Methods

21 slides • code • code HTML • QC • readings: CIT 8.4, Join animation

Lab 6 More Table Methods

9. Review, Quiz 2

Mar 15

22 Case Study: University Rankings

22 slides • code • code HTML • QC

Mar 17

23 Review

23 slides • practice quiz • QC

Mar 18

Survey 6 Weekly Survey (due Apr. 1)

Mar 19

QUIZ 2 Quiz 2 (in lecture)

Lab Quiz Review

10. Spring Break 🏄

Mar 22

N/A (Spring Break)

Mar 24

N/A (Spring Break)

Mar 26

N/A (Spring Break)

11. Visualization

Mar 29

24 Introduction to Visualization

24 slides • code • code HTML • QC • readings: History of Viz

Mar 31

25 Visualizing Categorical Variables

25 slides • code • code HTML • QC • readings: CIT 7.1

Apr 1

Homework 7 Visualization Fundamentals (due Apr. 8)

Survey 7 Weekly Survey (due Apr. 8)

Apr 2

26 Visualizing Numerical Variables

26 slides • code • code HTML • QC • readings: CIT 7.2* (see Slide 2)

Lab 7 Visualization Fundamentals

12. More Visualization

Apr 5

27 Visualizing Two Numerical Variables

27 slides • code • code HTML • QC • readings: CIT 7.0

Apr 7

28 Maps

28 slides • code • code HTML • QC • readings: CIT 8.5

Apr 8

Homework 8 Advanced Visualization Techniques (due Apr. 20)

Apr 9

29 Fun with Plotly

29 slides • code • code HTML • QC

Lab 8 More Visualization

13. Review, Quiz 3

Apr 12

30 Perception, Case Study

30 slides • code • code HTML • QC • readings: Basic Principles

Apr 14

31 Review

31 slides • practice quiz • QC

Apr 15

Survey 8 Weekly Survey (due Apr. 20)

Apr 16

Quiz 3 Quiz 3 (in lecture)

Lab Quiz Review

14. Special Topics

Apr 19

32 Randomness and Simulations

32 slides • code • code HTML • QC • readings: Randomness; CIT 9.3, 10.1

Apr 21

33 Simulations, Finding and Using Data

33 slides • code • code HTML • QC • readings: see Lecture 32

Apr 22

Homework 9 Create a Website (due Apr. 29)

Apr 23

34 Tutorial: Creating a Website

34 slides • no QC

Lab Working on Homework 9

15. Guest Lectures, Conclusion

Apr 26

35 Guest Lecture: Elections and Data

35 slides • code • code HTML • no QC

Apr 28

36 Guest Lecture: Fairness in Housing Appraisal

36 slides • no QC

Apr 29

Survey 9 Final Survey (due May 9)

Apr 30

37 Conclusion, Next Steps

37 slides • code • code HTML • no QC

Lab Next Steps