0704.315 Programming Languages

Fall 2001

http://elvis.rowan.edu/~clamen/classes/PL/

Course Info and Syllabus

Slides and Lecture Notes

Scheme Language Overview
Presented in Section 2 (Monday Sept 10) and in Section 1 (Wednesday Sept 12)
Scheme Dialect Differences / List Processing
Presented in sections Wednesday Sept 12
Associative Indexing
Presented in Section 2 (Monday Sept 17) and in Section 1 (Wednesday Sept 19),
Darren Provine's Ada lecture and code samples
Presented in Section 2 (Wednesday Sept 19) and in Section 1 (Wednesday Sept 26)
Higher-Order Procedures
Presented in Section 2 (Monday Sept 24) and in Section 1 (Wednesday Sept 19)
Generic Arithmetic I (Simple Version)
Presented in Section 2 (Wednesday Sept 26) and in Section 1 (Wednesday Oct 3), wherein we implement rational numbers (as pairs of integers) and rational arithmetic, and then define some crude generic arithmetic operators on rationals and Scheme integers.
Generic Arithmetic II (Tagged Version)
Presented in Section 2 (Monday Oct 1) and in Section 1 (Wednesday Oct 3), wherein we introduce a tagged data implementation for our rationals, integers, and strings, and then define some generic operators to operate on all three types.
Generic Arithmetic III (Message-Passing Version)
Presented in Section 2 (Wednesday Oct 3) and in Section 1 (Wednesday Oct 3), wherein we introduce a message-passing representation for our rationals, integers, and strings. This allows us to introduce new types that work with our generic operators automatically.
Variables: Scoping and Lifetime
Presented in section on Wednesday October 10, reflecting material covered in Chapter 4 of Sebesta.

Data Types
Presented in Section 2 on mid-October, reflecting material covered in Chapter 5 of Sebesta.
Object-Oriented Languages
Presented in sections (Wednesday Oct 31) accidentally similar to some of the material found in Chapter 11 of Sebesta. References:
Creating a new class (DaysOfTheWeek) in Squeak!
Presented in sections on Wednesday November 7. DaysOfTheWeek.st
Object-Oriented Language pre-exam overview
Presented in sections on Wednesday November 7, in advance of Nov 14 exam. Accidentally similar to some of the material found in Chapter 11 of Sebesta.
  • Example of virtual methods (how C++ supports late-binding of methods).
    Compile, run, and compare: novirtual.cpp and virtual.cpp

Introduction to XML
Presented in Section 2 (Monday Nov 19) and in Section 1 (Wednesday Nov 21), wherein the Extensible Markup Language is introduced, as a precursor to the next programming language of study, the Extensible Stylesheet Language (XSL) transformation language (XSLT)
[Address book example]

Decoding XSL and XSL Resource List
With examples (using Address book as source)

Exception Handling
Accidentally similar to some of the material found in Chapter 13 of Sebesta.

Semester Recap
To be presented in sections: Monday (Dec 10) morning and Wednesday (Dec 12) evening

Language Systems for Downloading

Squeak3.0 Smalltalk development environment

Saxon 6.4.4 (XSLT engine in Java)

Homework Assignments

  1. Due Wednesday Sept 19 (answer key)
  2. Due Wednesday Oct 17 (extended to 19th) (answer key)
  3. Due Monday Nov 5 (answer key)
  4. Due Tuesday Nov 13 (answer key: Rank.st)
  5. Due Monday Dec 10 (Early birds: Dec 7) (answer key)

Exam Schedule

  1. Wednesday, October 17 (Section 1) [Answer key]
    Monday, October 22 (Section 2) [Answer key]
  2. Wednesday, November 14 [Answer key]
  3. Wednesday, December 12 [Answer key]

clamen@cs.rowan.edu
Last modified: Wed Jan 30 04:10:34 2002