Introduction to Computing - Explorations in Language, Logic, and Machines

Introduction to Computing - Explorations in Language, Logic, and Machines

Focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically.

Publication date: 19 Aug 2009

ISBN-10: n/a

ISBN-13: n/a

Paperback: n/a

Views: 33,943

Type: N/A

Publisher: n/a

License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States

Post time: 11 Nov 2009 10:11:05

Introduction to Computing - Explorations in Language, Logic, and Machines

Introduction to Computing - Explorations in Language, Logic, and Machines Focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically.
Tag(s): Algorithms and Data Structures Introduction to Computer Science
Publication date: 19 Aug 2009
ISBN-10: n/a
ISBN-13: n/a
Paperback: n/a
Views: 33,943
Document Type: N/A
Publisher: n/a
License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States
Post time: 11 Nov 2009 10:11:05
Summary/Excerpts of (and not a substitute for) the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States:
You are free to:

Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material

The licensor cannot revoke these freedoms as long as you follow the license terms.

Click here to read the full license.
About the Book:

This book is used for the course cs120:Introduction to Computing at the Department of Computer Science, University of Virginia.
Course Description.

In the past hundred years, computer science has changed the world more than any other field. Without computer science, humans would not have walked on the Moon, modern medicine would not exist, and Wal-Mart would be a small store in Arkansas. But this course is not just about the pragmatic impact of computer science; it is about how computer science changes the ways we think, solve problems and understand the world.

Despite its name, computer science has very little to do with the beige boxes we call computers, and it is far from being a science. It has more in common with music and mathematics than it does with science or engineering. At its core, computer science is the study of imperative knowledge. Whereas mathematics is all about declarative knowledge ("what is"), computer science is all about "how to" knowledge.

Computer science is the study of information processes. Computer scientists study how to describe, predict properties of, and efficiently implement information processes.

Most of what we know about describing information processes stems from three simple ideas:
1. You can define things in terms of themselves (recursive definitions).
2. You can treat procedures and data as one and the same (universality).
3. When you give something a name, it becomes more useful (abstraction).

Although these ideas are simple, they have profound implications that it takes many years to fully appreciate.

The kinds of properties we want to predict about information processes include whether or not there is a procedure that can always solve a given problem (computability), and how much time and space will be required to solve a given problem (complexity).




About The Author(s)


David Evans is a Professor of Computer Science at the University of Virginia where he leads research in computer security and privacy. He won the Outstanding Faculty Award from the State Council of Higher Education for Virginia and an All-University Teaching Award. His Udacity cs101 course was the first course to launch on Udacity and remains the world's most popular MOOC.

David Evans

David Evans is a Professor of Computer Science at the University of Virginia where he leads research in computer security and privacy. He won the Outstanding Faculty Award from the State Council of Higher Education for Virginia and an All-University Teaching Award. His Udacity cs101 course was the first course to launch on Udacity and remains the world's most popular MOOC.


Book Categories
Sponsors