Computer science is the study of
computational processes. A process is an entity that exhibits a
specific behaviour over time. In computational processes however,
time advances in discrete steps. Science in general provides a
mechanism for describing the behaviour of a process using some
language. Describing a computational process involves specifying how
it evolves during its successive discrete time steps. This is
generally called programming and the language used is called a
programming language. Typically, the behaviour of a computational
process can be simulated using some machine to interpret the program
describing it.Consider a simple computational process that consists
of evaluating an arithmetic expression:
Typically we will be using a pocket
calculator:
to interpret a program
expressed as an acceptable sequence of buttons to be pressed. In doing so we respect the language that the calculator accepts; hence we can simulate the computation by entering this program on the calculator to obtain its value:
Computer science gives a lot of
attention to the expressiveness of programming languages. Typically,
we are interested in describing as wide a range of processes as
possible while using a language which is as simple as possible. In
this chapter we will introduce a simple yet powerful language called
Pico to help us explore the concept of computation.