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 Friday 1/3 Introduction to course
Compilation and Interpretation
Scott Chapter 1
Scott Chapter 11 (concepts of functional programming and ML, not the Scheme bits)
2 Monday 1/6 ML lab
ML Assignment #1 given
A Gentle Introduction to ML, Lessons 1-8

3 Wednesday 1/8 ML
Talk #1

4 Friday 1/10 ML


5 Monday 1/13

Programming Language Syntax
Names, Scopes, and Bindings
Talk #2

Scott Chapter 2.1
Scott Chapter 3
6 Wednesday 1/15 Names, Scopes, and Bindings
Talk #3

Scott Chapter 3

7 Friday 1/17 Names, Scopes, and Bindings
Scott Chapter 3
8 Monday 1/20 ML Assignment #1 due
ML Assignment #2 given
ML
Names, Scopes, and Bindings
Control Flow
Talk #4
Scott Chapter 3
Scott Chapter 6


9 Wednesday 1/22 Control Flow
Talk #5
Scott Chapter 6
10 Friday 1/24 Control Flow
Scott Chapter 6
11 Monday 1/27 Control Flow
Data Types
Talk #6
Scott Chapter 6
Scott Chapter 7
12 Wednesday
1/29 Data Types
Talk #7

Scott Chapter 7

13 Friday 1/31

Data Types

Scott Chapter 7
14 Monday 2/3 ML assignment #2 due
Java assignment given
Slack
Talk #8

15 Wednesday
2/5 Exam 1

16  Friday 2/7 Java
Data Abstraction and Object Orientation
Java for C++ Programmers (this page only)
Scott Chapter 10

Monday 2/10 BREAK
17 Wednesday 2/12 Java
Data Abstraction and Object Orientation
Talk #9
Scott Chapter 10
18 Friday 2/14 Data Abstraction and Object Orientation Scott Chapter 10
19 Monday 2/17

Data Abstraction and Object Orientation
Data Types
Subroutines and Control Abstraction
Talk #10

Scott Chapter 10
Scott Chapter 7
Scott Chapter 8
20 Wednesday 2/19

Subroutines and Control Abstraction
Java assignment due
Talk #11

Scott Chapter 8
21 Friday 2/21 Prolog assignment given
Prolog lab
Adventure in Prolog
22 Monday 2/24 Prolog
Talk #12
Adventure in Prolog
23 Wednesday 2/26 Prolog
Talk #13
Scott Chapter 11.3
24 Friday 2/28 Subroutines and Control Abstraction Scott Chapter 8
25 Monday 3/3 Subroutines and Control Abstraction
Talk #14
Scott Chapter 8
26 Wednesday 3/5 Code Improvement
Talk #15

Scott Chapter 13

27 Friday 3/7 Code Improvement
Scott Chapter 13
28 Monday 3/10 Prolog assignment due
Slack
Talk #16

Self-scheduled, or... Friday
8:30-11:00 AM
3/14 Exam 2