2  Reading List

General OO Design

  • Object Oriented Analysis, Design, Programming. Peter Coad
  • The Object-Oriented Thought Process. Weisfeld
  • Guide to the Unified Process Featuring UML, Java, and Design Patterns
  • An Introduction to Object Oriented Porgramming. Timothy Budd
  • How to Design Classes. Felleisen et al
  • How to Write Good Programs. Perdita
  • The Essence of Software - Why Concepts Matter for Great Design. Daniel Jackson

Design Patterns

  • Object-Oriented Design and Patterns. Cay Horstmann
  • Python in Practice - Create Better Programs Using Concurrency, Libraries, and Patterns

Java

Bluej

  • Objects First with Java - A Practical Introduction Using Bluej. David Barnes
  • OOP - Learn Object Oriented Thinking & Programming. Pecinovsky

General

  • Introduction to Programming Using Java - version 9, JavaFX Edition. David J Eck
  • Big Java - Early Objects (7th ed). Cay Horstmann
  • Introduction to Java - Programming and Data Structures. Daniel Liang
  • Just Java 2 (6th ed). Peter van der Linden
  • Java the UML Way - Integrating Object-Oriented Design and Programming. Else Lervik & Vegard B Havdal
  • Start Concurrent - A Gentle Introduction to Concurrent Programming with Java. Wittman et. al.
  • Modern Java in Action (2018). Urma, Fusco, Mycroft
  • The Art of Java (2003). Schildt, Holmes

OO Programming & Design

  • Java and Object Orientation - An Introduction (2002). John Hunt
  • Introduction to Software Design with Java (2022). Robillard.
  • Software Design - From Programming to Architecture. Braude
  • Java Design - Building Better Apps and Applets (1997). Coad, Mayfield
  • Software Design Using Java 2. Kevin Lano
  • Object Oriented Design with UML and Java. Savage

Problem Solving & Data Structures

  • Fundamentals of OOP and Data Structures (2000). Wiener
  • Java Collections - An Introduction to Abstract Data Types, Data Structures and Algorithms (2001). Watt, Brown
  • Data Structures and Software Developemtn in an Object-Oriented Domain - Java Edition. Jean-Paul Tremblay, Grant A Cheston

Game & Graphics

  • Learning Java with Games. Chong-Wei Xu
  • Computer Graphics for Java Programmers. Ammeraal
  • Introduction to Computer Graphics Using java 2D and 3D. Klawonn

Smalltalk

  • The Art and Science of Smalltalk. Lewis
  • Smalltalk and Object Orientation. Hunt
  • Smalltalk, Objects, and Design. Liu
  • The Design Patterns Smalltalk Companion. Alpert, Brown, Woolf

GUI Programming

  • An Introductin to C & Gui Programming. Simon Long
  • Python GUI Programming with Tkinter - Design and Build functinoal and user-friendly GUI applications. Alan D Moore