Fall 2006
- Note
- This page is maintained as an archival record of the course shown above, and as such, some links on this page may no longer be valid nor accessible. They are kept here as a record of the resources that were available at the time of the course offering.
All materials are in PDF. Sorry, you won’t find source code or solutions here; contact me directly for those.
- Announcements
- 20061203: The deadline for the research paper has been extended by one week, from Tuesday 1205 to Tuesday 1212.
20061107: Due to a university commitment that has come up, there will be no regularly-scheduled office hours on Thursday 1109.
20060912: As discussed in class, the prospectus is now due on 0926 instead of 0919.
- Syllabus
- Prospectus Sample
- Research Paper Outline
- Annotated LaTeX Guide
- Anti-plagiarism resources
- JavaScript scratch page
Handouts
- 0829: The Big Picture
- 0912: Syntax, Hands-On with JavaCC
- 0919: The Name Game
- 1003: Express Yourself, Midterm Review Sheet
- 1024: Control Flow
- 1031: The Joy of Types, Type Checking, Types in Detail
- 1114: Subroutines
- 1121: Object Orientation
- 1128: Concurrency
- 1205: Final Review Sheet
Related External Links
These links take you to Web sites beyond this server. The sites are in no particular order or bias, just “as they came to mind.”
- Tools
- The LaTeX home page
- The MikTeX home page — a highly popular LaTeX implementation
- The CVS home page
- The JavaCC (Java Compiler Compiler) home page
- Prof. Ray Toal’s JavaCC notes
- Unit test frameworks
- If you’re new to unit tests, start with Test Infected
- For Java: JUnit (credited for igniting test-driven development)
- For C: there are a number of them, including Check and Andrew Wall’s CUnit (direct .zip download)
- For C++: CppUnit (a C++ port of JUnit)
- For JavaScript: JsUnit (a JavaScript port of, you guessed it, JUnit)
- For Perl: Perl has its own testing framework, with Test::Class adding a JUnit-like layer (Note: Test::Class is just the topmost layer; while CPAN takes care of most prerequisites, you’ll also need Test::More separately)
- For many other languages: Xprogramming.com’s software section
- Prof. Ray Toal’s Programming Languages Web site
- Notes on context-free grammars by Pete Jinks of the University of Manchester
- The Moscow ML home page
- A programming language-oriented write-up on Java 1.5, a.k.a. Tiger
- The Perl Documentation Web site
- Perl Monks: Ask for Perl advice here, and ye shall receive
- Wikipedia: A good starting point for virtually any concept lookup (note the emphasis on starting point!)
- Java Community Process (JCP) documentation on typesafe enums in Java ≥ 1.5
- Mark Jason Dominus’s discussion of strong typing and Perl: slides, writeup
- Douglas Crockford’s article on simulating inheritance in JavaScript: Classical Inheritance in JavaScript
- Part of his overall treatise on JavaScript: The World’s Most Misunderstood Programming Language
- Heck, his whole JavaScript site is useful, valuable, and fascinating
- “One program written in many languages” taken to the extreme: http://www.99-bottles-of-beer.net