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
- Due Wednesday Sept 19
(answer key)
- Due Wednesday Oct 17 (extended to 19th)
(answer key)
- Due Monday Nov 5
(answer key)
- Due Tuesday Nov 13
(answer key: Rank.st)
- Due Monday Dec 10 (Early birds: Dec 7)
(answer key)
Exam Schedule
- Wednesday, October 17 (Section 1) [Answer key]
Monday, October 22 (Section 2) [Answer key]
- Wednesday, November 14
[Answer key]
- Wednesday, December 12
[Answer key]
clamen@cs.rowan.edu
Last modified: Wed Jan 30 04:10:34 2002