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
- The course documentation directory.
- The top 10 reasons not to take this class.
- Errata for Haskell: The Craft of Functional Programming, Second Edition by Simon Thompson (Addison-Wesley Longman, 1996).
- Meeting outlines directory, containing outline files for the "lectures".
- Lecture notes directory, containing strangely formatted notes for the "lectures". We recommend that students use the Meeting outlines (above) instead.
- 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.
-
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 | Ramnivas Laddad |
Title | AspectJ in Action: Practical Aspect-Oriented Programming |
Publisher | Greenwich, Conn: Manning, c2003. |
Call Number | QA76.64 L31x 2003 |
Author | Simon Thompson |
Title | Haskell: The Craft of Functional Programming, Second Edition |
Publisher | Reading, Mass: Addison-Wesley Longman, c1996. |
Call Number | QA76.62 T46 1996 |
Last modified Tuesday, October 4, 2005.
This web page is for the Fall 2005 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 at leavens@cs.iastate.edu.