0
|
1/19
|
- Course overview and introduction
- Computational problem-solving with Picobot
|
1
|
1/22, 1/24, 1/26
|
- 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 1/28
|
2
|
1/29, 1/31, 2/2
|
- Functions (cont.)
- Local and global variables; the runtime stack
- Recursion
- 1/31: last day to add a class
- Problem Set 1, part I due on 2/1
- Problem Set 1, part II due on 2/4
|
3
|
2/5, 2/7, 2/9
|
- Higher-order functions and list comprehensions
- Recursive design
- Lists of lists; encryption and decryption
- Problem Set 2, part I due on 2/8
- Problem Set 2, part II due on 2/11
|
4
|
2/12, 2/14, 2/16
|
- Algorithm design; encryption and decryption
- Representing information
- Problem Set 3, part I due on 2/15
- Problem Set 3, part II due on 2/18
|
5
|
2/20 , 2/21,
2/23
|
- Digital logic and circuit design
- Machine organization
- No lecture on 2/19 (Presidents’ Day)
- Lecture on 2/20 (Mon. schedule)
- No labs this week
- 2/22: last day to drop without a ‘W’
- Problem Set 4, part I due on 2/22
- Problem Set 4, part II due on 2/25
|
6
|
2/26, 2/28, 3/2
|
- Digital logic and circuit design (cont.)
- Assembly language
- Midterm 1 on 2/28 from 6:30-7:30 pm
|
|
|
Spring break
|
7
|
3/12, 3/14, 3/16
|
- Assembly language (cont.)
- Loops and imperative programming
- Cumulative computations
- Problem Set 5, part I due on 3/15
- Problem Set 5, part II due on 3/18
|
8
|
3/19, 3/21, 3/23
|
- Nested loops
- Design using loops
- References; mutable vs. immutable data
- Problem Set 6, part I due on 3/22
- Problem Set 6, part II due on 3/25
|
9
|
3/26, 3/28, 3/30
|
- 2-D lists
- Object-oriented programming
- File processing
- Classes: creating your own types of objects
- 3/30: last day to drop with a ‘W’
- Problem Set 7, part I due on 3/29
- Problem Set 7, part II due on 4/1
|
10
|
4/2, 4/4, 4/6
|
- Classes: creating your own types of objects (cont)
- Dictionaries
- Inheritance
- Midterm 2 on 4/4 from 6:30-7:30 pm
- Problem Set 8 (all) due on 4/8
|
11
|
4/9, 4/11, 4/13
|
- Games and AI
- Overview of the final project
- Problem Set 9, part I due on 4/12
- Problem Set 9, part II due on 4/15
|
12
|
4/18, 4/20
|
- Finite-state machines
- No lecture on 4/16 (Patriots’ Day)
- Problem Set 10, part I due on 4/22
|
13
|
4/23, 4/25, 4/27
|
- Finite-state machines (cont.)
- Algorithm efficiency and problem “hardness”
- Problem Set 10, part II due on 4/26
|
14
|
4/30, 5/2
|
- Problem “hardness” (cont.)
- Wrap-up
- Final project due on 5/1
- 5/3-5/6: Study period
|
15
|
|
- Final exam: May 10, 9-11 a.m.
|