Resources
This page provides information on some of the resources available for students in Com S 541. The page is organized as follows:
- Miscellaneous Resources: about the course, various paradigms, language design, and semantics.
- Reserve List: A list of materials on reserve at the Parks Library
Miscellaneous Resources
The following are some links to various resources you may find useful about the course, various paradigms (including OO programming, AOP, functional programming, and logic programming), language design, and semantics.
Course Resources
- Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi (MIT Press, 2004).
- Errata for the book.
- Supplementary material for the book.
- Meeting outlines directory, containing outline files for the "lectures".
- The Mozart/Oz system.
- How to Run Oz.
- Course Oz library, including code to do testing and assertions.
- The Alice language.
- Lecture notes directory, containing strangely formatted notes for the "lectures". We recommend that students use the Meeting outlines (above) instead.
- The course documentation directory.
- The top 10 reasons not to take this class.
- Fabric-painted T-shirts I may use in this course.
- The course bin directory, containing various shell scripts.
Various Paradigms
Some general resources are the following.
- Gary Leavens's programming languages page with various links
- Lambda the Ultimate programming languages weblog.
OO Programming
- Cetus links to Object-Oriented information sources.
- Smalltalk related information.
- Java related information.
- Scala.
- Cω.
Aspect-Oriented Programming
Component-Based Programming
- Microsoft's Component Object Model (COM).
- See Component Software: Beyond Object-Oriented Programming by Clemens Szyperski (Addison-Wesley, 1998).
Functional Programming
- Functional programming FAQ
- A page of tutorial papers on functional programming by John Hughes.
- Why Functional Programming Matters by John Hughes.
- Beating the Averages by Paul Graham, on how the expressive power of Lisp helped in a startup.
-
Haskell related information.
- Information about running Haskell.
- The Haskell Tutorial, Report, and Library Report.
- A Wiki for Haskell.
- A tour of the Haskell prelude.
- HUnit, a unit testing tool for Haskell.
- Scheme
- Standard ML,
- Ericsson uses the functional language Erlang to write all of its software.
Logic Programming
- Logic programing virtual library
- lambda Prolog related information.
- Examples of lambda Prolog programs.
- The Teyjus lambda Prolog implementation.
- Manual for Teyjus lambda Prolog.
- Basic information about running Teyjus.
Language Design
- An Introduction to the Literature On Programming Language Design, which was passed out to students.
- Benjamin Pierce's list of the most important papers in programming languages.
Semantics
Reserve
To check out one of these (for a few hours or days), go to the Parks library reserve desk. You can look up the call number there from the title.
Required Texts
Author | Peter Van Roy and Seif Haridi. |
Title | Concepts, Techniques, and Models of Computer Programming |
Publisher | Cambridge, Mass.: MIT Press, c2004. |
Call Number | QA76.6 V36 2004 |
Last modified Monday, September 25, 2006.
This web page is for the Fall 2006 offering of Com S 541 at Iowa State University. The details of this course are subject to change as experience dictates. You will be informed of any changes. Please direct any comments or questions to Gary T. Leavens.