We have a small shared collection of reference and programming books
for people to use when in the office. The purpose of these is to
provide helpful off-line references, for instance to read while having
coffee. In order to distinguish these books from people's personal
libraries they will have a sticker on them reading:
"Property of Dreamers, CISA. Please keep me
in the lab."
So that everyone can use them it would be helpful if they were kept
around the lab rather than taken home. If you have suggestions for
useful reference books, please suggest it to Lucas Dixon (Rm. 6.08, lucas.dixon @
ed.ac.uk). Contributions are also very welcome!
Books in the Collection:
The books we currently have available are as follows:
- LaTeX
- "LaTeX Companion" (2nd Edition) -- Frank Mittelbach,
Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley
This is an excellent reference manual and provides
details on doing pretty much everything.
- "Latex: Users guide and reference manual" -- Leslie
Lamport
This is a more novice friendly, but less complete
guide to using latex.
- UNIX
- "UNIX in a nutshell" -- Gilly
An old (written
for Solaris 2!), but still useful book that describes how to use
many different UNIX shell tools. [Donated by Lucas Dixon]
- "Xlib Programming Manual" -- Nye
If you want to do
any programming directly in X11 this book is a good
reference. [Donated by Lucas Dixon]
- Web/Database Programming
- "CGI Programming on the world wide web" --
Gundavaram
This is a very nice light introduction to CGI
programming. It provides examples in Perl, Applescript, and
C. [Donated by Lucas Dixon]
- "SQL Instant Reference" -- Gruber
A small
reference for SQL'92 commands. [Donated by Lucas Dixon]
- Java
- "Java: How to Program" (4th Edition) -- H. Deitel,
P. Deitel
This book covers the language and basic API's for
programming in Java -- a good book for getting started with
programming in Java. [Donated by Lucas Dixon]
- "Modern Compiler Implementation in Java" -- Appel
A good book for working your way through writing a modern
compiler, in Java, for a subset of the ML language. This includes
everything from lexing through to machine code generation. Make
sure to see the website for Errata! I also have a working solution
to most of the problems in the book if needed. (Lucas) [Donated by
Lucas Dixon]
- Programming Language Pocket Reference
These are good little books that help someone familiar with
programming to get started quickly with these languages. They are also
good for reminding you of the syntax of a language and for most
reference needs.
- Perl
- Python
- SQL
- PHP
- XML
- GNU Emacs
- Functional Programming and Lambda Calculus
- "The Functional Approach to Programming" -- Cousineau
A good book for OCaml programming.
- Networking
- "TCP/IP Network Administration" -- Hunt
Covers
the details of TCP/IP networking. [Donated by Lucas Dixon]
- Other Programming Languages
- "Python Essential Reference (for Python v2.1)" -- Beazley
Has a nice introductory section to Python programming, and is a
good manual, although now a little out of date. [Donated by Lucas
Dixon]
- Artificial Intelligence/Computer Science/Logic
- "Artificial Intelligence: A Modern Approach" -- Russel & Norvig, 2nd Edition
General AI. [Donated by Priya Gopalan]
- "Artificial Intelligence: A Modern Approach" -- Russel & Norvig, 1st Edition
General AI. [Donated by Alan Bundy]
- "Artificial Intelligence: Structures and Strategies for Complex Problem Solving" -- Luger & Stubblefield, 3rd Edition
General AI. [Donated by Alan Bundy]
- "Logic in Computer Science: Modelling and Reasoning about Systems" -- Huth and Ryan, 2nd Edition
An good book on formal methods that includes a nice introduction to logic.
- "Model Checking" -- Clarke, Grumberg and Peled
A comprehensive presentation of theory and practice of of model checking.
- "Rippling: Meta-Level Guidance for Mathematical Reasoning" -- Bundy, Basin, Hutter, and Ireland
[Donated by Alan Bundy]
- Formal Proof Systems
- "Isabelle/HOL: A Proof Assistant for Higher-Order Logic" -- Nipkow, Paulson, and Wenzel
A very helpful book for formal proof in Isabelle/HOL.
- Other
- "How to get a PhD" -- Phillips and Pugh, 3rd Edition
Lots of helpful advice. [Donated by Alison Pease]
Books Waiting to be Purchased/Donated:
- Artificial Intelligence
- "A Dictionary of Artificial Intelligence" -- Can anyone suggest a good one?
- Mathematics
- "A Dictionary of Mathematics" -- Can anyone suggest a good one?
- Automated Reasoning & Logic
- "Handbook of Automated Reasoning"
Publisher: MIT Press
ISBN: 0262182238
- "Introduction to type theory" -- Can anyone suggest a good one?
- Functional Programming and Lambda Calculus
- "The Lambda Calculus" -- by H.P. Barendregt
Publisher: North-Holland; 2nd reprint 1997 edition (October 1, 1984)
ISBN: 0444875085
- "The Haskell School of Expression: Learning Functional Programming through Multimedia" -- by Paul Hudak
Publisher: Cambridge University Press (June, 2000)
ISBN: 0521644089
- "ML for the Working Programmer" -- by Lawrence C. Paulson (Author);
Publisher: Cambridge University Press; 2 edition (June 28, 1996)
ISBN: 052156543X
- English
- "Fowler's Usage" 2nd Edition (not 3rd edition!) -- by H. W. Fowler
- Chambers English dictionary
Publisher: Chambers Harrap Publishers Ltd
ISBN: 055010013X
- A thesaurus -- Can anyone suggest a good one?
- Emacs & Lisp
- "GNU Emacs and XEmacs" (Linux Series) -- by Larry Ayers
Publisher: Muska & Lipman/Premier-Trade; 1 edition (June 1, 2001)
ISBN: 0761524460
- "GNU Emacs Pocket Reference" -- by Debra Cameron
Publisher: O'Reilly; 1 edition (November 1, 1998)
ISBN: 1565924967
- "ANSI Common LISP" -- by Paul Graham
Publisher: Prentice Hall; 1st edition (November 2, 1995)
ISBN: 0133708756
- C/C++/ObjC
- "C Programming Language" (2nd Edition) -- by Brian W. Kernighan, et al
ISBN: 0131103628
- "The C++ Standard Library: A Tutorial and Reference" -- by Nicolai M. Josuttis
Publisher: Addison-Wesley Pub Co; 1st edition (August 12, 1999)
ISBN: 0201379260
- "Programming in Objective-C" -- by Stephen Kochan
Publisher: Sams; 1st edition (November 10, 2003)
ISBN: 0672325861
- "Objective-C Pocket Reference" -- by Andrew Duncan
Publisher: O'Reilly; 1 edition (December 1, 2002)
ISBN: 0596004230
- Tex/Latex
- "TeXbook" -- by Donald E. Knuth
Publisher: Addison-Wesley Professional; Spiral edition (January 1, 1984)
ISBN: 0201134489
- Unix
- "UNIX Shell Programming" by Stephen G. Kochan, Patrick H. Wood (Contributor)
Publisher: Sams; 3 edition (February 27, 2003)
ISBN: 0672324903
- Java
- "Thinking in Java" -- by Bruce Eckel
Publisher: Prentice Hall PTR; 3 edition (December 6, 2002)
ISBN: 0131002872
- Prolog
- "The Art of Prolog", Second Edition: Advanced Programming Techniques (Logic Programming) -- by Leon Sterling, Ehud Shapiro
Publisher: The MIT Press; 2nd edition (March 10, 1994)
ISBN: 0262193388