Computer Systems: A Programmer's Perspective


Randal E. Bryant - 2002
    Often, computer science and computer engineering curricula don't provide students with a concentrated and consistent introduction to the fundamental concepts that underlie all computer systems. Traditional computer organization and logic design courses cover some of this material, but they focus largely on hardware design. They provide students with little or no understanding of how important software components operate, how application programs use systems, or how system attributes affect the performance and correctness of application programs. - A more complete view of systems - Takes a broader view of systems than traditional computer organization books, covering aspects of computer design, operating systems, compilers, and networking, provides students with the understanding of how programs run on real systems. - Systems presented from a programmers perspective - Material is presented in such a way that it has clear benefit to application programmers, students learn how to use this knowledge to improve program performance and reliability. They also become more effective in program debugging, because t

Compilers: Principles, Techniques, and Tools


Alfred V. Aho - 1986
    The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.

Beyond Bullet Points: Using Microsoft PowerPoint to Create Presentations that Inform, Motivate, and Inspire


Cliff Atkinson - 2005
    He guides you, step by step, as you discover how to combine the tenets of classic storytelling with the power of the projected media to create a rich, engaging experience. He walks you through his easy-to-use templates, plus 50 advanced tips, to help build your confidence and effectiveness—and quickly bring your ideas to life!FOCUS: Learn how to distill your best ideas into a crisp and compelling narrative.CLARIFY: Use a storyboard to clarify and visualize your ideas, creating the right blend of message and media.ENGAGE:Move from merely reading your slides to creating a rich, connected experience with your audience—and increase your impact!Inside!: See sample storyboards for a variety of presentation types—including investment, sales, educational, and training.

Programming Collective Intelligence: Building Smart Web 2.0 Applications


Toby Segaran - 2002
    With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it.Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:Collaborative filtering techniques that enable online retailers to recommend products or media Methods of clustering to detect groups of similar items in a large dataset Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm Optimization algorithms that search millions of possible solutions to a problem and choose the best one Bayesian filtering, used in spam filters for classifying documents based on word types and other features Using decision trees not only to make predictions, but to model the way decisions are made Predicting numerical values rather than classifications to build price models Support vector machines to match people in online dating sites Non-negative matrix factorization to find the independent features in a dataset Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details."-- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths."-- Tim Wolters, CTO, Collective Intellect

The Little Schemer


Daniel P. Friedman - 1974
    The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about. The Little Schemer introduces computing as an extension of arithmetic and algebra; things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. The Seasoned Schemer informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases. The Little LISPer has been a popular introduction to LISP for many years. It had appeared in French and Japanese. The Little Schemer and The Seasoned Schemer are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science.

Head First Java


Kathy Sierra - 2005
    You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study. The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge. That's how your brain knows.And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.

A Book of Abstract Algebra


Charles C. Pinter - 1982
    Its easy-to-read treatment offers an intuitive approach, featuring informal discussions followed by thematically arranged exercises. Intended for undergraduate courses in abstract algebra, it is suitable for junior- and senior-level math majors and future math teachers. This second edition features additional exercises to improve student familiarity with applications. An introductory chapter traces concepts of abstract algebra from their historical roots. Succeeding chapters avoid the conventional format of definition-theorem-proof-corollary-example; instead, they take the form of a discussion with students, focusing on explanations and offering motivation. Each chapter rests upon a central theme, usually a specific application or use. The author provides elementary background as needed and discusses standard topics in their usual order. He introduces many advanced and peripheral subjects in the plentiful exercises, which are accompanied by ample instruction and commentary and offer a wide range of experiences to students at different levels of ability.

Programming Pearls


Jon L. Bentley - 1986
    Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." - Steve McConnell, author, Code CompleteWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on (1) testing, debugging, and timing; (2) set representations; and (3) string problems. All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, this book is sure to make your own list of favorites.

Publication Manual of the American Psychological Association(r)


American Psychological Association - 1952
    With millions of copies sold, the Publication Manual of the American Psychological Association is the style manual of choice for writers, editors, students, educators, and professionals in psychology, sociology, business, economics, nursing, social work, and justice administration, and other disciplines in which effective communication with words and data is fundamental.In addition to providing clear guidance on grammar, the mechanics of writing, and APA style, the Publication Manual offers an authoritative and easy-to-use reference and citation system and comprehensive coverage of the treatment of numbers, metrication, statistical and mathematical data, tables, and figures for use in writing, reports, or presentations. The new edition has been revised and updated to include: The latest guidelines and examples for referencing electronic and online sources New and revised guidelines for submitting papers electronically Improved guidelines for avoiding plagiarism Simplified formatting guidelines for writers using up-to-date word-processing software All new guidelines for presenting case studies Improved guidelines for the construction of tables Updates on copyright and permissions issues for writers New reference examples for audiovisual media and patents An expanded and improved index for quick and easy access Writers, scholars, and professionals will also find: New guidelines on how to choose text, tables, or figures to present data Guidelines for writing cover letters for submitting articles for publication, plus a sample letter Expanded guidelines on the retention of raw data New advice on establishing written agreements for the use of shared data New information on the responsibilities of co-authors New and experienced readers alike will find the 5th Edition a complete resource for writing, presenting, or publishing with clarity and persuasiveness.Approximately 400 pages

Story: Substance, Structure, Style, and the Principles of Screenwriting


Robert McKee - 1997
    Quincy Jones, Diane Keaton, Gloria Steinem, Julia Roberts, John Cleese and David Bowie are just a few of his celebrity alumni. Writers, producers, development executives and agents all flock to his lecture series, praising it as a mesmerizing and intense learning experience. In Story, McKee expands on the concepts he teaches in his $450 seminars (considered a must by industry insiders), providing readers with the most comprehensive, integrated explanation of the craft of writing for the screen. No one better understands how all the elements of a screenplay fit together, and no one is better qualified to explain the "magic" of story construction and the relationship between structure and character than Robert McKee.

The Feynman Lectures on Physics


Richard P. Feynman - 1964
    A new foreword by Kip Thorne, the current Richard Feynman Professor of Theoretical Physics at Caltech, discusses the relevance of the new edition to today's readers. This boxed set also includes Feynman's new Tips on Physics—the four previously unpublished lectures that Feynman gave to students preparing for exams at the end of his course. Thus, this 4-volume set is the complete and definitive edition of The Feynman Lectures on Physics. Packaged in a specially designed slipcase, this 4-volume set provides the ultimate legacy of Feynman's extraordinary contribution to students, teachers, researches, and lay readers around the world.

The Sense of Style: The Thinking Person's Guide to Writing in the 21st Century


Steven Pinker - 2014
    Rethinking the usage guide for the twenty-first century, Pinker doesn’t carp about the decline of language or recycle pet peeves from the rulebooks of a century ago. Instead, he applies insights from the sciences of language and mind to the challenge of crafting clear, coherent, and stylish prose. In this short, cheerful, and eminently practical book, Pinker shows how writing depends on imagination, empathy, coherence, grammatical knowhow, and an ability to savor and reverse engineer the good prose of others. He replaces dogma about usage with reason and evidence, allowing writers and editors to apply the guidelines judiciously, rather than robotically, being mindful of what they are designed to accomplish. Filled with examples of great and gruesome prose, Pinker shows us how the art of writing can be a form of pleasurable mastery and a fascinating intellectual topic in its own right.

Coders at Work: Reflections on the Craft of Programming


Peter Seibel - 2009
    As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day–to–day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: http://www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 16 folks who’ve been kind enough to agree to be interviewed:- Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow- Joe Armstrong: Inventor of Erlang- Joshua Bloch: Author of the Java collections framework, now at Google- Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger- Douglas Crockford: JSON founder, JavaScript architect at Yahoo!- L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1- Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation - Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal - Dan Ingalls: Smalltalk implementor and designer- Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler- Donald Knuth: Author of The Art of Computer Programming and creator of TeX- Peter Norvig: Director of Research at Google and author of the standard text on AI- Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress- Ken Thompson: Inventor of UNIX- Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hackerWhat you’ll learn:How the best programmers in the world do their jobWho is this book for?Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers.

Orality and Literacy: The Technologizing of the Word


Walter J. Ong - 1982
    Ong offers fascinating insights into oral genres across the globe and through time, and examines the rise of abstract philosophical and scientific thinking. He considers the impact of orality-literacy studies not only on literary criticism and theory but on our very understanding of what it is to be a human being, conscious of self and other.This is a book no reader, writer or speaker should be without.

Beginning Theory: An Introduction to Literary and Cultural Theory


Peter Barry - 1995
    This new and expanded third edition continues to offer students and readers the best one-volume introduction to the field.The bewildering variety of approaches, theorists and technical language is lucidly and expertly unraveled. Unlike many books which assume certain positions about the critics and the theories they represent, Peter Barry allows readers to develop their own ideas once first principles and concepts have been grasped.