Computer science is the study of computation — how problems can be described, solved, and automated. It is not just programming. CS includes theory, mathematics, hardware, software, and the impact of computing on society.
The fundamental skill CS teaches is computational thinking: breaking problems into steps (decomposition), finding patterns, abstracting away irrelevant details, and expressing solutions as algorithms.
Example: A recipe is an algorithm. It takes inputs (ingredients), performs steps in order, uses conditionals ("if dough is sticky, add flour"), and produces an output (bread).
Computers are understood at multiple levels of abstraction, each hiding complexity from the layer above it:
| Layer | What You See | What's Hidden |
|---|---|---|
| Application | Web browser, game | OS calls, memory |
| Operating System | Files, processes | Hardware drivers |
| Architecture | Instructions, registers | Circuits |
| Digital Logic | Gates, flip-flops | Transistors |
| Physics | Transistors, voltage | Quantum effects |
As a computer scientist you work at whichever layer the problem demands. This course tours all of them.
Computer science is primarily about
Which of these is an example of computational thinking?
The layer of abstraction that manages files and processes is the
An algorithm must be
Abstraction is useful because it