0

A/B: 9/6, 9/8
C: 9/5, 9/7

 Course overview and introduction
 Computational problemsolving with Picobot
 No labs this week

1

A/B: 9/11, 9/13,
9/15
C: 9/12, 9/14

 Getting started in Python
 Data types and expressions
 Strings and lists
 A first look at functions
 Making decisions (conditional execution)
 Problem Set 0: part I due on 9/14
 Problem Set 0, part II due on 9/17

2

A/B: 9/18, 9/20,
9/22
C: 9/19, 9/21

 Functions (cont.)
 Local and global variables; the runtime stack
 Recursion
 9/18: last day to add a class
 Problem Set 1, part I due on 9/21
 Problem Set 1, part II due on 9/24

3

A/B: 9/25, 9/27,
9/29
C: 9/26, 9/28

 Higherorder functions and list comprehensions
 Recursive design
 Lists of lists; encryption and decryption
 Problem Set 2, part I due on 9/28
 Problem Set 2, part II due on 10/1

4

A/B: 10/2, 10/4,
10/6
C: 10/3, 10/5

 Algorithm design; encryption and decryption
 Representing information
 Problem Set 3, part I due on 10/5
 Problem Set 3, part II due on 10/8

5

A/B: 10/10,
10/11, 10/13
C: 10/12

 Digital logic and circuit design
 Machine organization
 A/B: No lecture on 10/9 (Columbus Day)
 A/B: Lecture on 10/10 (Mon. schedule)
 C: No lecture on 10/10 (Mon. schedule)
 No labs this week
 10/10: last day to drop without a ‘W’
 Problem Set 4 (all) due on 10/12

6

A/B: 10/16, 10/18
10/20
C: 10/17, 10/19

 Assembly language
 Midterm 1 on 10/18 from 6:307:30 p.m.
 Problem Set 5 (all) due on 10/22

7

A/B: 10/23,
10/25, 10/27
C: 10/24, 10/26

 Assembly language (cont.)
 Loops and imperative programming
 Cumulative computations
 Problem Set 6, part I due on 10/26
 Problem Set 6, part II due on 10/29

8

A/B: 10/30, 11/1,
11/3
C: 10/31, 11/2

 Objectoriented programming: using objects
 Nested loops
 Design using loops
 References; mutable vs. immutable data
 Problem Set 7, part I due on 11/2
 Problem Set 7, part II due on 11/5

9

A/B: 11/6, 11/8,
11/10
C: 11/7, 11/9

 2D lists
 Objectoriented programming (cont.)
 File processing
 Classes: creating your own types of objects
 11/10: last day to drop with a ‘W’
 Problem Set 8, part I due on 11/9
 Problem Set 8, part II due on 11/12

10

A/B: 11/13,
11/15, 11/17
C: 11/14, 11/16

 Classes: creating your own types of objects (cont)
 Dictionaries
 Inheritance
 Midterm 2 on 11/15 from 6:307:30 p.m.
 Problem Set 9 (all) due on 11/19

11

A/B: 11/20
C: 11/21

 Games and AI
 A/B: No lectures on 11/22, 11/24 (Fall recess)
 C: No lecture on 11/23 (Fall recess)
 No labs this week

12

A/B: 11/27,
11/29, 12/1
C: 11/28, 11/30

 Games and AI (cont.)
 Overview of the final project
 Finitestate machines
 Problem Set 10, part I due on 11/30
 Problem Set 10, part II due on 12/3

13

A/B: 12/4,
12/6, 12/8
C: 12/5, 12/7

 Finitestate machines (cont.)
 Turing machines
 Problem “hardness”; uncomputability
 Problem Set 11 (all) due on 12/7

14

A/B: 12/11
C: 12/12

 Wrapup
 Final project due on 12/11

15


 Final exam: Wed, 12/20, 35 pm
