Arbib proposes a theory of mental schemas to explain how the individual brain represents the world around it. He builds on Piaget's studies of how children learn and on his own work in brain theory and artificial intelligence to show how the concept of schemas an be used to link cognitive science to the study of persons in society. He then employs this "schema theory" as a way of looking at various constructions of reality, including those of Chomsky, Freud, Marx, and Habermas. In the final chapter, he addresses the question of human freedom and suggests a means of avoiding the apparent limitations of mechanistic explanations for human mental processes.
Comprised of nine chapters, this book begins with an assessment of the interaction between computer developments and social pressures. The interplay between the exciting possibilities of computer networking and the social implications of computer technology is highlighted by focusing on planning networks and public information networks. The next two chapters provide a basic understanding of computers and programming by describing key concepts such as computer graphics, networks, microcomputers, and program design. The next five chapters give a comprehensive overview of the impact of computers on the cybernetic society. The final chapter explains how hardware works and describes the circuitry that computers use to execute a program at the level of machine-language instructions.
This monograph is intended for both students and instructors in the fields of computer science and cybernetics.
The present volume does not decide the matter but it does advance our understanding. The lack of any direct archaeological record of protolanguage might seem to raise insuperable difficulties. However, this volume exhibits the diversity of methodologies that can be brought to bear in developing datasets that can be used to advance the debate.
These articles were originally published as Interaction Studies 9:1 (2008).
Jeff Hawkins, the man who created the PalmPilot, Treo smart phone, and other handheld devices, has reshaped our relationship to computers. Now he stands ready to revolutionize both neuroscience and computing in one stroke, with a new understanding of intelligence itself.
Hawkins develops a powerful theory of how the human brain works, explaining why computers are not intelligent and how, based on this new theory, we can finally build intelligent machines.
The brain is not a computer, but a memory system that stores experiences in a way that reflects the true structure of the world, remembering sequences of events and their nested relationships and making predictions based on those memories. It is this memory-prediction system that forms the basis of intelligence, perception, creativity, and even consciousness.
In an engaging style that will captivate audiences from the merely curious to the professional scientist, Hawkins shows how a clear understanding of how the brain works will make it possible for us to build intelligent machines, in silicon, that will exceed our human ability in surprising ways.
Written with acclaimed science writer Sandra Blakeslee, On Intelligence promises to completely transfigure the possibilities of the technology age. It is a landmark book in its scope and clarity.
Artificial Intelligence helps choose what books you buy, what movies you see, and even who you date. It puts the "smart" in your smartphone and soon it will drive your car. It makes most of the trades on Wall Street, and controls vital energy, water, and transportation infrastructure. But Artificial Intelligence can also threaten our existence.
In as little as a decade, AI could match and then surpass human intelligence. Corporations and government agencies are pouring billions into achieving AI's Holy Grail—human-level intelligence. Once AI has attained it, scientists argue, it will have survival drives much like our own. We may be forced to compete with a rival more cunning, more powerful, and more alien than we can imagine.
Through profiles of tech visionaries, industry watchdogs, and groundbreaking AI systems, Our Final Invention explores the perils of the heedless pursuit of advanced AI. Until now, human intelligence has had no rival. Can we coexist with beings whose intelligence dwarfs our own? And will they allow us to?
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 mediaMethods of clustering to detect groups of similar items in a large datasetSearch engine features -- crawlers, indexers, query engines, and the PageRank algorithmOptimization algorithms that search millions of possible solutions to a problem and choose the best oneBayesian filtering, used in spam filters for classifying documents based on word types and other featuresUsing decision trees not only to make predictions, but to model the way decisions are madePredicting numerical values rather than classifications to build price modelsSupport vector machines to match people in online dating sitesNon-negative matrix factorization to find the independent features in a datasetEvolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a gameEach 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
Logically Fallacious is one of the most comprehensive collections of logical fallacies with all original examples and easy to understand descriptions, perfect for educators, debaters, or anyone who wants to improve his or her reasoning skills.
"Expose an irrational belief, keep a person rational for a day. Expose irrational thinking, keep a person rational for a lifetime." - Bo Bennett
Two of the authors co-wrote The Elements of Statistical Learning (Hastie, Tibshirani and Friedman, 2nd edition 2009), a popular reference book for statistics and machine learning researchers. An Introduction to Statistical Learning covers many of the same topics, but at a level accessible to a much broader audience. This book is targeted at statisticians and non-statisticians alike who wish to use cutting-edge statistical learning techniques to analyze their data. The text assumes only a previous course in linear regression and no knowledge of matrix algebra.
This highly versatile text provides mathematical background used in a wide variety of disciplines, including mathematics and mathematics education, computer science, biology, chemistry, engineering, communications, and business.
Some of the major features and strengths of this textbook
More than 1,600 exercises, ranging from elementary to challenging, are included with hints/answers to all odd-numbered exercises.
Descriptions of proof techniques are accessible and lively.
Students benefit from the historical discussions throughout the textbook.
The book begins with a summary of the nontechnical aspects of interviewing, such as common mistakes, strategies for a great interview, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI.
The technical core of EPI is a sequence of chapters on basic and advanced data structures, searching, sorting, broad algorithmic principles, concurrency, and system design. Each chapter consists of a brief review, followed by a broad and thought-provoking series of problems. We include a summary of data structure, algorithm, and problem solving patterns.
You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
The present volume reprints the first English translation of Giidel's far-reaching work. Not only does it make the argument more intelligible, but the introduction contributed by Professor R. B. Braithwaite (Cambridge University}, an excellent work of scholarship in its own right, illuminates it by paraphrasing the major part of the argument.
This Dover edition thus makes widely available a superb edition of a classic work of original thought, one that will be of profound interest to mathematicians, logicians and anyone interested in the history of attempts to establish axioms that would provide a rigorous basis for all mathematics. Translated by B. Meltzer, University of Edinburgh. Preface. Introduction by R. B. Braithwaite.
“The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.”—Kent Beck, author of Extreme Programming Explained: Embrace Change
“I found this book to be a great mix of solid advice and wonderful analogies!”—Martin Fowler, author of Refactoring and UML Distilled
“I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.”—Kevin Ruland, Management Science, MSG-Logistics
“The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.”—John Lakos, author of Large-Scale C++ Software Design
“This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.”—Eric Vought, Software Engineer
“Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.”—Pete McBreen, Independent Consultant
“Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.”—Jared Richardson, Senior Software Developer, iRenaissance, Inc.
“I would like to see this issued to every new employee at my company....”—Chris Cleeland, Senior Software Engineer, Object Computing, Inc.
“If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.”—Ward Cunningham
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation.
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
Topics include:The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".
-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
The antidote to fuzzy thinking, with furry animals!
Have you read (or stumbled into) one too many irrational online debates? Ali Almossawi certainly had, so he wrote An Illustrated Book of Bad Arguments! This handy guide is here to bring the internet age a much-needed dose of old-school logic (really old-school, a la Aristotle).
Here are cogent explanations of the straw man fallacy, the slippery slope argument, the ad hominem attack, and other common attempts at reasoning that actually fall short—plus a beautifully drawn menagerie of animals who (adorably) commit every logical faux pas. Rabbit thinks a strange light in the sky must be a UFO because no one can prove otherwise (the appeal to ignorance). And Lion doesn’t believe that gas emissions harm the planet because, if that were true, he wouldn’t like the result (the argument from consequences).
Once you learn to recognize these abuses of reason, they start to crop up everywhere from congressional debate to YouTube comments—which makes this geek-chic book a must for anyone in the habit of holding opinions.
But how does one exactly do data science? Do you have to hire one of these priests of the dark arts, the "data scientist," to extract this gold from your data? Nope.
Data science is little more than using straight-forward steps to process raw data into actionable insight. And in Data Smart, author and data scientist John Foreman will show you how that's done within the familiar environment of a spreadsheet.
Why a spreadsheet? It's comfortable! You get to look at the data every step of the way, building confidence as you learn the tricks of the trade. Plus, spreadsheets are a vendor-neutral place to learn data science without the hype.
But don't let the Excel sheets fool you. This is a book for those serious about learning the analytic techniques, the math and the magic, behind big data.
Each chapter will cover a different technique in a spreadsheet so you can follow along:Mathematical optimization, including non-linear programming and genetic algorithms Clustering via k-means, spherical k-means, and graph modularity Data mining in graphs, such as outlier detection Supervised AI through logistic regression, ensemble models, and bag-of-words models Forecasting, seasonal adjustments, and prediction intervals through monte carlo simulation Moving from spreadsheets into the R programming language
You get your hands dirty as you work alongside John through each technique. But never fear, the topics are readily applicable and the author laces humor throughout. You'll even learn what a dead squirrel has to do with optimization modeling, which you no doubt are dying to know.
In science fiction, artificial intelligence takes the shape of computers that can speak like people, think for themselves, and sometimes act against us. Sometimes the machines seem to know everything, and symbolize implacable and unknowable power, as in The Matrix. Such machines can also embody the limits of logic, and by extension our own powers of reason. In Arthur C. Clarke's 2001: A Space Odyssey, HAL was a computer of vast capability driven insane by the demands of his programming – to honestly and completely report information – when those instructions conflicted with orders to keep state secrets. Star Trek has given us the android, Lieutenant Commander Data, who strives to be more human. None of these visions came true in quite the way science fiction writers imagined, even though in many ways computers surpass their fictional counterparts. This eBook reviews work in the field and covers topics from chess-playing to quantum computing. The writers tackle how to make computers more powerful, how we define consciousness, what the hard problems are and even how computers might be built once the limits of silicon chips have been reached. Artificial intelligence also raises some thorny ethical questions, such as whether morality can be programmed. These are kinds of issues that make artificial intelligence and computing fascinating. Building an intelligent machine brings together the human desire to create and the question of what makes us what we are. If anyone ever builds a true thinking machine, that last question becomes much more complicated, not less. Data and HAL would probably agree.
Yukihiro "Matz" Matsumoto, creator, designer and lead developer of Ruby and author of Ruby in a Nutshell, which has been expanded and revised to become this book.
why the lucky stiff, artist and Ruby programmer extraordinaire.This book begins with a quick-start tutorial to the language, and then explains the language in detail from the bottom up: from lexical and syntactic structure to datatypes to expressions and statements and on through methods, blocks, lambdas, closures, classes and modules.
The book also includes a long and thorough introduction to the rich API of the Ruby platform, demonstrating -- with heavily-commented example code -- Ruby's facilities for text processing, numeric manipulation, collections, input/output, networking, and concurrency. An entire chapter is devoted to Ruby's metaprogramming capabilities.
The Ruby Programming Language documents the Ruby language definitively but without the formality of a language specification. It is written for experienced programmers who are new to Ruby, and for current Ruby programmers who want to challenge their understanding and increase their mastery of the language.
Contents include: Sets and Relations — Cantor's concept of a set, etc.
Natural Number Sequence — Zorn's Lemma, etc.
Extension of Natural Numbers to Real Numbers
Logic — the Statement and Predicate Calculus, etc.
Informal Axiomatic Mathematics
Boolean AlgebraInformal Axiomatic Set TheorySeveral Algebraic Theories — Rings, Integral Domains, Fields, etc.
First-Order Theories — Metamathematics, etc.
Symbolic logic does not figure significantly until the final chapter. The main theme of the book is mathematics as a system seen through the elaboration of real numbers; set theory and logic are seen s efficient tools in constructing axioms necessary to the system.
Mathematics students at the undergraduate level, and those who seek a rigorous but not unnecessarily technical introduction to mathematical concepts, will welcome the return to print of this most lucid work.
"Professor Stoll . . . has given us one of the best introductory texts we have seen." — Cosmos.
"In the reviewer's opinion, this is an excellent book, and in addition to its use as a textbook (it contains a wealth of exercises and examples) can be recommended to all who wish an introduction to mathematical logic less technical than standard treatises (to which it can also serve as preliminary reading)." — Mathematical Reviews.
This major new edition features many topics not covered in the original, including graphical models, random forests, ensemble methods, least angle regression & path algorithms for the lasso, non-negative matrix factorization, and spectral clustering. There is also a chapter on methods for ``wide'' data (p bigger than n), including multiple testing and false discovery rates.
Trevor Hastie, Robert Tibshirani, and Jerome Friedman are professors of statistics at Stanford University. They are prominent researchers in this area: Hastie and Tibshirani developed generalized additive models and wrote a popular book of that title. Hastie co-developed much of the statistical modeling software and environment in R/S-PLUS and invented principal curves and surfaces. Tibshirani proposed the lasso and is co-author of the very successful An Introduction to the Bootstrap. Friedman is the co-inventor of many data-mining tools including CART, MARS, projection pursuit and gradient boosting.
Implementations, as well as interesting, real-world examples of each data structure and algorithm, are included.
Using both a programming style and a writing style that are exceptionally clean, Kyle Loudon shows you how to use such essential data structures as lists, stacks, queues, sets, trees, heaps, priority queues, and graphs. He explains how to use algorithms for sorting, searching, numerical analysis, data compression, data encryption, common graph problems, and computational geometry. And he describes the relative efficiency of all implementations. The compression and encryption chapters not only give you working code for reasonably efficient solutions, they offer explanations of concepts in an approachable manner for people who never have had the time or expertise to study them in depth.
Anyone with a basic understanding of the C language can use this book. In order to provide maintainable and extendible code, an extra level of abstraction (such as pointers to functions) is used in examples where appropriate. Understanding that these techniques may be unfamiliar to some programmers, Loudon explains them clearly in the introductory chapters.
Contents include:PointersRecursionAnalysis of algorithmsData structures (lists, stacks, queues, sets, hash tables, trees, heaps, priority queues, graphs)Sorting and searchingNumerical methodsData compressionData encryptionGraph algorithmsGeometric algorithms
The second part supplements the previously discussed material and introduces some of the newer ideas and the more profound results of twentieth-century logical research. Subsequent chapters explore the study of formal number theory, with surveys of the famous incompleteness and undecidability results of Godel, Church, Turing, and others. The emphasis in the final chapter reverts to logic, with examinations of Godel's completeness theorem, Gentzen's theorem, Skolem's paradox and nonstandard models of arithmetic, and other theorems. The author, Stephen Cole Kleene, was Cyrus C. MacDuffee Professor of Mathematics at the University of Wisconsin, Madison. Preface. Bibliography. Theorem and Lemma Numbers: Pages. List of Postulates. Symbols and Notations. Index.
A Practical Guide to the Most Popular Agile Process
The Single-Source, Comprehensive Guide to Scrum for All Team Members, Managers, and Executives
If you want to use Scrum to develop innovative products and services that delight your customers, Essential Scrum is the complete, single-source reference you’ve been searching for. Leading Scrum coach and trainer Kenny Rubin illuminates the values, principles, and practices of Scrum, and describes flexible, proven approaches that can help you implement it far more effectively.
Whether you are new to Scrum or years into your use, this book will introduce, clarify, and deepen your Scrum knowledge at the team, product, and portfolio levels. Drawing from Rubin’s experience helping hundreds of organizations succeed with Scrum, this book provides easy-to-digest descriptions enhanced by more than two hundred illustrations based on an entirely new visual icon language for describing Scrum’s roles, artifacts, and activities.
Essential Scrum will provide every team member, manager, and executive with a common understanding of Scrum, a shared vocabulary they can use in applying it, and practical knowledge for deriving maximum value from it.
The fast-growing popularity of Android smartphones and tablets creates a huge opportunities for developers. If you're an experienced developer, you can start creating robust mobile Android apps right away with this professional guide to Android 4 application development. Written by one of Google's lead Android developer advocates, this practical book walks you through a series of hands-on projects that illustrate the features of the Android SDK. That includes all the new APIs introduced in Android 3 and 4, including building for tablets, using the Action Bar, Wi-Fi Direct, NFC Beam, and more.Shows experienced developers how to create mobile applications for Android smartphones and tablets Revised and expanded to cover all the Android SDK releases including Android 4.0 (Ice Cream Sandwich), including all updated APIs, and the latest changes to the Android platform. Explains new and enhanced features such as drag and drop, fragments, the action bar, enhanced multitouch support, new environmental sensor support, major improvements to the animation framework, and a range of new communications techniques including NFC and Wi-Fi direct. Provides practical guidance on publishing and marketing your applications, best practices for user experience, and more
This book helps you learn to master the design, lifecycle, and UI of an Android app through practical exercises, which you can then use as a basis for developing your own Android apps.
Beginning with a survey of set theory and its role in mathematics, the text proceeds to definitions and examples of categories and explains the use of arrows in place of set-membership. The introduction to topos structure covers topos logic, algebra of subobjects, and intuitionism and its logic, advancing to the concept of functors, set concepts and validity, and elementary truth. Explorations of categorial set theory, local truth, and adjointness and quantifiers conclude with a study of logical geometry.