Essential 
Reading
:
 
Vliet, H. van (2008).  Software Engineering: Principles and Practice.  3rd Edition.  
Chichester
: UK.:  John Wiley & Sons, Ltd.
 
 
Recommended 
Reading
:
 
Dennis, A., Wixom, B.H., Roth, R.M. (2010).  Systems Analysis and Design.  4th Edition.  
Hoboken
, NJ.:  John Wiley & Sons, Ltd.
 
 
Wirfs-Brock, R. & McKean, A. (2003).  Object Design: Roles, Responsibilities, and Collaborations.  
Boston, MA
: Addison-Wesley, Pearson Education, Inc.
 
 
Bruegge, B. & Dutoit, A.H. (2010).  Object-oriented Software Engineering using UML, Patterns and Java.  3rd Edition.  
Upper
Saddle
River
, NJ.: Pearson Education, Inc.
 
 
Freeman, E., Freeman, E., Sierra, K. & Bates, B. (2004).  Head First Design Patterns.  
Sebastopol, CA
:  O’Reilly Media, Inc.
 
 
Vermeulen, A. et al (2000).  The Elements of Java Style.  Cambridge, UK.:
Cambridge
University
Press.
 
 
Barker, J. (2005).  Beginning Java Objects: From Concepts to Code. 2nd Edition.  Berkeley, CA.: Apress.
 
 
Background 
Reading
 and Other Sources:
 
Barnes, D. & Kölling, M. (2009).  Objects First with Java: A Practical Introduction using BlueJ.  4th Edition.  
Upper
Saddle
River
, NJ.: Pearson Education, Inc.
 
 
Liguori, R. & Liguori, P. (2008).  Java Pocket Guide.  
Sebastopol
, CA.: O’Reilly Media, Inc.
 
 
Flanagan, D. (2005).  Java in a Nutshell.  5th Edition.  
Sebastopol
, CA.: O’Reilly Media, Inc.
 
 
Bates, K. & Bates, B. (2005).  Head First Java.  
Sebastopol, CA
:  O’Reilly Media, Inc.