Preview "Understanding Computation" in a new window.

Understanding Computation

Book Description

Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context you’ll recognize, helping you appreciate why these ideas matter and how they can inform your day-to-day programming.

Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or Lisp, this book uses Ruby in a reductionist manner to present formal semantics, automata theory, and functional programming with the lambda calculus. It’s ideal for programmers versed in modern languages, with little or no formal training in computer science.

Understand fundamental computing concepts, such as Turing completeness in languagesDiscover how programs use dynamic semantics to communicate ideas to machinesExplore what a computer can do when reduced to its bare essentialsLearn how universal Turing machines led to today’s general-purpose computersPerform complex calculations, using simple languages and cellular automataDetermine which programming language features are essential for computationExamine how halting and self-referencing make some computing problems unsolvableAnalyze programs by using abstract interpretation and type systems


In The Press


About the Author


Read on Your Favourite Devices

to find out more



Ebook Permissions

to find out more

About this Ebook

File formats
This ebook is available in:
The publisher has not yet supplied format information.
Pre-order formats shown are based on publisher intent and may change before release.
File sizes shown are an approximation. The actual download size will vary based on the application you use to read the book.
Publisher
Published
; Copyright:
ISBNs
Title
Series
Author
;
Edition
Imprint
Language
Number of Pages
Page count shown is an approximation provided by the publisher. The actual page count will vary based on various factors such as your device's screen size and font-size.