Skip to content

What is computer science?

NaveenBuidl edited this page May 3, 2022 · 4 revisions

The essence of computer science is

efficiently implementing automated abstractions.

I like how SICP puts it -

Underlying our approach to this subject is our conviction that “computer science” is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology—the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of “what is.” Computation provides a framework for dealing precisely with notions of “how to.” - Structure and Interpretation of Computer Programs

In simpler words, disciplines like economics focus on the relationships between X and Y. CS is about making X do Y. Shitloads of Y at scale! :)

And this ability comes from Computational Thinking which Jeanette Wing puts it best -

Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent.

This idea of information-centric formulation is super-powerful. Once your realise that most stuff in the world can be represented and abstracted out in the form of information, then your realize developing software is a superpower!

Clone this wiki locally