CMSC 330, Summer 2008

Organization of Programming Languages

Resources

Ruby

  • ruby-lang.org - The main Ruby website. Here you can download Ruby for both Linux/UNIX and Windows systems.
  • ruby-lang documentation - Online documentation links from the above site.
  • Ruby Core Class Reference
  • Introduction to Ruby - A simple introduction to basic Ruby
  • Ruby User's Guide - An English translation of a book written by the designer of the language. More of a language reference than a tutorial.
  • The Pragmatic Programmer's Guide - "The Pickaxe Book" is a more comprehensive overview of Ruby. It's an online version of the first edition of a printed Ruby book. The only thing to keep in mind is that it covers Ruby 1.6, while you can buy the printed version which covers the current Ruby 1.8. We probably won't do anything for this course where the difference between version 1.6 and 1.8 would make much difference. There's a lot of information here which you won't need- the most relevant sections are the first fourteen listed (the first up through "Basic Input and Output"), then "When Trouble Strkes", "Ruby and Its World", and "The Ruby Language" and "Classes and Objects". These last two are good summary references for the language.
  • try ruby! - An interactive online Ruby interpreter
  • Rubular - An Ruby-based regular expression editor

OCaml

Lambda calculus

Java and Threads

Java Generics

Java Garbage Collection

Formal grammars and finite automata

  • Book: Introduction to the Theory of Computation by Michael Sipser
    This book has lots of good explanation, but is a little high level for what we're doing. Still, it might be worth a look.
  • Wikipedia actually has good pages on some of these things (and the references they site are generally useful too):

Other relevant texts

Previous required texts for CMSC 330 have chapters on relevant topics covered in this course. If the lecture notes are insufficient, look for these books. They should be available in the university library.
  • Concepts of Programming Languages (Seventh Edition) by R. Sebesta, Addison Wesley (2006) (ISBN 0-321-33025-0).
  • Programming Languages: Design and Implementation (Fourth Edition) by T. Pratt and M. Zelkowitz, Prentice Hall (2001) (ISBN 0-13-027678-2).

Other

Valid HTML 4.01!