An up-to-date, authoritative text for courses in theory of computability and languages. The authors redefine the building blocks of automata theory by offering a single unified model encompassing all traditional types of computing machines and real world electronic computers. This reformulation of computablity and formal language theory provides a framework for building a body of knowledge. A solutions manual and an instructor's software disk are also available.
A Concise Introduction to Languages, Machines and Logic provides an accessible introduction to three key topics within computer science: formal languages, abstract machines and formal logic. Written in an easy-to-read, informal style, this textbook assumes only a basic knowledge of programming on the part of the reader. The approach is deliberately non-mathematical, and features: - Clear explanations of formal notation and jargon, - Extensive use of examples to illustrate algorithms and proofs, - Pictorial representations of key concepts, - Chapter opening overviews providing an introduction and guidance to each topic, - End-of-chapter exercises and solutions, - Offers an intuitive approach to the topics. This reader-friendly textbook has been written with undergraduates in mind and will be suitable for use on course covering formal languages, formal logic, computability and automata theory. It will also make an excellent supplementary text for courses on algorithm complexity and compilers.
The classic guide to how computers work, updated with new chapters and interactive graphics "For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think." - Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating? For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use. This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend. In addition to substantially revised and updated content, new chapters include: Chapter 18: Let's Build a Clock! Chapter 21: The Arithmetic Logic Unit Chapter 22: Registers and Busses Chapter 23: CPU Control Signals Chapter 24: Jumps, Loops, and Calls Chapter 28: The World Brain From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.
Language Machines questions any easily progressive model of technological change, demonstrating the persistence rather than the obsolescence of language technologies over time, the continuous and complicated overlap of pens, presses, screens and voice. In these essays new technologies do not simply replace, but rather draw upon, absorb, displace and resituate earlier technologies.
A well-written and accessible introduction to the most important features of formal languages and automata theory. It focuses on the key concepts, illustrating potentially intimidating material through diagrams and pictorial representations, and this edition includes new and expanded coverage of topics such as: reduction and simplification of material on Turing machines; complexity and O notation; propositional logic and first order predicate logic. Aimed primarily at computer scientists rather than mathematicians, algorithms and proofs are presented informally through examples, and there are numerous exercises (many with solutions) and an extensive glossary.
Visionary designer and technologist John Maeda defines the fundamental laws of how computers think, and why you should care even if you aren't a programmer. "Maeda is to design what Warren Buffett is to finance." --Wired John Maeda is one of the world's preeminent interdisciplinary thinkers on technology and design. In How to Speak Machine, he offers a set of simple laws that govern not only the computers of today, but the unimaginable machines of the future. Technology is already more powerful than we can comprehend, and getting more powerful at an exponential pace. Once set in motion, algorithms never tire. And when a program's size, speed, and tirelessness combine with its ability to learn and transform itself, the outcome can be unpredictable and dangerous. Take the seemingly instant transformation of Microsoft's chatbot Tay into a hate-spewing racist, or how crime-predicting algorithms reinforce racial bias. How to Speak Machine provides a coherent framework for today's product designers, business leaders, and policymakers to grasp this brave new world. Drawing on his wide-ranging experience from engineering to computer science to design, Maeda shows how businesses and individuals can identify opportunities afforded by technology to make world-changing and inclusive products--while avoiding the pitfalls inherent to the medium.