Bibliography and resources for 04:547:202
Printed resources
Required textbook
John Lewis and William Loftus: Java Software
Solutions: Foundations of Program Design, 5/E, Addison-Wesley,
2006, ISBN: 0-32-140949-3. Although the book comes with a CD, you're better
off downloading the most recent course resources from the companion
website.
You will also need MyCodeMate, a "virtual TA" which
gives you support as you work on your assigned homework. For using MyCodeMate,
you need an individual access code, which you can either get packaged with the
textbook (ISBN 0-32-146979-8), when you buy the textbook from the Rutgers Bookstore
(the package costs roughly $6 more than the textbook alone), or you can buy
it online, from http://www.mycodemate.com
(for $24 if you pay by credit card).
Attention ! Whether you buy the textbook or not, you have to buy the
MyCodeMate access code, so that you can complete your homeworks and get graded
!
Note that MyCodeMate comes with the textbook in electronic format (in PDF)
so, if you have a tight budget, you may decide not to buy the textbook and use
the electronic copy instead.
The Integrated Development Environment (IDE) used to develop the Java programs
and projects for this course is jGRASP. It comes on the CD, but the most recent
version is available at http://www.jgrasp.org/.
Please explore the various online resources, such as:
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.
Games