Best of
Coding

2001

Effective Java


Joshua Bloch - 2001
    The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util

Algorithms in C++ Part 5: Graph Algorithms


Robert Sedgewick - 2001
    Providing exercises to help students learn the properties of algorithms, this text places a greater emphasis on abstract data types, modular programming, object-oriented programming and C++ classes.

Discrete Mathematics for Computing


Rod Haggarty - 2001
    The author presents numerous worked examples and practice exercises with full solutions so readers see how to work with the mathematical concepts covered, thereby developing their own competence. Reliance on previous mathematical experience is kept to a minimum, though some basic algebraic manipulation is required. The content constitutes an accepted core of mathematics for computer scientists (for example, the formal methods used in computer science draw heavily on the discrete mathematical concepts covered here, particularly logic, sets, relations and functions). The topics are presented in a well defined, logical order that build upon each other and are constantly reinforced by worked examples. Emphasis is placed on clear and careful explanations of basic ideas and on building confidence in developing mathematical competence through carefully selected exercises. This book is designed for computer scientists with modest familiarity of mathematics who are looking to understand the more mathematical side of computing and programming concepts.

Minds, Brains, Computers: An Historical Introduction to the Foundations of Cognitive Science


Robert Harnish - 2001
    Minds, Brains, Computers serves as both an historical and interdisciplinary introduction to the foundations of cognitive science.

Linux: Rute User's Tutorial and Exposition


Paul Sheer - 2001
    It presents in-depth coverage of all aspects of system administration: user management, security, networking, Internet services, packages, config files, shell scripting, and more. It also contains detailed cross-references to LPI and RHCE certification topics, making it invaluable for exam preparation.