0
|
9/3, 9/5
|
- Course overview and introduction
- Python basics
- Data types and expressions
- No labs this week
|
1
|
9/8, 9/10, 9/12
|
- Strings and lists
- First look at functions
- Making decisions (conditional execution)
- Problem Set 0 (all) due on 9/14
|
2
|
9/15, 9/17, 9/19
|
- Functions (cont.)
- Local and global variables; the runtime stack
- Recursion
- 9/15: last day to add a class
- Problem Set 1, part I due on 9/18
- Problem Set 1, part II due on 9/21
|
3
|
9/22, 9/24, 9/26
|
- Recursion (cont.)
- Recursive design
- List comprehensions
- Problem Set 2, part I due on 9/25
- Problem Set 2, part II due on 9/28
|
4
|
9/29, 10/1, 10/3
|
- Lists of lists; encryption and decryption
- Algorithm design
- Representing information
- Problem Set 3, part I due on 10/2
- Problem Set 3, part II due on 10/5
|
5
|
10/6, 10/8,
10/10
|
- Binary addition
- Gates and circuits
- Minterm expansion
- 10/6: last day to drop without a ‘W’
- Problem Set 4, part I due on 10/9
- Problem Set 4, part II due on 10/12
|
6
|
10/14, 10/15,
10/17
|
- Arithmetic circuits
- Loops and imperative programming
- Cumulative computations
- No lecture on 10/13 (holiday)
- Lecture on 10/14 (Mon. schedule)
- No labs this week
- Problem Set 5, part I due on 10/19
|
7
|
10/20, 10/22,
10/24
|
- Loops (cont.); design using loops
- Nested loops
- Midterm 1 on 10/22 from 6:30-7:45 pm
- Problem Set 5, part II due on 10/26
|
8
|
10/27, 10/29,
10/31
|
- References; mutable vs. immutable data
- 2-D lists
- Object-oriented programming
- File processing
- Problem Set 6, part I due on 10/30
- Problem Set 6, part II due on 11/2
|
9
|
11/3, 11/5, 11/7
|
- Classes: creating your own types of objects
- Dictionaries
- 11/7 : last day to drop with a ‘W’ or
to designate a course Pass/Fail
- Problem Set 7, part I due on 11/6
- Problem Set 7, part II due on 11/9
|
10
|
11/10, 11/12,
11/14
|
- Classes (cont.)
- Inheritance
- Games and AI
- Problem Set 8 (all) due on 11/13
- Problem Set 9, part I due on 11/16
|
11
|
11/17, 11/19,
11/21
|
- Games and AI (cont.)
- Overview of the final project
- Midterm 2 on 11/19 from 6:30-7:45 pm
- Problem Set 9, part II due on 11/23
|
12
|
11/24
|
- Finite-state machines
- No lectures on 11/26, 11/28 (Thanksgiving)
- No labs this week
|
13
|
12/1, 12/3, 12/5
|
- Finite-state machines (cont.)
- Algorithm efficiency and problem hardness
- Final-project milestone due on 12/4
- Problem Set 10 due on 12/4
|
14
|
12/8, 12/10
|
- Efficiency and problem hardness (cont.)
- Course wrap-up
- Full final project due on 12/9
- 12/11-14: Study period
|
15
|
|
- Final exam: Wednesday, Dec. 17, 12:00-2:00 pm
- We will arrange an alternate exam time for anyone
with an exam-related conflict; such students
should remain available through the end of
the exam period on Friday, Dec. 19.
|