Bibliography and resources for 04:547:430
Printed resources
Required textbook
David J. Barnes and Michael Kolling: Objects First with Java - A Practical
Introduction using BlueJ, Prentice Hall / Pearson Education, 2nd ed, 2004,
ISBN: 0-13-124933-9. 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/
(2.0.5 in September 2005). The book also has a companion website at http://www.bluej.org/objects-first/).
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: "Objects and classes",
and Chapter 2: "Understanding
class definitions". Here's also a copy of Chapter
7: "Designing classes ".
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 (2005),
vol II: Advanced Features (2004). 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.
- Ivor Horton: Beginning Java 2, JDK 5 Edition, Wiley, 2005, ISBN:
0-7645-6874-4.
- Joe Wigglesworth and Paula McMillan: Java Programming: Advanced Topics,
Thomson - Course Technology, 2004, ISBN: 0-619-15968-5.
- Art Gittleman: Advanced Java: Internet Applications, Scott Jones,
2002, ISBN: 1-57676-096-0. Webpage at http://www.cecs.csulb.edu/~artg/internet/advanced.html.
- David Geary: Graphic Java 2, vol 1: AWT, vol
2: Swing , vol 3: 2D, The Sun Microsystem Press.
- John Zukowski: The Definitive Guide to Java Swing, Apress, 3rd
edition, 2005, ISBN 1-59059-447-9.
- Robert Sedgewick: Algorithms in Java, Parts 1-4: Fundamntals, data Structures,
Sorting, Searching; part 5: Graph Algorithms. Addison-Wesley / Pearson
Education, 2003, ISBN: 0-201-36120-5.
- Martin Fowler: UML distilled, 3rd Edition, Addison-Wesley, 2004,
ISBN: 0-321-19368-7.
- Cay Horstmann, Object-Oriented Design and Patterns, 2nd Edition,
Wiley, 2006, ISBN: 0-471-74487-5.
- Eric Freeman and Elisabeth Freeman: Head First Design Patterns,
O'Reilly, 2004, ISBN:0-596-00712-4.
- Steve Holzner: Eclipse, O'Reilly, 2004, ISBN: 0-596-00641-1. Also see http://www.eclipse.org/.
- Tim Boudreau et al: NetNeans - The Definitive Guide, O'Reilly, 2003, ISBN:
0-596-00280-7. Also see http://www.netbeans.org/.
- Joe Walnes et al: Java Open Source Programming, Wiley, 2004, ISBN:
0-471-46362-0.
- 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.
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.