0

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

 Course overview and introduction
 Computing fundamentals with Scratch
 No labs this week

1

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

 Getting started in Python
 Data types and expressions
 Strings and lists
 A first look at functions
 Making decisions (conditional execution)
 Problem Set 0 (all) due on 9/16

2

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

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

3

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

 Higherorder functions and list comprehensions
 Recursive design
 Problem Set 2, part I due on 9/27
 Problem Set 2, part II due on 9/30

4

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

 Lists of lists; encryption and decryption
 Algorithm design
 Representing information
 Problem Set 3, part I due on 10/4
 Problem Set 3, part II due on 10/7

5

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

 Digital logic and circuit design
 A/B: No lecture on 10/8 (Columbus Day)
 A/B: Lecture on 10/9 (Mon. schedule)
 C: No lecture on 10/9 (Mon. schedule)
 No labs this week
 10/9: last day to drop without a ‘W’
 Problem Set 4, part I due on 10/11
 Problem Set 4, part II due on 10/14

6

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

 Digital logic and circuit design (cont.)
 Assembly language
 Midterm 1 on 10/17 from 6:307:30 p.m.
 Problem Set 5, part I due on 10/21

7

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

 Assembly language (cont.)
 Loops and imperative programming
 Cumulative computations
 Problem Set 5, part II due on 10/28

8

A/B: 10/29,
10/30, 11/2
C: 10/30, 11/1

 Design using loops
 Nested loops
 References; mutable vs. immutable data
 Problem Set 6, part I due on 11/1
 Problem Set 6, part II due on 11/4

9

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

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

10

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

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

11

A/B: 11/19
C: 11/20

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

12

A/B: 11/26,
11/28, 11/30
C: 11/27, 11/29

 Games and AI (cont.)
 Inheritance
 Overview of the final project
 Finite state machines
 Problem Set 9, part I due on 11/29
 Problem Set 9, part II due on 12/2

13

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

 Finitestate machines (cont.)
 Algorithm efficiency and problem “hardness”
 Problem Set 10 (all) due on 12/6

14

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

 Problem “hardness” (cont.)
 Wrapup
 Final project due on 12/11

15


 Final exam: date and time 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
Friday evening, Dec. 21!
