CS 217: Programming Languages
Schedule (Tentative)

Boldfaced items are fairly fixed in place.
Non boldfaced items may shift depending on how the pace goes.

Day of Term Day of Week Date Topics Readings to be done in advance of this class
1 Monday 1/3 Introduction Assignment given
Introduction to course
Compilation and Interpretation
Pratt Chap. 1-2
2 Wednesday 1/5 Introduction Assignment due (Tuesday)
Scheme Assignment A given
Scheme lab
The Scheme Programming Language
Chapters 1-2
3 Friday 1/7 Scheme

The Scheme Programming Language
Chapter 3.3

4 Monday 1/10 Scheme
Machine Architectures

Pratt Chapter 2

5 Wednesday 1/12

Machine Architectures

Pratt Chapter 2
6 Friday 1/14 Language Translation Issues

Pratt Chapter 3

7 Monday 1/17 Language Translation Issues
Pratt Chapter 3
8 Wednesday 1/19 Scheme Assignment A due
Scheme Assignment B given
Written Assignment #1 given
Scheme Continuations

Info on continuations
More info on continuations

9 Friday 1/21 Elementary Data Types
Pratt Chapter 5
10 Monday 1/24 Elementary Data Types
Encapsulation
Pratt Chapters 5-6
11 Wednesday 1/26 Written Assignment #1 due
Encapsulation
Pratt Chapter 6
12 Friday 1/28 Java

Pratt Appendix A.5

13 Monday 1/31

Java


14 Wednesday 2/2 Scheme Assignment B due
Take Home Exam #1 given
Inheritance
Pratt Chapter 7
15 Friday 2/4 Inheritance
Sequence Control
Pratt Chapters 7-8
Pratt Chapter 8
  Monday 2/7 BREAK  
16 Wednesday 2/9
Take Home Exam #2 due
Java assignment given
Sequence Control
Pratt Chapter 8
17 Friday 2/11 Subprogram Control
Pratt Chapter 9
18 Monday 2/14 Subprogram Control
Storage Management
Pratt Chapters 9-10
19 Wednesday 2/16

Storage Management

Pratt Chapter 10
20 Friday 2/18

Java assignment due
Written Assignment #2 given
Storage Management

Pratt Chapter 10
21 Monday 2/21 Prolog assignment given
Prolog lab
Adventure in Prolog
22 Wednesday 2/23 Prolog
Adventure in Prolog
23 Friday 2/25 Talks on four languages

24 Monday 2/28
Sequencing in Prolog
Written Assignment #2 due
Pratt Chapter 8.4
25 Wednesday 3/2 Distributed Processing Pratt Chapter 11
26 Friday 3/4 Distributed Processing
Network Programming

Pratt Chapters 11-12

27 Monday 3/7 Network Programming
Pratt Chapter 12
28 Wednesday 3/9 Prolog assignment due
Take Home Exam #2 given
Slack
 

Monday
3/14
Take Home Exam #2 due by 5 pm