- Download Ruby 1.8.6 here
- ruby-lang.org -
The main Ruby website.
Introduction to Ruby -
A simple introduction to basic Ruby
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.
Ruby Class Reference
Ruby reference manuals - A list from ruby-lang.org
of Ruby reference manuals, online sources of Ruby
information (some of the ones which will probably be
more useful are mentioned specifically below), and Ruby
articles. If you want to buy a printed book about Ruby
several are listed.
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.
- Ruby Central
- Another website about Ruby. It has a Ruby FAQ which
may have answers to some questions you might have.
Java and Threads
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 cite are generally useful too):
Ruby On Rails
- Rails is a full-stack
framework for developing database-backed web applications according
to the Model-View-Control pattern.
- Instant Rails
is a single package containing Ruby, Rails, Apache,
and MySQL, all pre-configured and ready to run without
installation. Currently for Windows only.
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).