0
|
9/6, 9/8
|
- Course overview and introduction
- Getting started in Python
- Data types and expressions
- No labs this week
|
1
|
9/11, 9/13, 9/15
|
- Strings and lists
- A first look at functions
- Making decisions (conditional execution)
- Problem Set 0 (all) due on 9/17
|
2
|
9/18, 9/20, 9/22
|
- 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
|
9/25, 9/27, 9/29
|
- Recursion (cont.)
- List comprehensions
- Recursive design
- Problem Set 2, part I due on 9/28
- Problem Set 2, part II due on 10/1
|
4
|
10/2, 10/4, 10/6
|
- Lists of lists; encryption and decryption
- Algorithm design
- Representing information
- Problem Set 3, part I due on 10/5
- Problem Set 3, part II due on 10/8
|
5
|
10/10, 10/11,
10/13
|
- Binary addition
- Gates and circuits
- Minterm expansion
- No lecture on 10/9 (holiday)
- Lecture on 10/10 (Mon. schedule)
- No labs this week
- 10/10: last day to drop without a ‘W’
- Problem Set 4, part I due on 10/12
- Problem Set 4, part II due on 10/15
|
6
|
10/16, 10/18,
10/20
|
- Arithmetic circuits
- Loops and imperative programming
- Cumulative computations
- Midterm 1 on 10/18
|
7
|
10/23, 10/25,
10/27
|
- Loops (cont.); design using loops
- Nested loops
- Problem Set 5, part I due on 10/26
- Problem Set 5, part II due on 10/29
|
8
|
10/30, 11/1, 11/3
|
- References; mutable vs. immutable data
- 2-D lists
- Object-oriented programming
- File processing
- Problem Set 6, part I due on 11/2
- Problem Set 6, part II due on 11/5
|
9
|
11/6, 11/8, 11/10
|
- Classes: creating your own types of objects
- Dictionaries
- Problem Set 7, part I due on 11/9
- Problem Set 7, part II due on 11/12
|
10
|
11/13, 11/15,
11/17
|
- Classes (cont.)
- Midterm 2 on 11/15
- 11/13: last day to drop with a ‘W’ or
to designate a course Pass/Fail
- Problem Set 8 (all) due on 11/19
|
11
|
11/20
|
- Games and AI
- No lectures on 11/22, 11/24 (Thanksgiving)
- No labs this week
|
12
|
11/27, 11/29,
12/1
|
- Games and AI (cont.)
- Inheritance
- Overview of the final project
- Finite-state machines
- Problem Set 9, part I due on 11/30
- Problem Set 9, part II due on 12/3
|
12
|
12/4, 12/6, 12/8
|
- Finite-state machines (cont.)
- Algorithm efficiency and problem hardness
- Final-project milestone due on 12/7
- Problem Set 10 due on 12/7
- Full final project due on 12/10
|
13
|
12/11
|
- Efficiency and problem hardness (cont.)
- Course wrap-up
- 12/13-14: Study period
|
14
|
|
- Final exam: Dec.21, 12-2 p.m.
|