Toggle navigation sidebar
Toggle in-page Table of Contents
Intermediate Data Programming
Welcome and Introduction
Module 1: Introduction to Python
Lesson 1: Introduction to Intermediate Data Programming
Context: First Two Modules of CSE 163
Software Setup
Hello World!
Learning Strategies
Pause and Think
Practice: Quiz
Practice: Coding Problem
Lesson 2: Python Basics
Python Basics
Types and Booleans
While Loops
For Loops
Conditionals
Functions
Pause and Think
Practice: Expressions
Practice: Minute Countdown
Practice: Countdown
Practice: Fibonacci
Lesson 3: Strings and Lists
Strings
String Functions
Slicing Strings
Negative Indices
Lists
Documentation Matters
None
Pause and Think
Practice: Slices
Practice: mystery1
Practice: switch_pairs
Practice: find_range
Practice: count_votes
Module 2: Data Structures and Files
Lesson 4: Lists and Files
File Processing
Advanced Lists
File Paths
Python Modes
Jupyter Notebooks
Practice: Build a List
Pause and Think
Practice: Filter Long Lines
Practice: Count Unique Words
Lesson 5: Data Structures - Tuple, Set, Dict
Recap: Lists
List Comprehensions
Practice: Reading List Comprehensions
Practice: Build a List Comprehension
Tuple
Sets (set)
Dictionaries (dict)
Pause and Think
Practice: Area Codes
Practice: Count Words
Lesson 6: CSV Data
Dictionary Methods
Practice: Most Frequent Word
Comma Separated Values (CSV)
Processing a CSV
Pause and Think
Practice: Largest Earthquake
Practice: Shakiness by Location
Module 3: Pandas
Lesson 7: Introduction to Pandas
Imports
Pandas
Practice/Reading: Pandas Tutorial
Pandas Recap
Pause and Think
Practice: Types
Practice: Earthquakes
Lesson 8: More Pandas
Recap: Pandas
groupby
apply
Keyword Arguments
Sorting and top-k
Pause and Think
Practice: More pandas
Lesson 9: Time Series
Time Series
Time Series
Pause and Think
Practice: Time Series
Module 4: Libraries for Data Science
Lesson 10: Data Visualization
Default Parameters
Missing Data
Practice: Check your understanding
Data Visualization
Principles of Data Visualization
Pause and Think
Practice: Plotting 1
Practice: Plotting 2
Lesson 11: Machine Learning
Introduction
Machine Learning Code
Understanding Decision Trees
Practice: Machine Learning Questions
Pause and Think
Practice: Coding Machine Learning
Lesson 12: Machine Learning pt. 2
Recap Terms
The ML Pipeline: Categorical Data and Assessing Performance
Practice: Machine Learning Questions
When to Not Use ML
Pause and Think
Practice: Coding Machine Learning
Practice: Reflecting on When to Not Use ML
Module 5: Classes and Objects
Lesson 13: Classes and Objects
Objects and References
The Class: Define Your Own Objects
Pause and Think
Practice: Point class
Practice: Student class
Lesson 14: More Classes and Modules
Recap
Private Fields
Warning: Default Parameters
Reading: Working with Directories
Lambdas
Pause and Think
Practice: DogPack
Practice: EdPost
Lesson 15: Special Methods + HW4 Introduction
Main Method Pattern
Equality and Identity
Defining Equality
Fancy Syntax
A Search Engine
HW4 Introduction
Pause and Think
Practice: Search Engine
Practice: Pair
Module 6: Efficiency
Lesson 16: Efficiency
What Does Efficiency Mean?
How Can We Measure Time Efficiency?
Counting Steps
Practice: Count Steps
Big-O
Data Structures
Pause and Think
Practice: Big-O
Lesson 17: Profiling and Program Speed
Revisiting Time Efficiency
Profiling Code
Slow Python
Pause and Think
Check your Understanding
Lesson 18: Memory
Computer Memory
Memory Hierarchy
Pickle
Pause and Think
Practice: Memory
Module 7: Geospatial Data
Lesson 19: Geospatial Data + Misc Python
Introduction to Geospatial Data
Zip
Matplotlib Plotting
Hurricane Florence
Pause and Think
Practice: Population in South America
Practice: Small and Rich
Lesson 20: Dissolve + Join
Dissolve
Joins
Join Types
Hurricane Florence
Pause and Think
Practice: Population Maps
Practice: Joins
Lesson 21: Indexes / Trees 🌳
Indexing (Databases)
Binary Search Tree
Spatial Index
Pause and Think
Practice: Indexes / Trees
Module 8: Images
Lesson 22 Reading: Numpy
numpy
Multiple Dimensions
Arithmetic and Logical Operators
Practice: numpy
Broadcasting
Images
Pause and Think
Practice: Broadcasting
Practice: Duckie Hat 🦆🎩
Lesson 23 Reading: More Numpy and Images
Recap
numpy functions
Convolutions
Why Convolutions?
Pause and Think
Practice: Convolution Examples
Practice: Collapse
Lesson 24 Reading: Machine Learning and Images
Recap of Machine Learning
Machine Learning and Images
Neural Networks
Neural Networks Code: Digit Recognition
Unsupervised Learning
Pause and Think
Practice: Neural Networks and Images
Module 9: Miscellaneous Topics
Lesson 25 Reading: Web Scraping
Web Scraping
Lesson 26 Reading: Hashing
Data Structure Time Complexity
Hashing
Collisions
Hash Functions
Hashing in Practice
Optional: Count-Min Sketch
Pause and Think
Practice: Hashing
Practice: MySet
Lesson 27 Reading: Ethics in Data Science
Case Study 0: Predicting Criminality
Case Study 1: Tracking for Safety
Case Study 2: COMPAS
Case Study 3: Potholes in Baltimore
Case Study 4: Facial Recognition
Wrap-up and Assignment
Module 10: Beyond 163
Lesson 28: Fairness
Defining Fairness
Tradeoff Between Accuracy and Fairness
Worldview / Limitations of Fairness
Pause and Think
Practice: Fairness Concepts
Lesson 29: Privacy
Is Your Data Anonymous?
Privacy in Practice: The Census
Differential Privacy
Jittering (Laplace Mechanism)
Randomized Response
Recap and Next Steps for Differential Privacy
Pause and Think
Practice: Privacy
Lesson 30: Wrap Up and Next Steps!
repository
open issue
Index