Title: CS149D Elements of Computer Science
1CS149D Elements of Computer Science
Ayman Abdel-Hamid Department of Computer
Science Old Dominion University Lecture 1
8/27/2002
2Outline
- What is Computer Science?
- What is an algorithm?
- What is a computer?
- history of Computing (not comprehensive!)
3What is Computer Science? Computer Science is the
discipline that seeks to build a scientific
foundation for such topics as computer design,
computer programming, information processing, and
algorithmic solutions of problems.
- Computing is the execution of an algorithm
- A computer is a machine that performs computing
(provides computing capabilities to its users)
4What is an Algorithm? A set of steps that define
how a task is performed Formal definition An
ordered set of unambiguous, executable steps that
define a terminating activity.
- Examples of algorithms
- Operating a washing machine
- Multiplication of 2 integers
- Making an apple pie
5- A machine-compatible representation of an
algorithm is called a program
- Representation of an algorithm so that it can be
communicated to a machine - Programming Languages (C, C, Java, )
- If no algorithm exists for performing a task,
then the task can not be performed by a machine - Programs and algorithms they represent are
collectively referred to as Software, the machine
itself is Hardware
6A Computer
Computing
Manual Punch cards Tapes Keyboard Mouse
Gear Position Display Cards Paper
Storage
Five classic components of a computer Input,
Output, Memory, Data path, Control
Processor
7Role of Abstraction
Think about a complex computer system using
various levels of details At each level, identify
components whose internal characteristics are
ignored. Focus on component interaction, and how
components can be used to construct higher-level
components
Distinction between external properties of a
component and the internal details of the
component instruction is known as abstraction
Examples of abstraction Driving a car, sending
email, printing a document
8History of Computing1/8
Abacus (almost 5,000 years ago) First computing
device. Position of bead represents a stored
value Data storage system. Combined with a human
to create a complete computer
9History of Computing2/8
Technology of gears Represent data through gear
positioning with data being input mechanically to
establish gear positions Pascal, Leibniz Output
achieved by observing final gear
positions Babbage Print values on paper 1645
Pascal (1623 1662) makes Pascaline. Follow
addition algorithm 1674 Leibniz (1646 1716)
designs his "Stepped Reckoner. A variety of
arithmetic operations that the user can select
from
10History of Computing3/8
1832 Babbage (1792 1871). Prototype of a
difference engine (6 digit calculator using gear
technology) Sequence of steps the machine was to
perform could be communicated to the machine in
form of holes in paper cards (programmable). His
assistant Augusta Ada Byron identified as
worlds first programmer Herman Hollerith (1860
1929) applied punched cards idea to speed up
tabulation in 1890 US Census. (work led to
creation of IBM)
11History of Computing4/8
Electronics supplement mechanical
devices (electronically controlled mechanical
relays) 1940 Electromechanical machine of George
Stibitz at Bell laboratories (Model I relay
calculator) 1944 Mark I, Harvard University with
a group of IBM engineers (first widely known
programmable calculator) Vacuum Tubes 1939 John
V. Atanasoff and graduate student Clifford Berry,
of Iowa State College (now the Iowa State
University), Ames, Iowa, complete a prototype
16-bit adder. This is the first machine to
calculate using vacuum tubes.
12History of Computing5/8
1945 John von Neumann (1903-1957), drafts a
report describing the future computer eventually
built as the "EDVAC" ("Electronic Discrete
Variable Automatic Computer) this is the first
description of the design of a stored-program
computer, and gives rise to the term "von Neumann
computer". 1946 ENIAC (Electronic Numerical
Integrator and calculator). University of
Pennsylvania
13History of Computing6/8
Transistors, integrated circuits (IC) 1954 Texas
Instruments announces the start of commercial
production on silicon transistors. 1958 At Texas
Instruments, Jack Kilby completes building the
first integrated circuit (IC), containing five
components on a piece of germanium half an inch
long and thinner than a toothpick. 1972 Dennis
Ritchie develops C at Bell labs (predecessor was
named B) 1976 Steve Jobs and Stephen Wozniak
built a commercially viable home computer
(established Apple company) 1977 Bill Gates and
Paul Allen found Microsoft 1981 IBM introduces
first desktop computer called Personal Computer
PC, with operating system developed by
Microsoft 1982 Time Magazine names computer Man
of the Year
14History of Computing7/8
1982 Japan launches fifth generation computer
focused on artificial intelligence 1984 CD-Rom
introduced by Sony and Philips 1985 C
(object-oriented extension to C) issued from Bell
labs 1989 Tim Berners-Lee proposes a World Wide
Web project to CERN (European Council for Nuclear
Research) 1989 Intels 80486 microprocessor is
introduced 1990 Microsoft introduces Windows
3.0 1993 Intels Pentium processor is
introduced 1994 Netscapes first browser becomes
available 1995 Java is released from Sun
Microsystems 1996 Intels Pentium Pro processor
is announced 1998 Microsoft releases Windows 98
15History of Computing8/8
- 2002 Intels Pentium 4 processor offers speeds
up to 2.53 GHz - New Trends
- DNA computers (What is a DNA computer)
- Pervasive computing (from IBM)
- Wearable computing (A nice web site, definition)
- Quantum computing (The Quantum computer)
- Some References
- Timeline of Computing History (IEEE Computer)
- The History of computing (Virginia Tech)
- Chronology of historical events in Computing
(Hofstra University)