Foundations of Computer
Science from Data Manipulation to
Theory of Computation
Behrouz A. Forouzan,
Brooks/Cole—Thomson Learning,
Pacific Grove, USA, 2003.
©Brooks/Cole,
2003
Chapter 1
Introduction
©Brooks/Cole,
2003
OBJECTIVES
After reading this chapter, the reader should be able to:
Understand the concept of a black box, a data processor, and
a programmable data processor.
Define the von Neumann model and name its components:
memory, arithmetic/logic unit, control unit, and input/output.
Understand the stored program concept.
Understand the sequential execution of statements in a program.
Name the components of a computer: hardware, software,
and data.
©Brooks/Cole,
2003
1.1
THE COMPUTER
AS A BLOCK BOX
©Brooks/Cole,
2003
Figure 1-1
Data processor model
You can think of a computer as a data
processor.
Is it a specific-purpose machine or a general-
purpose machine?
©Brooks/Cole,
2003
Figure 1-2
Programmable data processor model
A program is a set of instructions that tells the
computer what to do with data.
A program is a set of instructions written in a computer
language.
The output data depend on the combination of two
factors: the input data and the program.
©Brooks/Cole,
2003
Figure 1-3
Same program, different data
©Brooks/Cole,
2003
Figure 1-4
Same data,
different
programs
©Brooks/Cole,
2003
Figure 1-3
Same input data, same program
When the same program is run with
the same input, you expect the same
output.
©Brooks/Cole,
2003
1.2
von NEUMANN
MODEL
©Brooks/Cole,
2003
Figure 1-5
von Neumann model
©Brooks/Cole,
2003
Figure 1-5
von Neumann model: Four subsystems
Memory
Memory is the storage area
Arithmetic logic unit (ALU)
The ALU is where calculation and logical operations
take place.
Control unit
The control unit controls the operations of the
memory, ALU, and the input/output subsystem.
Input/output
The input subsystem accepts input data and the
program from outside the computer.
The output subsystem sends the result of processing
to the outside.
©Brooks/Cole,
2003
Figure 1-5
von Neumann model
Stored program concept:
The von Neumann model states that the
program must be stored in memory.
The memory of modern computers hosts
both a program and its corresponding data.
They are stored as binary patterns (a
sequence of 0s and 1s) in memory.
Sequential execution of instructions
A program is made of a finite number of
instructions. They are executed
sequentially.
©Brooks/Cole,
2003
1.3 COMPUTER
HARDWARE
See Chapter 5
©Brooks/Cole,
2003
1.4
DATA
©Brooks/Cole,
2003
Figure 1-5
Data
Storing data
The von Neumann model does not define how data
must be stored in a computer.
A computer can store data in one of two states.
You will learn how to store different types of data as
a binary pattern, a sequence of 0s and 1s.
Organizing data (data organization)
Although data should be stored only in one form
inside a computer, data outside a computer can take
many forms.
Data are organized into small units, small units are
organized into larger units, and so on.
©Brooks/Cole,
2003
1.5 COMPUTER
SOFTWARE
©Brooks/Cole,
2003
Programming
Programs must be stored
Programs are stored in
computer memory. (see
Figure 1-6)
A sequence of
instructions
Programs must be a
sequence of instructions.
(see Figure 1-7)
Why? Reusability.
©Brooks/Cole,
2003
Figure 1-7
Program made of instructions
©Brooks/Cole,
2003
Computer Software
Algorithms
A step-by-step solution to a program is called an
algorithm.
Languages
A computer language has a more limited
number of symbols and also a limited number of
words.
Software engineering
The design and writing of programs in a
structured form.
Operating systems
©Brooks/Cole,
2003
1.6
HISTORY
©Brooks/Cole,
2003
History
Computer generation
First generation: vacuum tubs
Second generation: transistors
Third generation: integrated circuit
Fourth generation: micro-computers
Fifth generation: multimedia
©Brooks/Cole,
2003
Key Terms
Algorithm Memory
Arithmetic logic unit Microcomputer
(ALU)
Operating system
Black box
Output data
Computer language
Program
Computer science
Programmable data
Control unit processor
Data processor Software
Input data
Software engineering
Instruction
Von Neumann model
Integrated circuit
©Brooks/Cole,
2003