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)

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: time and date TBD.
Please wait until your instructor informs you
of the date. The initial date posted by the
Registrar will not be correct.
Make sure that you are available for the
entire exam period – up to and including
Thursday evening, Dec. 21!
