Understanding Computation: From Simple Machines to Impossible Programs
By Tom Stuart
4.5/5
()
Currently unavailable
Currently unavailable
About this ebook
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 languages
- Discover how programs use dynamic semantics to communicate ideas to machines
- Explore what a computer can do when reduced to its bare essentials
- Learn how universal Turing machines led to today’s general-purpose computers
- Perform complex calculations, using simple languages and cellular automata
- Determine which programming language features are essential for computation
- Examine how halting and self-referencing make some computing problems unsolvable
- Analyze programs by using abstract interpretation and type systems
Tom Stuart
Tom is a computer scientist and programmer, and the founder of Codon, a digital product consultancy in London. He works as a consultant, mentor and trainer, helping companies to improve the quality and clarity of their approach to creating software products, usually on the web. He has lectured on optimizing compilers at the University of Cambridge, co-organizes the Ruby Manor conference, and is a member of the London Ruby User Group.
Related to Understanding Computation
Related ebooks
Parallel Computing Rating: 0 out of 5 stars0 ratingsData Mining with SQL Server 2005 Rating: 0 out of 5 stars0 ratingsA Simple Introduction to Data and Activity Analysis Rating: 0 out of 5 stars0 ratingsVisual Basic .NET and XML: Harness the Power of XML in VB.NET Applications Rating: 0 out of 5 stars0 ratingsC++ Demystified Rating: 3 out of 5 stars3/5Computer-Aided Intelligent Recognition Techniques and Applications Rating: 0 out of 5 stars0 ratingsCalculus DeMYSTiFieD, Second Edition Rating: 3 out of 5 stars3/5Mastering Data Warehouse Design: Relational and Dimensional Techniques Rating: 4 out of 5 stars4/5Learning C with Fractals Rating: 0 out of 5 stars0 ratingsMATLAB Demystified Rating: 5 out of 5 stars5/5Schaum's Outline of Business Statistics, Fourth Edition Rating: 3 out of 5 stars3/5Logic Design for Array-Based Circuits: A Structured Design Methodology Rating: 0 out of 5 stars0 ratingsMechnsm&Mec Dvc Srcbk 5E (PB) Rating: 4 out of 5 stars4/5UML Demystified Rating: 0 out of 5 stars0 ratingsAnnotated C# Standard Rating: 0 out of 5 stars0 ratingsOracle Data Warehouse Tuning for 10g Rating: 5 out of 5 stars5/5Java 2 Micro Edition: Professional Developer's Guide Rating: 4 out of 5 stars4/5Strategic Asset Allocation in Fixed Income Markets: A Matlab Based User's Guide Rating: 0 out of 5 stars0 ratingsForex Shockwave Analysis Rating: 0 out of 5 stars0 ratingsJ2EE Open Source Toolkit: Building an Enterprise Platform with Open Source Tools (Java Open Source Library) Rating: 0 out of 5 stars0 ratingsComputer Programming Languages in Practice: Made Simple Computerbooks Rating: 5 out of 5 stars5/5Microsoft SQL Server 2005: A Beginner''s Guide Rating: 0 out of 5 stars0 ratingsParallel and High Performance Computing Rating: 0 out of 5 stars0 ratingsCar Stereo Cookbook Rating: 0 out of 5 stars0 ratingsService-Oriented Computing: Semantics, Processes, Agents Rating: 3 out of 5 stars3/5Excel VBA Macro Programming Rating: 0 out of 5 stars0 ratingsKernel Methods for Remote Sensing Data Analysis Rating: 5 out of 5 stars5/5Oracle Database 10g RMAN Backup & Recovery Rating: 5 out of 5 stars5/5Programming the Network with Perl Rating: 0 out of 5 stars0 ratingsPractical Neural Network Recipies in C++ Rating: 3 out of 5 stars3/5
Software Development & Engineering For You
Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Hand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5Python For Dummies Rating: 4 out of 5 stars4/5Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5Lua Game Development Cookbook Rating: 0 out of 5 stars0 ratingsSQL For Dummies Rating: 0 out of 5 stars0 ratingsBeginning Programming For Dummies Rating: 4 out of 5 stars4/5The Essential Persona Lifecycle: Your Guide to Building and Using Personas Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsManaging Humans: Biting and Humorous Tales of a Software Engineering Manager Rating: 4 out of 5 stars4/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsPhotoshop For Beginners: Learn Adobe Photoshop cs5 Basics With Tutorials Rating: 0 out of 5 stars0 ratingsDiary of a Software Craftsman Rating: 5 out of 5 stars5/5Agile: What You Need to Know About Agile Project Management, the Kanban Process, Lean Thinking, and Scrum Rating: 5 out of 5 stars5/5Tiny Python Projects: Learn coding and testing with puzzles and games Rating: 5 out of 5 stars5/5The Inmates Are Running the Asylum (Review and Analysis of Cooper's Book) Rating: 4 out of 5 stars4/5How Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Wordpress 2023 A Beginners Guide : Design Your Own Website With WordPress 2023 Rating: 0 out of 5 stars0 ratingsAdobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5Git Essentials Rating: 4 out of 5 stars4/5Android App Development For Dummies Rating: 0 out of 5 stars0 ratingsiPhone Application Development For Dummies Rating: 4 out of 5 stars4/5iOS App Development For Dummies Rating: 0 out of 5 stars0 ratingsPython Clean Code: Best Practices and Techniques for Writing Clear, Concise, and Maintainable Code Rating: 0 out of 5 stars0 ratingsHow Do I Do That in Photoshop?: The Quickest Ways to Do the Things You Want to Do, Right Now! Rating: 4 out of 5 stars4/5
Reviews for Understanding Computation
6 ratings0 reviews