CS 88: Computational Structures in Data Science
Spring 2016Instructor: David Culler
M 4-5 in 306 Soda, HP Auditorium
Announcements
Project 1 Cucumber released. Get started and have fun. No Professor Culler office hours Friday 2/12 or Tues. 2/16 due to travel. No class Monday 2/15 - Holiday
Due to recent enrollments, HW1 is deferred to Wed 2/3.
To get help with Lab0 please join Gunjan or Prof. Culler in office hours Friday (see office hours tab) or the staff in 273 Soda lab Monday 3-4 before class. We will provide time in the Monday lab for those of you who may need additional help. Your cs8-* account gives you access to the Soda instructional computers and the lab is on line, so you can also drop in at your convenience.
CS88 Labs have moved! Both labs will be held in Soda Hall (273, 275 Soda) on Mondays 5-7pm.
Resource/Piazza Search
Search for terms like "recursion", "homework 3", or "practice"
Search for terms like "recursion", "homework 3", or "practice"
Name | Type | Tags |
---|---|---|
Midterm: 5-7pm, 405 Soda | Exam | |
Final | Exam | |
Lecture 1: No Lecture: MLK Day | Lecture | |
Readings: section 1.1 | Reading | |
Readings: section 1.2 | Reading | |
Lecture 2: Intro Types Expressions (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 2.1 | Reading | |
Readings: section 1.3 | Reading | |
Readings: section 1.4 | Reading | |
Lecture 3: Control Functions Conditions Loops (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 1.4 | Reading | |
Readings: section 1.5 | Reading | |
Lecture 4: Higher-Order Functions (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 1.6 | Reading | |
Readings: section 2.3 | Reading | |
Lecture 5: Recursion (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 1.6 | Reading | |
Readings: section 1.7 | Reading | |
Lecture 6: Midterm Review (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 1.7 | Reading | |
Lecture 7: Abstract Data Types (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 2.2 | Reading | |
Readings: section 2.4 | Reading | |
Lecture 8: Mutable Data (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 2.4 | Reading | |
Lecture 9: Object Oriented Programming (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 2.5 | Reading | |
Lecture 10: Classes and Inheritance (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 2.6 | Reading | |
Readings: section 2.7 | Reading | |
Lecture 11: Iterators and Generators (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 4.2 | Reading | |
Lecture 12: Exceptions and SQL (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 3.3 | Reading | |
Readings: section 4.3 | Reading | |
Lecture 13: Efficiency, Distributed and Parallel Computing (1pp) (4pps) (ipynb) | Lecture | |
Readings: section 2.8 | Reading | |
Readings: section 4.6 | Reading | |
Readings: section 4.7 | Reading | |
Lecture 14: Review and Wrap-Up (1pp) (4pps) (ipynb) | Lecture | |
Homework 1 (Solutions) | Homework | |
Homework 2 (Solutions) | Homework | |
Homework 3 (Solutions) | Homework | |
Homework 4 (Solutions) | Homework | |
Homework 5 (Solutions) | Homework | |
Homework 6 (Solutions) | Homework | |
Homework 7 (Solutions) | Homework | |
Homework 8 (Solutions) | Homework | |
Cuke | Project | |
Maps Part 1 | Project | |
Maps Part 2 | Project | |
Hangman | Project | |
Lab 0: Workflow | Lab | |
Lab 1: Control Structures | Lab | |
Lab 2: Funargs and Higher Order Functions | Lab | |
Lab 3: Recursion | Lab | |
Lab 4: Midterm Review | Lab | |
Lab 5: Data Abstraction and Dictionaries | Lab | |
Lab 6: Mutation | Lab | |
Lab 7: Objects and Inheritance | Lab | |
Lab 8: Iterators and Generators | Lab | |
Lab 9: Exceptions and SQL | Lab | |
Lab 10: Spark | Lab | |
Syllabus | Article | |
Composition Guide | Article | Programming |
Debugging Guide | Article | Programming |
Using OK | Article | OK |
UNIX Tutorial | Article | UNIX |
Sublime Text | Article | Text Editors |
Vim | Article | Text Editors |
Emacs | Article | Text Editors |
Weekly Schedule | Article | |
Staff | Article | |
Office Hours | Article | |
Windows: set up Python | Article | Setting up |
Windows: connecting from home (video) | Article | Setting up |
Windows: connecting form home (pdf) | Article | Setting up |
Mac: set up Python | Article | Setting up |
Mac: set up Emacs | Article | Setting up |
Mac: connecting from home (video) | Article | Setting up |
Mac: connecting from home (pdf) | Article | Setting up |
Online Python tutor | Article | Environment Diagrams |
Spring 2015 screencasts | Article | Video, John DeNero |
Fall 2014 screencasts | Article | Video, John DeNero |
Fall 2013 screencasts | Article | Video, John DeNero |
Another UNIX tutorial | Article | UNIX |
Albert Wu's practice problems | Practice | |
Mark Miyashita's practice problems | Practice | |
Functions and expressions practice problems | Practice | Functions |
Control structures practice problems | Practice | Control Structures |
Higher Order Functions practice problems | Practice | Higher Order Functions |
Lambda expressions practice problems | Practice | Lambdas |
Recursion practice problems | Practice | Recursion, Tree Recursion |
Calendar
Week | Date | Lecture | Reading | Lab/Handout | Homework | Project |
---|---|---|---|---|---|---|
1 | Mon 1/18 | No Lecture: MLK Day No Lecture: MLK Day |
1.1 1.2 |
|||
2 | Mon 1/25 | Intro Types Expressions
(1pp) (4pps) (ipynb) |
2.1 1.3 1.4 |
Lab 0: Workflow (due Wed 2/3) |
Homework 1 (due Wed 2/3) (Solutions) |
|
3 | Mon 2/1 | Control Functions Conditions Loops
(1pp) (4pps) (ipynb) |
1.4 1.5 |
Lab 1: Control Structures (due Fri 2/5) |
Homework 2 (due Tue 2/9) (Solutions) |
|
4 | Mon 2/8 | Higher-Order Functions
(1pp) (4pps) (ipynb) |
1.6 2.3 |
Lab 2: Funargs and Higher Order Functions (due Fri 2/12) |
||
Thu 2/11 | Cuke (due Wed 2/24) |
|||||
5 | Mon 2/15 | No Lecture: President Day | ||||
6 | Mon 2/22 | Recursion
(1pp) (4pps) (ipynb) |
1.6 1.7 |
Lab 3: Recursion (due Fri 2/26) |
Homework 3 (due Mon 2/29) (Solutions) |
|
7 | Mon 2/29 | Midterm Review
(1pp) (4pps) (ipynb) |
1.7 | Lab 4: Midterm Review (due Wed 3/2) |
Homework 4 (due Thu 3/3) (Solutions) |
|
Fri 3/4 | Midterm: 5-7pm, 405 Soda | |||||
8 | Mon 3/7 | Abstract Data Types
(1pp) (4pps) (ipynb) |
2.2 2.4 |
Lab 5: Data Abstraction and Dictionaries (due Fri 3/11) |
Maps Part 1 (due Mon 3/14) Maps Part 2 (due Wed 3/30) |
|
9 | Mon 3/14 | Mutable Data
(1pp) (4pps) (ipynb) |
2.4 | Lab 6: Mutation (due Fri 3/18) |
Homework 5 (due Mon 3/28) (Solutions) |
|
10 | Mon 3/21 | No Lecture: Spring Break | ||||
11 | Mon 3/28 | Object Oriented Programming
(1pp) (4pps) (ipynb) |
2.5 | Lab 7: Objects and Inheritance (due Fri 4/1) |
Homework 6 (due Mon 4/4) (Solutions) |
|
12 | Mon 4/4 | Classes and Inheritance
(1pp) (4pps) (ipynb) |
2.6 2.7 |
Hangman (due Sun 4/24) |
||
13 | Mon 4/11 | Iterators and Generators
(1pp) (4pps) (ipynb) |
4.2 | Lab 8: Iterators and Generators (due Fri 4/15) |
Homework 7 (due Mon 4/18) (Solutions) |
|
14 | Mon 4/18 | Exceptions and SQL
(1pp) (4pps) (ipynb) |
3.3 4.3 |
Lab 9: Exceptions and SQL (due Fri 4/22) |
||
Tue 4/19 | Homework 8 (due Fri 4/29) (Solutions) |
|||||
15 | Mon 4/25 | Efficiency, Distributed and Parallel Computing
(1pp) (4pps) (ipynb) |
2.8 4.6 4.7 |
Lab 10: Spark (due Fri 4/29) |
||
16 | Mon 5/2 | Review and Wrap-Up
(1pp) (4pps) (ipynb) |
||||
17 | Fri 5/13 | Final |