Think like a computer scientist: free, interactive textbook

Runestone's Interactive Python project has adapted 2012's classic How to Think Like a Computer Scientist textbook, updating it to cover recent programming advances, and creating a fully interactive version with quizzes, code examples, and coding challenges.

The goal of the text isn't (just) to teach you to hack in Python: it's to teach you to "think like a computer scientist." How do computer scientists think?


This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.

The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem solving skills. That's why this chapter is called, The Way of the Program.

How to Think Like a Computer Scientist: Interactive Edition
About this Project
[Brad Miller and David Ranum/Interactive Python]


(via 4 Short Links)