Introduction to Computation and Programming Using Python

With Application to Understanding Data

Author: John V. Guttag

Publisher: MIT Press

ISBN: 0262529629

Category: Computers

Page: 472

View: 9068

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization.

Introduction to Computation and Programming Using Python

With Application to Understanding Data

Author: John V. Guttag

Publisher: MIT Press

ISBN: 0262337398

Category: Computers

Page: 472

View: 9863

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters.Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.

Introduction to Computation and Programming Using Python

Author: John Guttag

Publisher: MIT Press

ISBN: 0262525003

Category: Computers

Page: 298

View: 3757

An introductory text that teaches students the art of computational problem solving, covering topics that range from simple algorithms to information visualization.

Python Programming

An Introduction to Computer Science

Author: John M. Zelle

Publisher: Franklin, Beedle & Associates, Inc.

ISBN: 1887902996

Category: Computers

Page: 517

View: 6202

This book is suitable for use in a university-level first course in computing (CS1), as well as the increasingly popular course known as CS0. It is difficult for many students to master basic concepts in computer science and programming. A large portion of the confusion can be blamed on the complexity of the tools and materials that are traditionally used to teach CS1 and CS2. This textbook was written with a single overarching goal: to present the core concepts of computer science as simply as possible without being simplistic.

Program Development in Java

Abstraction, Specification, and Object-Oriented Design

Author: Barbara Liskov,John Guttag

Publisher: Pearson Education

ISBN: 076868496X

Category: Computers

Page: 464

View: 3848

Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performance Techniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.

Introduction to Programming in Python

An Interdisciplinary Approach

Author: Robert Sedgewick,Kevin Wayne,Robert Dondero

Publisher: Addison-Wesley Professional

ISBN: 0134076524

Category: Computers

Page: 792

View: 8263

Today, anyone in a scientific or technical discipline needs programming skills. Python is an ideal first programming language, and Introduction to Programming in Python is the best guide to learning it. Princeton University’s Robert Sedgewick, Kevin Wayne, and Robert Dondero have crafted an accessible, interdisciplinary introduction to programming in Python that emphasizes important and engaging applications, not toy problems. The authors supply the tools needed for students to learn that programming is a natural, satisfying, and creative experience. This example-driven guide focuses on Python’s most useful features and brings programming to life for every student in the sciences, engineering, and computer science. Coverage includes Basic elements of programming: variables, assignment statements, built-in data types, conditionals, loops, arrays, and I/O, including graphics and sound Functions, modules, and libraries: organizing programs into components that can be independently debugged, maintained, and reused Object-oriented programming and data abstraction: objects, modularity, encapsulation, and more Algorithms and data structures: sort/search algorithms, stacks, queues, and symbol tables Examples from applied math, physics, chemistry, biology, and computer science—all compatible with Python 2 and 3 Drawing on their extensive classroom experience, the authors provide Q&As, exercises, and opportunities for creative practice throughout. An extensive amount of supplementary information is available at With source code, I/O libraries, solutions to selected exercises, and much more, this companion website empowers people to use their own computers to teach and learn the material.

Practical Programming

An Introduction to Computer Science Using Python 3.6

Author: Paul Gries,Jennifer Campbell,Jason Montojo

Publisher: Pragmatic Bookshelf

ISBN: 1680504126

Category: Computers

Page: 412

View: 7631

Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6.

Computer Simulation

A Foundational Approach Using Python

Author: Yahya Esmail Osais

Publisher: CRC Press

ISBN: 1498726836

Category: Computers

Page: 275

View: 5591

Computer simulation is an effective and popular universal tool that can be applied to almost all disciplines. Requiring only basic knowledge of programming, mathematics, and probability theory, Computer Simulation: A Foundational Approach Using Python takes a hands-on approach to programming to introduce the fundamentals of computer simulation. Typically, simulation involves two key steps: modeling and implementation. In this book, these processes are divided to minimize confusion and help introductory students grasp the transition to stochastic simulation. Modeling is covered in the first half of each chapter and is presented with event graphs and design of experiments. Then, as a tool of choice for scientists and engineers, Python programs are used throughout the book to help students implement their knowledge. The chapters are aided by a heavy use of Illustrations, and many examples are provided to re-enforce the concepts presented. The book also features a full chapter of case studies, as well as real working code, encouraging students to compare results obtained from simulation with those obtained using analytical methods. Additionally, most of the necessary mathematics is abstracted by procedures that show how the mathematical techniques can be implemented in the real world. This helps make the shift from models to programs straightforward. Some other features of this book are: Simulation programs are divided into two distinct components: simulator and model. Both simulation without an event list and with an event list are covered. The single-queue single-server queuing system is used as a running example throughout the book A complete chapter on the Monte Carlo method and variance-reduction techniques are included. The main target of the book is computer science and engineering students who are interested mainly in directly applying the techniques to their research problems. The book will be of great interest to senior undergraduate and starting graduate students in the fields of computer science and engineering and industrial engineering.

Introduction to Python for Engineers and Scientists

Open Source Solutions for Numerical Computation

Author: Sandeep Nagar

Publisher: Apress

ISBN: 1484232046

Category: Computers

Page: 254

View: 669

Familiarize yourself with the basics of Python for engineering and scientific computations using this concise, practical tutorial that is focused on writing code to learn concepts. Introduction to Python is useful for industry engineers, researchers, and students who are looking for open-source solutions for numerical computation. In this book you will learn by doing, avoiding technical jargon, which makes the concepts easy to learn. First you’ll see how to run basic calculations, absorbing technical complexities incrementally as you progress toward advanced topics. Throughout, the language is kept simple to ensure that readers at all levels can grasp the concepts. What You'll Learn Understand the fundamentals of the Python programming language Apply Python to numerical computational programming projects in engineering and science Discover the Pythonic way of life Apply data types, operators, and arrays Carry out plotting for visualization Work with functions and loops Who This Book Is For Engineers, scientists, researchers, and students who are new to Python. Some prior programming experience would be helpful but not required.

An Introduction to Programming Using Python

Author: David I. Schneider

Publisher: Prentice Hall

ISBN: 9780134058221

Category: Computers

Page: 432

View: 5780

&>NOTE: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If you would like to purchase both the physical text and MyProgrammingLab search for ISBN-10: 0134089456/ISBN-13: 9780134089454. That package includes ISBN-10: 0134058437/ISBN-13: 9780134058436 and ISBN-10: 0134058224/ISBN-13: 9780134058221. For college-level Computer Science courses in Python Basic Programming and Problem Solving in Python As one of the most widely used programming languages in the software industry, Python is desirable to both learn and teach. Introduction to Programming Using Python is designed for students eager to learn about the world of programming. Applicable to a range of skill levels, this First Edition textbook provides students with the tools to harness the powerful syntax of Python and understand how to develop computer programs. The compactly written text leverages highly focused chapters, diving deep into the most significant topics to give students an in-depth (rather than superficial) understanding of the language. Using real-world examples and data, the author illustrates practical usage of Python in a way to which students can relate. The text itself is readable, organized, and informative, discussing main points of each topic first and then addressing the peripheral details. Students learn good programming habits the first time-bringing them in line with the best modern programming practices.

Programming for Computations - Python

A Gentle Introduction to Numerical Simulations with Python

Author: Svein Linge,Hans Petter Langtangen

Publisher: Springer

ISBN: 3319324284

Category: Computers

Page: 232

View: 3036

This book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification.

A Student's Guide to Python for Physical Modeling

Author: Jesse M. Kinder,Philip Nelson

Publisher: Princeton University Press

ISBN: 1400889421

Category: Computers

Page: 168

View: 2247

A fully updated tutorial on the basics of the Python programming language for science students Python is a computer programming language that is rapidly gaining popularity throughout the sciences. This fully updated edition of A Student's Guide to Python for Physical Modeling aims to help you, the student, teach yourself enough of the Python programming language to get started with physical modeling. You will learn how to install an open-source Python programming environment and use it to accomplish many common scientific computing tasks: importing, exporting, and visualizing data; numerical analysis; and simulation. No prior programming experience is assumed. This tutorial focuses on fundamentals and introduces a wide range of useful techniques, including: Basic Python programming and scripting Numerical arrays Two- and three-dimensional graphics Monte Carlo simulations Numerical methods, including solving ordinary differential equations Image processing Animation Numerous code samples and exercises--with solutions—illustrate new ideas as they are introduced. Web-based resources also accompany this guide and include code samples, data sets, and more. This current edition brings the discussion of the Python language, Spyder development environment, and Anaconda distribution up to date. In addition, a new appendix introduces Jupyter notebooks.

Bayesian Methods for Hackers

Probabilistic Programming and Bayesian Inference

Author: Cameron Davidson-Pilon

Publisher: Addison-Wesley Professional

ISBN: 0133902927

Category: Computers

Page: 256

View: 2418

Master Bayesian Inference through Practical Examples and Computation–Without Advanced Mathematical Analysis Bayesian methods of inference are deeply natural and extremely powerful. However, most discussions of Bayesian inference rely on intensely complex mathematical analyses and artificial examples, making it inaccessible to anyone without a strong mathematical background. Now, though, Cameron Davidson-Pilon introduces Bayesian inference from a computational perspective, bridging theory to practice–freeing you to get results using computing power. Bayesian Methods for Hackers illuminates Bayesian inference through probabilistic programming with the powerful PyMC language and the closely related Python tools NumPy, SciPy, and Matplotlib. Using this approach, you can reach effective solutions in small increments, without extensive mathematical intervention. Davidson-Pilon begins by introducing the concepts underlying Bayesian inference, comparing it with other techniques and guiding you through building and training your first Bayesian model. Next, he introduces PyMC through a series of detailed examples and intuitive explanations that have been refined after extensive user feedback. You’ll learn how to use the Markov Chain Monte Carlo algorithm, choose appropriate sample sizes and priors, work with loss functions, and apply Bayesian inference in domains ranging from finance to marketing. Once you’ve mastered these techniques, you’ll constantly turn to this guide for the working PyMC code you need to jumpstart future projects. Coverage includes • Learning the Bayesian “state of mind” and its practical implications • Understanding how computers perform Bayesian inference • Using the PyMC Python library to program Bayesian analyses • Building and debugging models with PyMC • Testing your model’s “goodness of fit” • Opening the “black box” of the Markov Chain Monte Carlo algorithm to see how and why it works • Leveraging the power of the “Law of Large Numbers” • Mastering key concepts, such as clustering, convergence, autocorrelation, and thinning • Using loss functions to measure an estimate’s weaknesses based on your goals and desired outcomes • Selecting appropriate priors and understanding how their influence changes with dataset size • Overcoming the “exploration versus exploitation” dilemma: deciding when “pretty good” is good enough • Using Bayesian inference to improve A/B testing • Solving data science problems when only small amounts of data are available Cameron Davidson-Pilon has worked in many areas of applied mathematics, from the evolutionary dynamics of genes and diseases to stochastic modeling of financial prices. His contributions to the open source community include lifelines, an implementation of survival analysis in Python. Educated at the University of Waterloo and at the Independent University of Moscow, he currently works with the online commerce leader Shopify.

Introduction to Computational Models with Python

Author: Jose M. Garrido

Publisher: CRC Press

ISBN: 1498712045

Category: Computers

Page: 466

View: 575

Introduction to Computational Models with Python explains how to implement computational models using the flexible and easy-to-use Python programming language. The book uses the Python programming language interpreter and several packages from the huge Python Library that improve the performance of numerical computing, such as the Numpy and Scipy modules. The Python source code and data files are available on the author’s website. The book’s five sections present: An overview of problem solving and simple Python programs, introducing the basic models and techniques for designing and implementing problem solutions, independent of software and hardware tools Programming principles with the Python programming language, covering basic programming concepts, data definitions, programming structures with flowcharts and pseudo-code, solving problems, and algorithms Python lists, arrays, basic data structures, object orientation, linked lists, recursion, and running programs under Linux Implementation of computational models with Python using Numpy, with examples and case studies The modeling of linear optimization problems, from problem formulation to implementation of computational models This book introduces the principles of computational modeling as well as the approaches of multi- and interdisciplinary computing to beginners in the field. It provides the foundation for more advanced studies in scientific computing, including parallel computing using MPI, grid computing, and other methods and techniques used in high-performance computing.

Learn Programming with Python

Author: Ana Bell

Publisher: Pearson Professional

ISBN: 9781617293788

Category: Computers

Page: 456

View: 7704

Summary Get Programming: Learn to code with Python introduces you to the world of writing computer programs without drowning you in confusing jargon or theory that make getting started harder than it should be. Filled with practical examples and step-by-step lessons using the easy-on-the-brain Python language, this book will get you programming in no time! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Let''s face it. The only way to learn computer programming is to do it. Whether you want to skill up for your next job interview or just get a few pet projects done, programming can be an amazing tool. This book is designed especially for beginners, helping them learn to program hands on, step by step, project by project. It''s time to get programming! About the Book Get Programming: Learn to code with Python teaches you the basics of computer programming using the Python language. In this exercise-driven book, you''ll be doing something on nearly every page as you work through 38 compact lessons and 7 engaging capstone projects. By exploring the crystal-clear illustrations, exercises that check your understanding as you go, and tips for what to try next, you''ll start thinking like a programmer in no time. What''s Inside Programming skills you can use in any language Learn to code--no experience required Learn Python, the language for beginners Dozens of exercises and examples help you learn by doing About the Reader No prior programming experience needed.. About the Author Ana Bell is an MIT lecturer and scientist who teaches the popular course, Introduction to Computer Science and Programming Using Python. Table of Contents LEARNING HOW TO PROGRAM Lesson 1 - Why should you learn how to program? Lesson 2 - Basic principles of learning a programming language UNIT 1 - VARIABLES, TYPES, EXPRESSIONS, AND STATEMENTS Lesson 3 - Introducing Python: a programming language Lesson 4 - Variables and expressions: giving names and values to things Lesson 5 - Object types and statements of code 46 Lesson 6 - Capstone project: your first Python program-convert hours to minutes UNIT 2 - STRINGS, TUPLES, AND INTERACTING WITH THE USER Lesson 7 - Introducing string objects: sequences of characters Lesson 8 - Advanced string operations Lesson 9 - Simple error messages Lesson 10 - Tuple objects: sequences of any kind of object Lesson 11 - Interacting with the user Lesson 12 - Capstone project: name mashup UNIT 3 - MAKING DECISIONS IN YOUR PROGRAMS Lesson 13 - Introducing decisions in programs Lesson 14 - Making more-complicated decisions Lesson 15 - Capstone project: choose your own adventure UNIT 4 - REPEATING TASKS Lesson 16 - Repeating tasks with loops Lesson 17 - Customizing loops Lesson 18 - Repeating tasks while conditions hold Lesson 19 - Capstone project: Scrabble, Art Edition UNIT 5 - ORGANIZING YOUR CODE INTO REUSABLE BLOCKS Lesson 20 - Building programs to last Lesson 21 - Achieving modularity and abstraction with functions Lesson 22 - Advanced operations with functions Lesson 23 - Capstone project: analyze your friends UNIT 6 - WORKING WITH MUTABLE DATA TYPES Lesson 24 - Mutable and immutable objects Lesson 25 - Working with lists Lesson 26 - Advanced operations with lists Lesson 27 - Dictionaries as maps between objects Lesson 28 - Aliasing and copying lists and dictionaries Lesson 29 - Capstone project: document similarity UNIT 7 - MAKING YOUR OWN OBJECT TYPES BY USING OBJECT-ORIENTED PROGRAMMING Lesson 30 - Making your own object types Lesson 31 - Creating a class for an object type Lesson 32 - Working with your own object types Lesson 33 - Customizing classes Lesson 34 - Capstone project: card game UNIT 8 - USING LIBRARIES TO ENHANCE YOUR PROGRAMS Lesson 35 - Useful libraries Lesson 36 - Testing and debugging your programs Lesson 37 - A library for graphical user interfaces Lesson 38 - Capstone project: game of tag Appendix A - Answers to lesson exercises Appendix B - Python cheat sheet Appendix C - Interesting Python libraries

A Primer on Scientific Programming with Python

Author: Hans Petter Langtangen

Publisher: Springer

ISBN: 3662498871

Category: Computers

Page: 922

View: 7644

The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science. From the reviews: Langtangen ... does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. ... Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010 Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011 This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science. Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012 “This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python...” Joan Horvath, Computing Reviews, March 2015

Introduction to Data Science

A Python Approach to Concepts, Techniques and Applications

Author: Laura Igual,Santi Seguí

Publisher: Springer

ISBN: 3319500171

Category: Computers

Page: 218

View: 363

This accessible and classroom-tested textbook/reference presents an introduction to the fundamentals of the emerging and interdisciplinary field of data science. The coverage spans key concepts adopted from statistics and machine learning, useful techniques for graph analysis and parallel programming, and the practical application of data science for such tasks as building recommender systems or performing sentiment analysis. Topics and features: provides numerous practical case studies using real-world data throughout the book; supports understanding through hands-on experience of solving data science problems using Python; describes techniques and tools for statistical analysis, machine learning, graph analysis, and parallel programming; reviews a range of applications of data science, including recommender systems and sentiment analysis of text data; provides supplementary code resources and data at an associated website.

Justice Under Pressure

A Comparison of Recidivism Patterns Among Four Successive Parolee Cohorts

Author: Sheldon Ekland-Olson,William R. Kelly

Publisher: Springer Science & Business Media

ISBN: 1461395178

Category: Psychology

Page: 141

View: 6943

Justice Under Pressure analyzes the effects of prison crowding on the justice system. The authors focus on dramatic changes in the administration of criminal justice in Texas during the 1980s and the influence of those changes on the three-year survival rates among parolees released between 1984 and 1987. Setting out to identify differences in recidivism and the crime rate as a result of the changes instituted in Texas, the authors report the findings of their comparative "survival analysis" of 4 successive cohorts of parolees, plus a chapter specifically directed at a comparative analysis of an emergency release cohort. The final chapter compares prison construction policies and crime rate trends in Texas and California to highlight the major policy implications of the findings. This book is of particular interest to criminologists, forensic psychologists, forensic psychiatrists, and students in these fields.

Introduction to Computer Science Using Python

A Computational Problem-Solving Focus

Author: Charles Dierbach

Publisher: John Wiley & Sons

ISBN: 9780470555156

Category: Computers

Page: 580

View: 4544

Introduction to Computer Science Using Python: A Computational Problem–Solving Focus introduces readers to programming and computational problem–solving via a back–to–basics, step–by–step, objects–late approach that makes this book easy to teach and learn from. Readers are provided with a thorough conceptual grounding in computational problem solving before introducing them to specific Python syntax, thus giving them the background to become successful programmers in any language. Dierbach also offers readers a thorough grounding in imperative programming before introducing them to object–oriented programming. His step–by–step pedagogical approach makes this an accessible and reader–friendly introduction to programming that eases readers into program–writing through a variety of hands–on exercises.

Introduction to the Theory of Computation

Author: Michael Sipser

Publisher: Cengage Learning

ISBN: 1285401069

Category: Computers

Page: 504

View: 6976

Now you can clearly present even the most complex computational theory topics to your students with Sipser's distinct, market-leading INTRODUCTION TO THE THEORY OF COMPUTATION, 3E. The number one choice for today's computational theory course, this highly anticipated revision retains the unmatched clarity and thorough coverage that make it a leading text for upper-level undergraduate and introductory graduate students. This edition continues author Michael Sipser's well-known, approachable style with timely revisions, additional exercises, and more memorable examples in key areas. A new first-of-its-kind theoretical treatment of deterministic context-free languages is ideal for a better understanding of parsing and LR(k) grammars. This edition's refined presentation ensures a trusted accuracy and clarity that make the challenging study of computational theory accessible and intuitive to students while maintaining the subject's rigor and formalism. Readers gain a solid understanding of the fundamental mathematical properties of computer hardware, software, and applications with a blend of practical and philosophical coverage and mathematical treatments, including advanced theorems and proofs. INTRODUCTION TO THE THEORY OF COMPUTATION, 3E's comprehensive coverage makes this an ideal ongoing reference tool for those studying theoretical computing. Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version.