Bibliography and resources for 04:547:202
Printed resources
Required textbook
David J. Barnes and Michael Kolling: Objects First with Java - A Practical
Introduction using BlueJ, Prentice Hall / Pearson Education, 2003, ISBN:
0130449296. The books comes with BlueJ on a CD, but you're better off downloading
the most recent version of the software from http://www.bluej.org/
(1.3.5 in August 2004). The book also has a companion website at http://www.bluej.org/objects-first/first-edition/.
The second edition of the book has just been published (see its companion website
at http://www.bluej.org/objects-first/),
with more exercises and an additional chapter on building user interfaces with
Java; however, the first edition is the official textbook of the course. Also,
version 2.0 of BlueJ became available in Sep 2004; although we will use version
1.3.5 in the computer lab during the Fall semester (the Netops will not install
new software in the computer lab during the semester), you may want to download
and use the new version at home.
Please explore the various online resources, such as
If you were late to buy your copy of the textbook, here are the Preface,
Chapter 1, and Chapter
2. Here's also a copy of the original BlueJ
projects that come with the textbook, which you will study and enhance.
Note. The book is a good Object-Oriented Programming tutorial based on the
Java programming language. It introduces concepts in an order appropriate for
learning OOP; therefore it is nor good as a Java reference, you may want to
look at some of the Java books below for that.
Recommended textbooks
- David Flanagan: Java in a Nutshell, 4th edition. O'Reilly, 2002 (covers
Java 1.4).
Online materials at: http://www.oreilly.com.catalog.javanut4/
.
Very fast-paced tutorial for Java, with fairly complex examples. Very good
as a reference book.
- (David Flanagan: Java Examples in a Nutshell, 2nd edition. O'Reilly,
2000 (covers Java 1.3).)
More complex and complete examples..
- Cay S. Horstmannn, Gary Cornell: Core Java 2, vol I: Fundamentals.
Sun Microsystems Press, 2002.
I like the style, clear and concise.
- Bruce Eckel: Thinking in Java, 3rd edition. Prentice Hall, 2003.
A pretty good introduction to Java as an object-oriented language, but it
assumes some familiarity with programming (in a different language). Also
available online (free !) at http://www.bruceeckel.com.
- Ian F. Darwin: Java Cookbook - Solutions and Examples for Java Developers.
O'Reilly, 2001.
As the name suggests, it's a book of receipes on how to do various things
with Java.
It comes with a website at: http://javacook.darwinsys.com.
- Glenn Brookshear: Computer Science - An Overview, Addison Wesley,
2003, ISBN: 0201781301. Webpage at http://wps.aw.com/aw_brookshear_compsci_7/,
including teaching slides.
- Frederick P. Brooks: Essays on Software Engineering, Anniversary Edition
(2nd Edition), Addison Wesley, ISBN: 0201835959.
The classic book on the human elements of software engineering.
30%
off at Amazon.
Web resources
Note. You will spend a fortune if you want to stay up-to-date with new Internet
technology by buying books. Learns to find and use documentation, tutorials,
and other such Web resources.
Java
Interesting articles
- Vicki L. Almstrum - What is
the attraction to computing?, CACM 46(9), Sep 2003.
- Keith Devlin - Why universities
require computer science students to take math, CACM 46(9), Sep 2003.
- Kim B. Bruce, Robert L. Scot Drysdale, Charles Kelemen, Allen Tucker - Why
math ?, CACM 46(9), Sep 2003.
- Peter B. Henderson - Mathematical
reasoning in software engineering education, CACM 46(9), Sep 2003.