0% found this document useful (0 votes)
45 views39 pages

Welcome To COS151!

This document provides an introduction to the COS151 course. It includes the course title, website information where students can find the study guide, announcements, and assignments. It then provides a brief overview of the study guide and outlines the chapter objectives which cover defining the Turing and von Neumann models of a computer, describing the three components of a computer, and giving a short history of computers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views39 pages

Welcome To COS151!

This document provides an introduction to the COS151 course. It includes the course title, website information where students can find the study guide, announcements, and assignments. It then provides a brief overview of the study guide and outlines the chapter objectives which cover defining the Turing and von Neumann models of a computer, describing the three components of a computer, and giving a short history of computers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

Welcome 

to COS151!

• Title: Introduction to Computer Science


• Course website:
• https://cs.up.ac.za/admin/courses/COS151
• Find the study guide there
• Announcements
• Assignments (download & upload)
• Brief overview of the Study Guide…

1.1
CHAPTER 1
Introduction

1.2
Objectives
After studying this chapter, the student should be able to:
 Define the Turing model of a computer.

 Define the von Neumann model of a computer.

 Describe the three components of a computer: hardware,


data, and software.

 List topics related to computer hardware.

 List topics related to data.

 List topics related to software.

 Give a short history of computers.

1.3
Understanding Computer Systems
 Computer system
 Combination of all the components required
to process and store data using a computer
 Hardware
 Equipment associated with a computer
 Software
 Computer instructions
 Tell the hardware what to do
 Programs
 Instructions written by programmers
1.4
Understanding Computer Systems 
(continued)
 Programming
 Writing software instructions
 Computer hardware and software accomplish three
major operations
 Input
 Data items such as text, numbers, images, and sound

 Processing
 Calculations and comparisons performed by the central

processing unit (CPU)


 Output
 Resulting data that is sent to a printer, monitor, or

storage devices after processing

1.5
1‐1   TURING MODEL

• The idea of a universal computational device was


first described by Alan Turing in 1937.
• He proposed that all computation could be
performed by a special kind of a machine, now
called a Turing machine.
• He based the model on the actions that people
perform when involved in computation.
• He abstracted these actions into a model for a
computational machine that has really changed the
world.

1.6
1‐1   TURING MODEL

Alan Turing
1.7 (1912 – 1954)
1.1.1  Data processors
• Before discussing the Turing model, let us define a
computer as a data processor.
• A computer acts as a black box
• that accepts input data,
• processes the data, and
• creates output data (Figure 1.1).
• Although this model can define the functionality of a
computer today, it is too general.

Figure 1.1 A single purpose computing machine

1.8
1.1.2  Programmable data processors
• The Turing model is a better model for a general-
purpose computer.
• This model adds an extra element to the specific
computing machine: the program.
• A program is a set of instructions that tells the computer
what to do with data. Figure 1.2 shows the Turing model.
Figure 1.2 A computer based on the Turing model

1.9
Figure 1.3 The same program, different data

1.10
Figure 1.4 The same data, different programs

1.11
1.1.3  The universal Turing machine
• First description of a modern computer:
• A machine that can do any computation if the
appropriate program is provided
• Can be proved that a very powerful computer and a
Turing machine can compute the same thing given
appropriate data and an appropriate program
• A universal Turing machine can compute anything
that is computable!

1.12
1‐2   VON NEUMANN MODEL
• A universal Turing machine stores data in memory
• Early programming using switches & wiring
• Around 1944 – 1945, John von Neumann proposed
the following:
• Programs and data are logically the same
• Programs and data should be stored in memory
• Programs and data are stored in the same format
(binary patterns of 0s and 1s in memory)
• Sequential instruction execution (fetch-decode-
execute cycle)

1.13
1.2.1  Four subsystems
• Computers built on the von Neumann model divide the
computer hardware into four subsystems: memory,
arithmetic logic unit, control unit, and input/output
(Figure 1.5).

Figure 1.5 The von Neumann model

1.14
1.2.2  The stored program concept
• The von Neumann model states that the program must be
stored in memory.
• This is totally different from the architecture of early
computers in which only the data was stored in memory:
the programs for their task were implemented by
manipulating set of switches/changing the wiring system.
• The memory of modern computers hosts both a program
and its corresponding data.
• This implies that both the data and programs should have
the same format, because they are stored in memory.
• In fact, they are stored as binary patterns in memory—a
sequence of 0s and 1s.

1.15
1.2.3  Sequential execution of instructions
• A program in the von Neumann model is made of a finite
number of instructions.
• In this model, the control unit fetches one instruction
from memory, decodes it, then executes it.
• Instructions are executed one after another.
• Of course, one instruction may request the control unit to
jump to some previous or following instruction, but this
does not mean that the instructions are not executed
sequentially.
• Sequential execution of a program was the initial
requirement of a computer based on von Neumann model
• Today’s computers execute programs in the order that is
the most efficient.
1.16
1‐3   COMPUTER COMPONENTS
• We can think of a computer as being made up of three
components:
• computer hardware,
• data, and
• computer software.

1.17
1.3.1 Computer hardware
• Computer hardware today has four components under the
von Neumann model, although we can have different
types of memory, different types of input/output
subsystems, and so on.
• We discuss computer hardware in more detail in Chapter
5.
1.3.2  Data
• The von Neumann model clearly defines a computer as a
data processing machine that accepts the input data,
processes it, and outputs the result.

1.18
1.3.3  Computer software
• The main feature of the Turing or von Neumann models
is the concept of the program.
• Although early computers did not store the program in
the computer’s memory, they did use the concept of
programs.
• Programming those early computers meant changing the
wiring systems or turning a set of switches on or off.
• Programming was therefore a task done by an operator or
engineer before the actual data processing began.

1.19
Figure 1.6 Program and data in memory

1.20
Figure 1.7 A program made of instructions

1.21
1‐4   HISTORY
• In this section we briefly review the history of
computing and computers.
• We divide this history into three periods:
• Mechanical machines (before 1930)
• Electronic computers (1930–1950)
• (Modern) Computer generations (1950–present)

1.22
1‐4   HISTORY
 Mechanical machines (before 1930)
 Several computing machines were invented that
bear little resemblance to modern computers
 17th century, Blaise Pascal, a French
mathematician and philosopher, invented the
Pascaline
 Late 17th century, Gottfried Leibniz, a German
mathematician, invented Leibniz’ Wheel
 The first machine that used the idea of storage
and programming was the Jacquard loom,
invented by Joseph-Marie Jacquard at the
beginning of the 19th century
1.23
1‐4   HISTORY

A Pascaline (1652)
https://www.youtube.com/watch?v=uOcNkhooEoc
1‐4   HISTORY

Replica of a Liebniz’ Wheel


https://www.youtube.com/watch?v=klLB5k3LkwU
1‐4   HISTORY

Jacquard Loom
(Deutsches Technikmuseum, Berlin)
https://www.youtube.com/watch?v=OlJns3fPItE
1‐4   HISTORY
 Mechanical machines (before 1930)
 In 1823, Charles Babbage invented the
Difference Engine. Later, he invented the
Analytical Engine that parallels the idea of
modern computers.
 In 1890, Herman Hollerith, working at the
US Census Bureau, designed & built a
programmable machine that could
automatically read, tally, and sort data
stored on punched cards
1‐4   HISTORY

Difference Engine (London Science Museum)


1‐4   HISTORY
 The birth of electronic computers (1930–
1950)
 Early electronic computers
 Did not store the program in memory (all were
programmed externally)
 Five computers were prominent during these
years:
 ABC
 Z1
 Mark I
 Colossus
 ENIAC
1‐4   HISTORY

ABC (Atanasoff-Berry Computer)


Replica of the Z1
1‐4   HISTORY

Colossus Mark 2
1‐4   HISTORY

ENIAC (Electronic Numerical Integrator and Computer)


1‐4   HISTORY
 The birth of electronic computers (1930–
1950)
 The first computer based on von
Neumann’s ideas was made in 1950 at the
University of Pennsylvania, and was called
EDVAC
 At the same time, a similar computer called
EDSAC was built by Maurice Wilkes at
Cambridge University
1‐4   HISTORY

EDVAC (Electronic Discrete Variable Automatic Computer)


1‐4   HISTORY
 Computer generations
 First generation (roughly 1950–1959)
 The emergence of commercial computers
 Second generation (roughly 1959–1965)
 Used transistors instead of vacuum tubes
 Two high-level programming languages, FORTRAN
and COBOL invented and made programming
easier
 Third generation (roughly 1965–1975)
 Integrated circuit reduced computer cost and size
 Minicomputers appeared on the market
 Canned programs (software packages), available
1‐4   HISTORY
 Computer generations
 Fourth generation (roughly 1975–1985)
 Appearance of microcomputers
 First desktop calculator, the Altair 8800, in 1975
 The emergence of computer networks
 Fifth generation (1985–present)
 Appearance of laptop and palmtop computers
 Improvements in secondary storage media (in
other words, CD-ROM, DVD, flash storage, and
so on)
 Use of multimedia
 Phenomenon of virtual reality
1‐5   COMPUTER SCIENCE AS A DISCIPLINE
• With the invention of computers, a new discipline has
evolved: computer science.
• Like any other discipline, computer science has now
divided into several areas. We can divide these areas
into two broad categories:
• systems areas and
• applications areas.
• This book is a breadth-first approach to all these areas
(it covers width, not depth).
• After reading the book, the reader should have enough
information to select the desired area of specialty.

1.38
1‐6   OUTLINE OF THE COURSE

• We will not follow the book’s exact order of the


chapters.
• See the Study Guide for details.

1.39

You might also like