The Art of Computer Programming


Book Description

Donald Knuth is Professor Emeritus of the Art of Computer Programming at Stanford University, and is well-known worldwide as the creator of the Tex typesetting language. Here he presents the third volume of his guide to computer programming.




An Introduction to the Analysis of Algorithms


Book Description

Despite growing interest, basic information on methods and models for mathematically analyzing algorithms has rarely been directly accessible to practitioners, researchers, or students. An Introduction to the Analysis of Algorithms, Second Edition, organizes and presents that knowledge, fully introducing primary techniques and results in the field. Robert Sedgewick and the late Philippe Flajolet have drawn from both classical mathematics and computer science, integrating discrete mathematics, elementary real analysis, combinatorics, algorithms, and data structures. They emphasize the mathematics needed to support scientific studies that can serve as the basis for predicting algorithm performance and for comparing different algorithms on the basis of performance. Techniques covered in the first half of the book include recurrences, generating functions, asymptotics, and analytic combinatorics. Structures studied in the second half of the book include permutations, trees, strings, tries, and mappings. Numerous examples are included throughout to illustrate applications to the analysis of algorithms that are playing a critical role in the evolution of our modern computational infrastructure. Improvements and additions in this new edition include Upgraded figures and code An all-new chapter introducing analytic combinatorics Simplified derivations via analytic combinatorics throughout The book’s thorough, self-contained coverage will help readers appreciate the field’s challenges, prepare them for advanced results—covered in their monograph Analytic Combinatorics and in Donald Knuth’s The Art of Computer Programming books—and provide the background they need to keep abreast of new research. "[Sedgewick and Flajolet] are not only worldwide leaders of the field, they also are masters of exposition. I am sure that every serious computer scientist will find this book rewarding in many ways." —From the Foreword by Donald E. Knuth




The Software Arts


Book Description

An alternative history of software that places the liberal arts at the very center of software's evolution. In The Software Arts, Warren Sack offers an alternative history of computing that places the arts at the very center of software's evolution. Tracing the origins of software to eighteenth-century French encyclopedists' step-by-step descriptions of how things were made in the workshops of artists and artisans, Sack shows that programming languages are the offspring of an effort to describe the mechanical arts in the language of the liberal arts. Sack offers a reading of the texts of computing—code, algorithms, and technical papers—that emphasizes continuity between prose and programs. He translates concepts and categories from the liberal and mechanical arts—including logic, rhetoric, grammar, learning, algorithm, language, and simulation—into terms of computer science and then considers their further translation into popular culture, where they circulate as forms of digital life. He considers, among other topics, the “arithmetization” of knowledge that presaged digitization; today's multitude of logics; the history of demonstration, from deduction to newer forms of persuasion; and the post-Chomsky absence of meaning in grammar. With The Software Arts, Sack invites artists and humanists to see how their ideas are at the root of software and invites computer scientists to envision themselves as artists and humanists.




Computer Security


Book Description

The Comprehensive Guide to Computer Security, Extensively Revised with Newer Technologies, Methods, Ideas, and Examples In this updated guide, University of California at Davis Computer Security Laboratory co-director Matt Bishop offers clear, rigorous, and thorough coverage of modern computer security. Reflecting dramatic growth in the quantity, complexity, and consequences of security incidents, Computer Security, Second Edition, links core principles with technologies, methodologies, and ideas that have emerged since the first edition’s publication. Writing for advanced undergraduates, graduate students, and IT professionals, Bishop covers foundational issues, policies, cryptography, systems design, assurance, and much more. He thoroughly addresses malware, vulnerability analysis, auditing, intrusion detection, and best-practice responses to attacks. In addition to new examples throughout, Bishop presents entirely new chapters on availability policy models and attack analysis. Understand computer security goals, problems, and challenges, and the deep links between theory and practice Learn how computer scientists seek to prove whether systems are secure Define security policies for confidentiality, integrity, availability, and more Analyze policies to reflect core questions of trust, and use them to constrain operations and change Implement cryptography as one component of a wider computer and network security strategy Use system-oriented techniques to establish effective security mechanisms, defining who can act and what they can do Set appropriate security goals for a system or product, and ascertain how well it meets them Recognize program flaws and malicious logic, and detect attackers seeking to exploit them This is both a comprehensive text, explaining the most fundamental and pervasive aspects of the field, and a detailed reference. It will help you align security concepts with realistic policies, successfully implement your policies, and thoughtfully manage the trade-offs that inevitably arise. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.




MASTERING DATA MINING: THE ART AND SCIENCE OF CUSTOMER RELATIONSHIP MANAGEMENT


Book Description

Special Features: · Best-in-class data mining techniques for solving critical problems in all areas of business· Explains how to pick the right data mining techniques for specific problems· Shows how to perform analysis and evaluate results· Features real-world examples from across various industry sectors· Companion Web site with updates on data mining products and service providers About The Book: Companies have invested in building data warehouses to capture vast amounts of customer information. The payoff comes with mining or getting access to the data within this information gold mine to make better business decisions. Readers and reviewers loved Berry and Linoff's first book, Data Mining Techniques, because the authors so clearly illustrate practical techniques with real benefits for improved marketing and sales. Mastering Data Mining takes off from there-assuming readers know the basic techniques covered in the first book, the authors focus on how to best apply these techniques to real business cases. They start with simple applications and work up to the most powerful and sophisticated examples over the course of about 20 cases. (Ralph Kimball used this same approach in his highly successful Data Warehouse Toolkit). As with their first book, Mastering Data Mining is sufficiently technical for database analysts, but is accessible to technically savvy business and marketing managers. It should also appeal to a new breed of database marketing managers.




Hackers & Painters


Book Description

The author examines issues such as the rightness of web-based applications, the programming language renaissance, spam filtering, the Open Source Movement, Internet startups and more. He also tells important stories about the kinds of people behind technical innovations, revealing their character and their craft.




The Garbage Collection Handbook


Book Description

Universally acclaimed as the book on garbage collection. A complete and up-to-date revision of the 2012 Garbage Collection Handbook. Thorough coverage of parallel, concurrent and real-time garbage collection algortithms including C4, Garbage First, LXR, Shenandoah, Transactional Sapphire and ZGC, and garbage collection on the GPU. Clear explanation of the trickier aspects of garbage collection, including the interface to the run-time system, handling of finalisation and weak references, and support for dynamic languages. New chapters on energy aware garbage collection, and persistence and garbage collection. The e-book includes more than 40,000 hyperlinks to algorithms, figures, glossary entries, indexed items, original research papers and much more. Backed by a comprehensive online database of over 3,400 garbage collection-related publications




Mastering IT Project Management


Book Description

In previous years, setting up IT infrastructure involved just the preparation of the data center. It has become much more complex and evolved today. The infrastructure includes not only the data center facility, but also the entire organization by providing internet connectivity to customers, vendors, and company executives on the move. Mastering IT Project Management is the first book to detail how to create IT infrastructure rather than simply describe how to manage the IT function or software development. This unique and comprehensive reference covers all aspects needed to successfully manage this type of project in an organization. J. Ross Publishing offers an add-on at a nominal cost — Downloadable, customizable tools and templates ready for immediate implementation.




Algorithmic Puzzles


Book Description

Algorithmic puzzles are puzzles involving well-defined procedures for solving problems. This book will provide an enjoyable and accessible introduction to algorithmic puzzles that will develop the reader's algorithmic thinking. The first part of this book is a tutorial on algorithm design strategies and analysis techniques. Algorithm design strategies — exhaustive search, backtracking, divide-and-conquer and a few others — are general approaches to designing step-by-step instructions for solving problems. Analysis techniques are methods for investigating such procedures to answer questions about the ultimate result of the procedure or how many steps are executed before the procedure stops. The discussion is an elementary level, with puzzle examples, and requires neither programming nor mathematics beyond a secondary school level. Thus, the tutorial provides a gentle and entertaining introduction to main ideas in high-level algorithmic problem solving. The second and main part of the book contains 150 puzzles, from centuries-old classics to newcomers often asked during job interviews at computing, engineering, and financial companies. The puzzles are divided into three groups by their difficulty levels. The first fifty puzzles in the Easier Puzzles section require only middle school mathematics. The sixty puzzle of average difficulty and forty harder puzzles require just high school mathematics plus a few topics such as binary numbers and simple recurrences, which are reviewed in the tutorial. All the puzzles are provided with hints, detailed solutions, and brief comments. The comments deal with the puzzle origins and design or analysis techniques used in the solution. The book should be of interest to puzzle lovers, students and teachers of algorithm courses, and persons expecting to be given puzzles during job interviews.




The Art of Software Testing


Book Description

This long-awaited revision of a bestseller provides a practical discussion of the nature and aims of software testing. You'll find the latest methodologies for the design of effective test cases, including information on psychological and economic principles, managerial aspects, test tools, high-order testing, code inspections, and debugging. Accessible, comprehensive, and always practical, this edition provides the key information you need to test successfully, whether a novice or a working programmer. Buy your copy today and end up with fewer bugs tomorrow.