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