Java:
Thinking in Java: The Definitive Introduction to Object-Oriented Programming in the Language of the World-Wide Web, by Bruce Eckel, Prentice Hall.
3rd ed: ISBN: 0131002872 : Free!! Try the following links:
http://www.mindview.net/Books/TIJ/
http://www-plan.cs.colorado.edu/diwan/3308-05/book/TIJ3.htm
http://www.oopweb.com/Java/Documents/ThinkingInJava/VolumeFrames.html
4th ed: ISBN: 0131872486
http://www.mindviewinc.com/Books/TIJ4/ Note first 7 chapters free at this link.
The Java information covered in class is from the following chapters of Thinking in Java:
Everything Is an Object
Operators
Controlling Execution
Initialization & Cleanup
Access Control
Reusing Classes
Polymorphism
Interfaces
Holding Your Objects (for Collections)
Error Handling with Exceptions
Strings (for String and Scanner classes)
I/O (for Object serialization)
Absolute Java (5th Edition) by Walter Savitch, Kenrick Mock, Addison-Wesley, 2012. ISBN: 0132830310
Javadoc:
http://javaworkshop.sourceforge.net/chapter4.html
http://www.tutorialspoint.com/java/java_documentation.htm
https://thenewcircle.com/static/bookshelf/java_fundamentals_tutorial/javadoc.html
UML:
UML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler, Addison-Wesley Professional 3 edition, 2003. ISBN: 0321193687
GRASP:
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) by Craig Larman, Prentice Hall, 2004. ISBN: 0131489062
2nd ed: chapters 16 and 22
3rd ed: chapters 17 and 25
Presentations:
http://www.cs.newpaltz.edu/~pletcha/SE/duncan.pdf
http://www.cs.colorado.edu/~kena/classes/5448/f12/presentation-materials/rao.pdf
http://web.cs.dal.ca/~jin/3132/lectures/dp-13.pdf
You Tube Videos:
Derek Banas, Object Oriented Design 10 and 11
—these are ok, good examples, but I don’t agree with everything he says…
Design Patterns:
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Addison-Wesley, 1994. ISBN: 0201633612 (aka: GOF, Gang of Four book)
(Bruegge, chapter 8)
JUnit:
Online tutorials for JUnit 4:
http://www.vogella.com/tutorials/JUnit/article.html
http://www.tutorialspoint.com/junit/
Refactoring:
Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant and William Opdyke, Addison-Wesley, 1999. ISBN: 0201485672
http://sourcemaking.com/refactoring (use the table of contents to navigate)