Lecture 1 - ODU Computer Science

Download Report

Transcript Lecture 1 - ODU Computer Science

CS149D Elements of Computer
Science
Ayman Abdel-Hamid
Department of Computer Science
Old Dominion University
Lecture 1: 8/27/2002
Lecture 1: 8/27/2002
CS149D Fall 2002
1
Outline
•What is Computer Science?
•What is an algorithm?
•What is a computer?
•history of Computing (not comprehensive!)
Lecture 1: 8/27/2002
CS149D Fall 2002
2
What 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)
Lecture 1: 8/27/2002
CS149D Fall 2002
3
What 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
1. Operating a washing machine
2. Multiplication of 2 integers
3. Making an apple pie
Lecture 1: 8/27/2002
CS149D Fall 2002
4
•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
Lecture 1: 8/27/2002
CS149D Fall 2002
5
A Computer
Input
Manual
Punch cards
Tapes
Keyboard
Mouse
Computing
Storage
Mechanical units
Steam engines
Integrated circuits
Output
Gear Position
Display
Cards
Paper
Gears, vacuum tubes, memory transistors
Five classic components of a computer:
Processor
Input, Output, Memory, Data path, Control
Lecture 1: 8/27/2002
CS149D Fall 2002
6
Role 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
Lecture 1: 8/27/2002
CS149D Fall 2002
7
History of Computing
1/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
Lecture 1: 8/27/2002
CS149D Fall 2002
8
History of Computing
2/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
Lecture 1: 8/27/2002
CS149D Fall 2002
9
History of Computing
3/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 world’s first programmer
Herman Hollerith (1860 – 1929) applied punched cards idea to
speed up tabulation in 1890 US Census. (work led to creation of
IBM)
Lecture 1: 8/27/2002
CS149D Fall 2002
10
History of Computing
4/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.
Lecture 1: 8/27/2002
CS149D Fall 2002
11
History of Computing
5/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
Lecture 1: 8/27/2002
CS149D Fall 2002
12
History of Computing
6/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”
Lecture 1: 8/27/2002
CS149D Fall 2002
13
History of Computing
7/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: Intel’s 80486 microprocessor is introduced
1990: Microsoft introduces Windows 3.0
1993: Intel’s Pentium processor is introduced
1994: Netscape’s first browser becomes available
1995: Java is released from Sun Microsystems
1996: Intel’s Pentium Pro processor is announced
1998: Microsoft releases Windows 98
Lecture 1: 8/27/2002
CS149D Fall 2002
14
History of Computing
8/8
2002: Intel’s 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)
Lecture 1: 8/27/2002
CS149D Fall 2002
15