Schedule of classes (first half of semester)

MC28: Introduction to Computer Science II
Karl Knight, Spring 2000

Following is the tentative schedule of classes and labs before Spring Break, roughly the first half of the semester.

DateReadingTopicDue
2/7 10.1-10.2 Introduction to EBNF and Micro-Scheme
2/8 Lab 1: Extending Evaluators
2/9 10.2-10.3 EBNF and Micro-Scheme
2/10 Lab 1 (continued)
2/11 10.3 More on Micro-Scheme

2/14 10.4 Global definitions: Mini-Scheme
2/15 Lab 1 (continued)
2/16 10.5 Adding explanatory output
2/17 Lab 1 (continued)
2/18 Catchup

2/21 11.1-11.2 The SLIM architecture Homework #1
2/22 Lab 1 (concludes)
2/23 11.3 SLIM's instruction set Lab #1
2/24 Lab 2: SLIM Assembly Language Programming
2/25 11.4 Iteration in assembly language

2/28 11.5 Recursion in assembly language
2/29 Lab 2 (continued)
3/1 11.5 More on recursion
3/2 Lab 2 (concludes)
3/3 11.6 Memory in Scheme Lab #2

3/6 Review/catchup Homework #2
3/7 Test #1, 7:00-9:00 pm in Olin 317 (no lab)
3/8 12.1-12.2 Revisiting tree recursion
3/9 Lab 3: Formatting paragraphs
3/10 12.3 Memoization

3/13 12.4 Dynamic programming
3/14 Lab 3 (continued)
3/15 12.5 Comparing memoization and dynamic programming
3/16 Lab 3 (concludes)
3/17 Catchup Homework #3

3/20 13.1-13.2 Arithmetic expressions revisited Lab #3
3/21 Lab 4: Robots
3/22 13.2-13.3 Arithmetic expressions and RA-stacks
3/23 Lab 4 (continued)
3/24 13.3 RA-stack implementations and representation invariants