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
Multithreading: Chapter 9
For further information:
Java:
Absolute Java (5th Edition) by Walter Savitch, Kenrick Mock, Addison-Wesley, 2012. ISBN: 0132830310
Effective Java by Joshua Bloch, Addison-Wesley, 2008. ISBN: 0321356683
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
JUnit:
Online tutorials for JUnit 4:
http://www.vogella.com/tutorials/JUnit/article.html
http://www.tutorialspoint.com/junit/
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/
Concurrency/Multithreading:
Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, Doug Lea, and David Holmes. Addison-Wesley Professional. 2006. ISBN: 0321349601