books for the library
Hi, Java gurus!
Our company is creating a library and thus a good advice about the contents of the library is needed. The main area of activites is j2ee (full spectrum) but it would be nice to have other areas covered as well. I.e. general CS. There are already some ideas as what to buy (in addition to what already exists), but a good advice from this experienced community is very welcome :)
UPDATE: If you are interested in what we have chosen, here is a list of books (not too final though):
Our company is creating a library and thus a good advice about the contents of the library is needed. The main area of activites is j2ee (full spectrum) but it would be nice to have other areas covered as well. I.e. general CS. There are already some ideas as what to buy (in addition to what already exists), but a good advice from this experienced community is very welcome :)
UPDATE: If you are interested in what we have chosen, here is a list of books (not too final though):
Computer Science Basics Richard Johnsonbaugh. Discrete Mathematics. Programming Languages Appel, Andrew W. Modern Compiler Implementation in Java (Tiger book). Cambridge University Press, 1998. Benjamin C. Pierce. Types and Programming Languages Ravi Sethi. Programming Languages: Concepts and Constructs Operating Systems Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. Operating Systems Concepts with Java. Algorithms and Complexity Robert Sedgewick. Bundle of Algorithms in Java, Third Edition. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory, Languages, and Computation (2nd Edition) Computer networks Andrew S. Tanenbaum. Computer Networks, Fourth Edition Artificial intellegence Nils J. Nilsson. Principles of Artificial Intelligence. Database systems C.J. Date. An Introduction to Database Systems. Computer graphics Edward Angel. Interactive Computer Graphics : A Top-Down Approach using OpenG Distributed systems Andrew S. Tanenbaum, Maarten van Steen. Distributed Systems: Principles and Paradigms. Computer architecture John L. Hennessy et al. Computer Architecture: A Quantitative Approach Concurrent programming Doug Lea. Concurrent Programming in Java(TM) Software Engineering General Software Engineering: Volume 1: The Development Process, 2nd Edition by Richard H. Thayer, Merlin Dorfman, Dixie Garr Software Engineering, Volume 2, The Supporting Processes by Richard H. Thayer (Editor) Software Craftsmanship: The New Imperative by Pete McBreen The Psychology of Computer Programming: Silver Anniversary Edition by Gerald M. Weinberg Rapid Development by Steve McConnell Code Complete, Second Edition by Steve McConnell Software Engineering Classics by Steve Maguire, Jim McCarthy, Steve McConnell Frederick P. Brooks, Jr., The Mythical Man-Month, 20th Anniversary Edition, Addison Wesley, 1995. See review by Ed Yourdon. Software Engineering (7th Edition) (International Computer Science Series) by Ian Sommerville Software Engineering: A Practitioner's Approach by Roger S Pressman, Roger Pressman Software Engineering: Theory and Practice, Second ed: Prentice-Hall, 2001. Software requirements Software Requirements, Second Edition Karl E. Wiegers Writing Effective Use Cases Alistair Cockburn Software Requirements Engineering, 2nd Edition by Richard H. Thayer Software design Software Architecture in Practice, Second Edition by Len Bass, Paul Clements, Rick Kazman UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition by Martin Fowler Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) UML 2 Toolkit by Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado Grady Booch, Ivar Jacobson, and James Rumbaugh. The Unified Modeling Language User Guide. 1999. James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. 1999. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Design. Software Design (2nd Edition) by David Budgen Systems Analysis and Design (5th Edition) by Kenneth E. Kendall, Julie E. Kendall M. Fowler, Refactoring: Improving the Design of Existing Code: Addison-Wesley, 1999. Software construction K. Beck, "Extreme Programming Explained: Embrace Change," Addison-Wesley, 1999. J. Bentley, "Programming Pearls," Second ed: Addison-Wesley, 2000 K. Beck, "Test-Driven Development: By Example" Addison-Wesley, 2002. M. Fowler and al, Refactoring: Improving the Design of Existing Code: Addison-Wesley, 1999. Writing Secure Code, Second Edition by Michael Howard, David C. LeBlanc Building Secure Software: How to Avoid Security Problems the Right Way by John Viega, Gary McGraw Software testing K. Beck, "Test-Driven Development by Example," Addison-Wesley, 2002. P. C. Jorgensen, "Software Testing: A Craftsman's Approach," Second Edition, Testing Object-Oriented Systems: Models, Patterns, and Tools (The Addison-Wesley Object Technology Series) by Robert V. Binder Software maintenance A. Takang and P. Grubb, Software Maintenance Concepts and Practice: International Thomson Computer Press, 1997. Software configuration management Configuration Management Principles and Practice by Anne Mette Jonassen Hass Software Configuration Management Handbook, Second Edition by Alexis Leon (Hardcover) Software engineering management & process W. S. Humphrey, Introduction to the Personal Software Process: Addison-Wesley, 1997. Ivar Jacobson, Grady Booch, and James Rumbaugh. The Unified Software Development Process. 1999. The Rational Unified Process Made Easy: A Practitioner's Guide to Rational Unified Process by Per Kroll (Author), Philippe Kruchten (Author) CMMI Distilled: A Practical Introduction to Integrated Process Improvement, Second Edition by Dennis M. Ahern, Aaron Clouse, Richard Turner The Deadline: A Novel About Project Management by Tom Demarco Agile Software Development. Alistair Cockburn Software engineering tools and methods Thinking in Java (2nd Edition) by Bruce Eckel Effective Oracle by Design (Osborne ORACLE Press Series) by Thomas Kyte JavaServer Faces in Action. Kito D. Mann http://www.manning.com/mann Software quality The Handbook of Software Quality Assurance (3rd Edition) by G. Gordon Schulmeyer, James I. Mcmanus Metrics and Models in Software Quality Engineering (2nd Edition) by Stephen H. Kan N. E. Fenton and S. L. Pfleeger, Software Metrics: A Rigorous & Practical Approach, Second ed: International Thomson Computer Press, 1998. J. W. Horch, Practical Guide to Software Quality Management: Artech-House Publishers, 2003. S. H. Kan, Metrics and Models in Software Quality Engineering, Second ed: Addison-Wesley, 2002.
