Image

Imageilja_l wrote in Imagejava_dev

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):

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.