Harvey M. Deitel and Paul J. Deitel. Java: how to program. Segunda edição,
Prentice Hall, 1998. (Livro texto do curso; exemplos do livro e
referências adicionais em http://www.deitel.com)
Bertrand Meyer. Object-Oriented Software Construction. Segunda Edicao. Prentice
Hall, 1988. (Capítulos 1, 2, 3 e 4)
W. Wayt Gibbs. Software's
chronic crisis. Scientific American, September 1994. (Muito
bom, não deixe de ler)
IEEE e ACM. Software Engineering Code of Ethics and Professional Practice. (Práticas que devem ser seguidas por qualquer desenvolvedor, leitura
obrigatória;disponível no formato PDF e em HTML)
www.gamelan.com. (Oferece exemplos, beans, e links diversos sobre Java;
vale a pena visitar)
Bruce Eckel. Thinking in Java, 1997. (Disponível em HTML, no formato PDF,
e em HTML de forma
compactada)
James Gosling, Bill Joy, and Guy Steele. The Java Language Specification,
July 1996. (Contém todos os detalhes
de Java; todo programador Java profissional deve consultar com freqüência)
Mary Campione and Kathy Walrath. The
Java Tutorial, February 1996. (Para quem gosta de tutorial)
Khalid Mughal and Rolf Rasmussen. A
Programmers Guide to Java Certification. Addison Wesley, 2000. (Para quem está interessado em obter o certificado de programador Java)
Ken Arnold and James Gosling. The Java Programming Language. Addison Wesley,
1996. (Introdução concisa a Java; também disponível em
português)
Roger Pressman. Software Engineering--A Practioner's Approach. McGraw-Hill,
third edition, 1994. (Seção 17.1, informações sobre qualidade de
software)
David Watt. Programming Language Concepts and Paradigms. Prentice Hall, 1990. (Capítulo 6, várias técnicas para modularização de software)
Grady Booch, James Rumbaugh and Ivar Jacobson. The Unified Modelling Language User
Guide. Addison Wesley, 1999. (Para quem quer saber mais sobre
análise orientada a objetos: UML, a notação padrão)
Kim Waldén and Jean-Marc Nerson. Seamless Object-Oriented Software
Architectures--Analysis and Design of Reliable Systems. Prentice Hall, 1995. (Para quem quer saber mais sobre análise orientada a objetos: um método
para realizar análise)
Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley, second
edition, 1991. (Para quem deseja comparar Java com C++)
Tutorial com exemplos. (Válido para conhecimento geral dos recursos, IO com arquivos, Applets, Eventos..., oferecidos pela linguagem Java, mas não para ensinar Programacao Orientada a Objetos. Os exemplos do tutorial são basicamente implementados na main e não seguem o padrao de codificação, não estão muito bem estruturados, mas são interessantes e didaticos, com relacao aos recursos.)
www.javasoft.com. (As últimas novidades sobre Java e outros links)