Required Course Book (1 of 2)
Computational Thinking
A Whirlwind Introduction to the Third Millennial Liberal Art
from Ada and Euclid to Quantum Computing and the World Wide Web
David Evans
University of Virginia
Contents
Part I: Defining Procedures
Chapter 1: Introduction [PDF]Chapter 2: Language [PDF]
Chapter 3: Programming [PDF]
Chapter 4: Problems & Procedures [PDF]
Chapter 5: Data [PDF] [Scheme Code]
Part II: Analyzing Procedures
Chapter 6: Machine [PDF]Chapter 7: Cost [PDF]
Chapter 8: Time [PDF]
Chapter 9: Sorting and Sequencing [PDF] [Scheme Code]
Part III: Improving Expressiveness
Chapter 10: State [PDF]Chapter 11: Objects [PDF]
Chapter 12: Interpreters [PDF] [Python Code]
Chapter 13: Laziness [PDF] [Python Code]
Chapter 14: Types [PDF] [Python Code]
Chapter 15: World Wide Web
Part IV: The Limits of Computing
Chapter 16: Computability [PDF]
Chapter 17: Intractability
Chapter 18: Alternative Computing Models
Book Comments
Because the book is relatively new, we are always on the lookout for feedback that will improve it. Particularly useful feedback including noticing any technical mistakes, improving the writing, and suggesting a less pretentious title will be rewarded with bonus stars.
Required Course Book (2 of 2)
Gödel, Escher, Bach
an Eternal Golden Braid
Douglas R. Hofstadter
Indiana University
Optional Course Book (1 of 1)
Structure and Interpretation of Computer Programs
Harold Abelson
Gerald Jay Sussman
with Julie Sussman