COMP2100
ReadingTextbooks
There is no required textbook for COMP2100. That means you save a great deal of your money.
You may instead buy the course information pack (or ``brick'') which contains lecture notes, lab instructions, general information about the course, and some useful documentation. The brick also contains a pad with all the PSP forms you will need. There is more information about the brick below.
However, you don't even have to buy the brick, since everything in the brick is on this website. (The brick is basically a snapshot of this website from February or March 2003.) You will probably find that the brick is cheaper than printing out the website on paper you pay for yourself. It's up to you. Do the math, as they say in the US.
Useful reference books
There are lots of useful and relevant books, but they tend to be expensive and not easily available in libraries (because they're too new). Here is a short list. I'll try to add to this as we go along. Some, but not all, of these are available from the Hancock library, some in short loan. For those books I have given the library reference to save you the trouble.
The first four books on this list are "recommended books" which I think (hope) means that you will get the textbook tax rebate on them if you buy them from the Co-op Bookshop. Let me know.
Object-Oriented Software Construction (2nd edition)
Bertrand Meyer
Prentice-Hall, 1997. QA76.64.M493 1997 (5 copies)Introduction to the Personal Software Process
Watts Humphrey
Addison Wesley, 1997.The Pragmatic Programmer
Andrew Hunt & David Thomas
Addison Wesley, 2000.Code Complete
Steve McConnell
Microsoft Press, 1993.
Design Patterns and Contracts by Jean-Marc Jézéquel, Michel Train & Christine Mingins, Addison-Wesley, Reading, Massachusetts, 1999. QA76.76.D47 J49 2000 (3 copies)
A Practical Introduction to Software Design with C++ by Steven P. Reiss, Wiley, New York, 1999.
Object-Oriented Programming in Eiffel (Second Edition) by Pete Thomas and Ray Weedon, Addison-Wesley, Harlow, England, 1997. QA76.64 .T495 1998 (2 copies)
The Reflective Practitioner by Donald A. Schön, Basic Books, New York, 1983. CHIFLEY HD8038.A1.S35
The Software Conspiracy: Why Software Companies Put Out Faulty Products, How They Can Hurt You, and What You Can Do About It by Mark Minasi, McGraw-Hill, 2000.
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides, Addison-Wesley, 1995. QA76.64 .D47 1995
C: A Reference Manual by Harbison and Steele. QA76.73.C15H38 1995
A Book on C by Kelley. QA76.73.C15K44 1995
C: How To Program by Deitel and Deitel. QA76.73.C15D44 1994
The C Programming Language (2nd ANSI C edition) by Kernighan and Ritchie. QA76.73.C15K47 1988 (3 copies)
Human Factors in Software Development by Bill Curtis. Hancock Large Books QA76.76.D47T88 1985
The Information Pack
This semester's information pack (or brick) is not a source of required readings like the one you had for COMP1110. It has two parts. The first consists of the (almost) complete course lecture notes, lab instructions and other information, also available on this web site.
The second part is a collection of useful references. It contains detailed information not found in textbooks. Some of this goes well beyond what you will need for this course, but is essential reference material for the working programmer or software engineer. It is also typical of the sort of information that you as a working programmer will have to learn to digest. The facts you need may not be easy to find in there, but finding them is one of the essential skills of the working software engineer.
Most of the material contained in the information pack is available online, so there is no need to buy it if you want to save the money. I find it more convenient to have this stuff on paper where I can scribble in the margins, mark useful pages with sticky notes and so on. But it's up to you.
Information Pack Table of Contents
COMP2100 Lecture notes
COMP2100 Lab instructions
RCS - A System for Version Control by Walter F. Tichy
This article is a useful introduction and reference for RCS, a version control tool which allows you to keep track of all the changes you make to a program, and to reconstruct old versions. You will be using this for all your work in COMP2100.The bash Manual
bash is an example of a shell, which is a program which interprets what you type at the command prompt. It is a powerful programming language. Programs written in bash (or any of a number of other shells such as csh, sh, or tcsh) are called shell scripts.PSP forms, scripts and instructions
How to get your brick
Wait for further instructions: the bricks aren't ready yet but will be coming soon.
Copyright © 2004, Ian Barnes, The Australian National University
Feedback & Queries to
comp2100@iwaki.anu.edu.au
Version 2004.1, 18 February 2004, 16:57:31