foto
W elcome to my bookshelf. These are some of the books I read in this two years, some of them are text books, others are for my own interests.
1. Design Patterns: Elements of Reusable Object-Oriented Software
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently.
2. The Unified Process Explained
The Rational Unified Process (RUP) has been widely adopted across the software industry. However, many software developers and managers--especially those working in medium-to-small development organizations--are hesitant to delve into this seemingly complex and time-consuming topic. The Unified Process Explained is a concise, accessible, and practical guide that's meant to help significantly shorten the learning curve for practitioners unfamiliar with this methodology. It explains the essentials of the Unified Process (the RUP's core elements), guides you through the process step-by-step, and shows how you can put the methodology to work on your next project.
3. Extreme Programming Explained
Software development projects can be fun, productive, and even daring. Yet they can consistently deliver value to a business and remain under control. Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned.
4. The Mythical Man-Month
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.
5. The Complete Reference: JAVA 2 (Fourth Edition)
Master Java, the pre-eminent language of the Internet, and begin reaping the benefits of this secure, platform-independent programming language. Let #1 programming author Herb Schildt show you everything you need to develop, compile, debug, and run Java applications and applets. Covering all of Java 2, including features added by the latest Java Developers Kit, JDK 1.3, this comprehensive reference is ideal for every Java programmer. Inside youll get complete details on the Java language, its class libraries, and its development environment. With clear descriptions, hundreds of practical examples, and expert techniques, this is a book that no Java programmer should be without.
6. JAVA OUTSIDE IN

7. JAVA In a Nutshell: A desk top quick reference
This second edition of the bestselling Java book describes all the classes in the Java 1.1 API, with the
exception of the Enterprise APIs. And it still has all the great features that have made this the Java book most often recommended on the Internet: practical real-world examples and compact reference information. It's the only quick reference you'll need.
8. JAVA: An introduction to Computer Science & Programming
This is an introductory book suitable for a CS1 course. It covers OOP and traditional programming
techniques as well as the Java language. The emphasis is on applications as opposed to applets, but there are early optional applets and a later full chapter covering applets. This second edition includes extensive coverage of Swing and the Graphics class. The book is designed to be flexible in topic ordering.

9. JAVA 2D Graphics
One weakness of Java has been its graphics capabilities. Java 1.0 and 1.1 only included simple primitives for line drawing: lines could only be one pixel wide, they could only be solid, and there wasn't any good way to draw curves. Font management and color management were also weak. Java 2D (collectively called the "2D API") signals a major improvement in Java's graphics capabilities. It covers many of the classes in Java 1.2 that address graphics handling and improves on many weaknesses that were present in the previous versions of Java. The 2D API allows you to produce high-quality, professional images on a screen or printer. Java 2D Graphics describes the 2D API from top to bottom, demonstrating how to set line styles and pattern fills as well as more advanced techniques of image processing and font handling. You'll see how to create and manipulate the three types of graphics objects: shapes, text, and images. Other topics include image data storage, color management, font glyphs, and printing.
10. Object-Oriented Software Development Using JAVA: principles, patterns, and
Object-Oriented Software Development in Java: Styles, Patterns, and Frameworks focuses on developing skills in designing software—particularly in writing well-designed, medium-sized object-oriented programs. It provides a broad and coherent coverage of object-oriented technology, including object-oriented modeling using the Unified Modeling Language (UML), object-oriented design using Design Patterns, and object-oriented programming using Java.
11. Designing 3D Games That Sell!
Written by the developer of Dead Reckoning and Sorcerer, this book teaches developers how to approach game design from the product design viewpoint. Instead of creating a game and then trying to get it published, they'll learn how to look at their game from the publisher and consumer perspective first. What does a game need to make it publishable? What will make it enticing to the target audience? All of these questions will be answered beginning with the brain storming, market research, and team building stages and then moving to the design, creation, and documentation phases.
12. Effective C++ (Second Edition)
Each of this book's 50 guidelines summarizes a way to write better C++, and the accompanying discussions are backed by specific examples. For this new edition, Meyers reworked every guideline in the book. The result is exceptional adherence to C++'s Draft International Standard, current compiler technology, and the latest insights into the use of C++ for real-world applications .
13. Problem Solving with C++: The Object Programming

14. C++ Primer ( Third Edition)

15. The Complete Reference : C++ (Third Edition)

16. C++ How to Programm (Third Edition)

17. Advanced JAVA2 Platform--How to program

18. Data structure and Algorithm Analysis in JAVA

19. Student Guide to UNIX (Second Edition)

20. Compiler Constrction--Principles and Practice

21. Computer Architecture--A quantitative Approach (Second Edition)

back to home page