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.

Welcome to CS 88! This site is still under construction.


Resource/Piazza Search
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