CMPS 203 Tentative Schedule (changed 10-23-03)

 

Date

Topic

Reading

Sept 25

Basic Semantics

Louden 5

Sept 30

Data Types

Louden 6

Oct 2

OOP

Louden 10

Oct 7

Procedures and Environments

Louden 8

Oct 9

Templates

Pohl 1-45

Oct 14

Guarded Commands & Weakest Preconditions

Dijkstra76 1-50 or[1] Dijkstra75

Oct 16

Extended Static Checking

Flanagan02

Oct 21

Functional Programming

Hudak89 359-382

Oct 23

FP continued

Hudak89 382-406

Oct 28

Midterm

 

Oct 30

Haskell

Hudak00

Nov 4

FP revisited

Louden 11

Nov 6

ADTs and Modules

Louden 9 (not 9.4,9.6,9.8)

Nov 11

Holiday

 

Nov 13

Logic Programming

Louden 12 pages 539-552

Nov 18

Prolog

Louden 12 pages 552-568

Nov 20

Formal Semantics

Louden 13

Nov 25

Parallel Programming

Louden 14 pages 620-643

Nov 27

Thanksgiving Holiday

 

Dec 2

Parallel Programming continued

Louden 14 page 643-665

Dec 4

Literate Programming

Knuth84

Dec 8

Final Exam 8-11am

 

 

Papers

[Dijkstra75] Dijkstra, Edsger W., ÒGuarded Commands, Nondeterminacy and Formal Derivation of ProgramsÓ, Communications of the ACM, August 1975. http://www.soe.ucsc.edu/classes/cmps203/Fall03/SECURE/cacm-dijkstra.pdf

 

[Dijkstra76] Dijkstra, Edsger W., A Discipline of Programming. http://www.soe.ucsc.edu/classes/cmps203/Fall03/SECURE/dijkstra76.pdf

 

[Flanagan02] C. Flanagan, K. R. M. Leino, M. Lillibridge, G. Nelson, J. B. Saxe, R. Stata, ÒExtended Static Checking for JavaÓ, Proceedings of ACM SIGPLAN PLDI, Sigplan Notices, May 2002, pages 234-245. http://www.soe.ucsc.edu/classes/cmps203/Fass03/SECURE/escJava.pdf

 

[Hudak89] Hudak, Paul, "Conception, Evolution and Application of Functional Programming Languages", ACM Computer Surveys 21(3):359-411 (Sep 1989). http://www.soe.ucsc.edu/classes/cmps203/Fall03/SECURE/hudak.pdf

 

[Hudak00] Hudak, Paul, John Peterson, Joseph Fasil, ÒA Gentle Introduction to Haskell Version 98Ó,

http://www.haskell.org/tutorial

 

[Knuth84] Knuth, Donald E., ÒLiterate ProgrammingÓ, The Computer Journal, May 1984. http://www.soe.ucsc.edu/classes/cmps203/Fall03/SECURE/knuthweb.pdf

 

[Pohl] Pohl, Ira, ÒSTL Distilled and Generic ProgrammmingÓ, http://www.soe.ucsc.edu/classes/cmps203/Fall03/SECURE/stlbook.pdf

 

[Williams00] Williams, Laurie and Kessler, Robert R., ÒAll I Really Need to Know about Pair Programming I Learned In KindergartenÓ, Communications of the ACM, May 2000. http://www.soe.ucsc.edu/classes/cmps203/Fall03/SECURE/Kindergarten.pdf

 



[1] I am very undecided about this reading assignment. Ideally you should read both. They cover the same material. The CACM article is short (5 pages) but not easy to read. The book excerpt is longer but very gentle and interesting reading. I highly recommend that you not be put off by the longer book excerpt and read that if at all possible. If you then go back and read the CACM article it should be very easy to read.