Required Readings:
Object-Oriented Design and Patterns (2nd Edition) by Cay S. Horstmann, John Wiley & Sons, 2005. ISBN: 9780471744870
Java: Chapter 1
Inheritance & Polymorphism: Chapters 4.1-5 and 6.1
Object Oriented Design Process: Chapters 2 and 3.4-5
Design Patterns: Chapter 5.1-7
For further information:
Java:
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 (3rd edition) by Martin Fowler, Addison-Wesley Professional, 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)
Online tutorial for Design Patterns:
http://www.tutorialspoint.com/design_pattern/
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)