2. Computer Science
Computer Science: The discipline that seeks to build a scientific foundation for such
topics as:
Computer design
Computer programming
Information processing
Algorithmic solutions of problems
3. Role of Algorithms
Algorithm: A set of steps that defines how a task is performed
Program: A representation of an algorithm
Programming: The process of developing a program
Software: Programs and algorithms
Hardware: Equipment used to input information (data) and output the results
of the programs, algorithms.
Algorithm
Program
Programming
Software
Hardware
5. History of Algorithms
The study of algorithms was originally a subject in mathematics.
Early examples of algorithms
Long division algorithm
Euclidean Algorithm
Let’s take a look at Euclidean Algorithm
Just to see that YOU can do this stuff!
6. The Euclidean algorithm
Euclidean algorithm (also called Euclid's
algorithm) is an algorithm to determine the
greatest common divisor (GCD) of two elements.
One of the oldest algorithms known, dating back
to the ancient Greeks.
Greatest common divisor (GCD): The largest
positive integer that divides both numbers
without remainder
I.e. The largest number that can go into two
numbers evenly.
Examples:
15 and 6, the GCD is 3
15 / 3 = 5 6 / 3 = 2
48 and 40, the GCD is 8
48 / 8 = 6 40 / 8 = 5
Euclid 200 ton dump
Euclid, 300 BC, "The Father of
Geometry“ was a Greek
mathematician
7. The Euclidean algorithm
Step 1:
• M = 48, N = 40
Step 2:
• M / N
• ___ / ___ = __, R = __
Step 3:
• R <> 0
• M = ___, N = __
Step 2:
• M / N
• ___ / ___ = __, R = __
Step 3
• R = __
Greatest common divisor: N = _
48 40 1 8
40
5 0
8
40 8
0
8
8. Origins of Computing Machines
Early computing devices
Abacus: positions of beads represent numbers
Gear-based machines (1600s-1800s)
Positions of gears represent numbers
Blaise Pascal, Wilhelm Leibniz, Charles Babbage
Windows Abacus Pascal’s mechanical calculator - 1645
9. Babbage’s Difference Engine
• Babbage is credited with inventing the first mechanical computer that
eventually led to more complex designs.
• The first difference engine was composed of around 25,000 parts, weighed
fifteen tons (13,600 kg), and stood 8 feet (2.4 m) high. Although he received
ample funding for the project, it was never completed. (Wikipedia)
Part of the Difference Engine (below)
Replica of Difference Engine (right)
10. Early Data Storage
Punched cards
First used in Jacquard Loom (1801) to store patterns for weaving cloth
Storage of programs in Babbage’s Analytical Engine
Popular through the 1970’s
11. Jacquard loom
The Jacquard loom was the first machine to use punch cards to control a sequence of
operations.
Did not do computation, but important in history of computer science.
The ability to change the pattern of the loom's weave by simply changing cards
An important conceptual precursor to the development of computer programming.
(Wikipedia)
12. Augusta Ada Byron
Augusta Ada King, Countess of Lovelace
(1815-1852)
Mainly known for having written a description
of Charles Babbage's early mechanical
general-purpose computer, the analytical
engine.
She is also known as the "first programmer".
The computer language Ada, created by the
U.S. Defense Department, was named after
Ada Lovelace.
13. Early Computers
Here is a brief overview of some of the early computers and trends in computing.
14. First Generation – Vacuum Tubes
1930’s – Vacuum tubes were used as electronic circuits or electronic switches.
15. First Generation – Vacuum Tubes
First electronic digital computer built by Konrad Zuse, who developed his first
machine, the Z1, in his parents' living room in Berlin in 1938.
Another early digital computer was built by Dr. John Atanasoff and his assistant
Clifford Berry, known as the ABC (Atanasoff Berry Computer) built at Iowa State
University during 1937-42.
16. 1946 - ENIAC
First large-scale electronic digital computer was ENIAC (Electronic Numerical
Integrator and Calculator)
30 feet long, 8 feet wide, and 8 feet high
3 additions every second, (incredibly slow by today’s standards).
http://www.youtube.com/watch?v=VAnhFNJgNYY
17. 1946 - ENIAC
Grace Hopper, one of the first
programmers on the ENIAC and the
developer of the programming language
COBOL, says, “It was the first machine
that assisted the power of man’s brain
instead of the strength of his arm.”
ENIAC was developed long before the days
of silicon chips or microchips, even before
the transistor was invented.
Like ABC, ENIAC was made up of vacuum
tubes, over 18,000 of them!
18. 1951- UNIVAC 1
1951 the first commercially available computer was developed, the UNIVAC I
(UNIVersal Automatic Computer) using vacuum tubes
3,000 additions every second.
In 5 years we were going a thousand times faster.
http://www.youtube.com/watch?v=FMXT4f8C63A
19. 1951- UNIVAC 1
Rear Admiral Grace Hopper, USN, with other programmers.
Photo taken, August 13, 1957
20. Second Generation – Transistors
1947 - Walter Brittain and Willaim Shockley invented the transistor at Bell Laboratories
Replaced the vacuum tube as an electronic switch
21. 1954 - TRADIC
TRADIC (TRAnsistorized Airborne DIgital Computer)
800 transistors.
First computer system to completely use transistors
First computer to be successfully operated in an aircraft, an environment
which was hostile to previous computer systems.
22. Second Generation - Transistors
Transistors were:
Smaller
Faster
More reliable
Less expensive
23. Third Generation – Integrated Circuits
1959, Jack Kirby and Robert Noyce at Fairchild Semiconductor (who was later to
become the cofounder of Intel Corp.) developed the first integrated circuit (silicon
chip or microchip).
An integrated circuit (IC) is a system of interrelated circuits packaged together on a
single sliver of silicon.
It is a way of placing multiple (millions) transistor devices into as single, smaller
device, the “microchip.”
http://www.youtube.com/watch?v=aWVywhzuHnQ&feature=related
24. 1960 – IBM 360
1 addition every billionth of a second (nanosecond), or a billion additions
every second
http://www.youtube.com/watch?v=1OdRHImbPug
25. Third Generation – Integrated Circuits
ICs, chips, were:
Smaller
Faster
More reliable
Less expensive
26. Fourth Generation - Microprocessor
A microprocessor is a Central Processing Unit (CPU) on a single chip.
1971, Intel Corp. introduced the first microprocessor chip.
Intel 4004
108 kHz and contained (equivalent of) 2300 transistors
27. IBM used it for calculators not computers
Busicom desk-top printing calculator, the world’s first commercial product to
use a microprocessor.
Used the Intel 4004 CPU.
28. 1975 - Altair 8800
Ed Roberts and the first
microcomputer or
personal computer (for
the consumer) the
Altair 8800
http://www.youtube.com/
watch?v=vAhp_LzvSWk
29. MITS Altair 8800
Microcomputer - a computer
which has a microprocessor.
Used the Intel 8080
Microprocessor
32. Personal Computers
We will see a series of videos, Triumph of the Nerds, which does a great job
in showing the evolution of the PC industry.
Here is a brief introduction for now.
34. Terms and Acronyms
WYSISYG (pronounced WHIZ-zee-wig)
“What You See Is What You Get”
GUI: Graphical User Interface
35. What is a computer?
A computer is an electronic device which can be programmed to change (process)
information from one form to another.
Do exactly as they are told.
Digital devices: Understand only two different states (OFF and ON)
38. Traditional Types of Computers
General purpose computers
Mainframe
Minicomputer
Microcomputer (Personal Computer)
39. First computers, introduced in 1950s
Used by large businesses
Typically supported hundreds or thousands of users
Very expensive
Used for very large processing tasks
IBM’s new Mainframe
http://www.youtube.com/watch?v=LN4J4mClckA
• Mainframe Computers
40. Typically supported hundreds of users
No longer a product line
Smaller and less expensive than mainframes
The real difference is relative in terms of price, power, marketing.
• Minicomputers
41. Traditional Types of Computers
Small, self-contained computers with their
own CPUs
Uses a microprocessor, a CPU (Central
Processing Unit) on a single chip.
43. Embedded Computers
Embedded computers – Computers found
inside consumer goods in order to enhance
their function.
Cars today might have as many as 50
microprocessors on them.
Some of the reasons for this increase in the
number of microprocessors are:
Meet emissions and fuel-economy
standards
Advanced diagnostics
Reduction of the amount of wiring in cars
New safety features
New comfort and convenience features
Sensors, wearable, medical devices, and more
44. Special Purpose Computers
Special purpose or dedicated computers – A device with a specific
purpose such as game system or information kiosk.
ATM Skimming: http://www.youtube.com/watch?v=m3qK46L2b_c
46. Hardware versus Software
Hardware = The physical
components that make up a
computer system.
More in a moment…
Much more on all of these
items in later presentations!
47. Hardware versus Software
Software = The programs
(instructions) that tell the
computer what to do.
System Software
Application Software
Stored on a storage media such
as hard disk, CD-ROM, floppy
disk, tape, etc.
More later…
50. The Processor
circuit board = a board with
integrated circuits
(microchips)
system board or motherboard
interface boards or expansion
boards
system board or motherboard =
a single circuit board with the
components which make up
the computer’s processor for
a microcomputer, including
the:
CPU (Central Processing Unit)
Memory
RAM
ROM or ROM BIOS
expansion slots
51.
52. The Processor: The CPU
CPU (Central Processing Unit) = A complex collection of electronic
circuits on one or more integrated circuits (chips) which:
1. executes the instructions in a software program
2. communicates with other parts of the computer system, especially
RAM and input devices
The CPU is the computer!
Rick Graziani graziani@cabrillo.edu
53. Moore’s Law
The number of transistors that can be inexpensively placed on an
integrated circuit (IC) increases exponentially, doubling
approximately every two years. The observation was first made by
Intel co-founder Gordon Moore in a 1965 paper (1).
1 - Taken from Wikipedia http://en.wikipedia.org/wiki/Moores_law
54. Input Devices
Enter information into a computer
http://www.youtube.com/watch?v=h4FJtJKTZD8
55. Output Devices
Send information out from a PC
Pattie Maes: Unveiling game-changing wearable tech
http://www.youtube.com/watch?v=nZ-
VjUKAsao&eurl=http%3A//www.orkut.com/FavoriteVideos.aspx?rl=ls&
uid=3220410101163014300&feature=player_embedded
56. System Unit - Revisited
System Unit:
CPU (Central Processing Unit)
Memory
RAM
ROM or ROM BIOS
expansion slots
SYSTEM UNITINPUT OUTPUT
PERMANENT
STORAGE
57. RAM (Random Access Memory)
RAM (Random Access Memory) = integrated circuits (chips) used to
temporarily store software (programs, instructions) and data
“primary” storage for the CPU
electronic switches, storing ON’s and OFF’s
Temporarily stores for the CPU:
Software
operating system software
application software
Data
data (documents, spreadsheets, etc.)
58. RAM
RAM is TEMPORARY memory
RAM is volatile
stores ON and OFF bits (software and data) electrically
when power goes off, everything in RAM is lost
Inserting RAM
59. RAM: Speed
Why does the CPU use RAM?
The CPU is very FAST!
The CPU needs the instructions (software) and data as quickly as possible
If the CPU has to wait, so does the user
Why doesn't the CPU use permanent storage like disk drives?
Too slow
EXAMPLE: Spellchecker
60. RAM: Capacity
The amount of RAM determines:
What software and data the user can work on
How much software and data the user can work with
Most new computers have at least 2 GB and that is steadily increasing
“out of memory” error message from the Operating System
The more complex and sophisticated the software, the more instructions that software
contains, which means larger software files.
61. ROM (Read Only Memory)
ROM (Read Only Memory) = integrated circuits (microchips) that are
used to permanently store start-up (boot) instructions and other
critical information
Read Only = information which:
Cannot be changed
Cannot be removed
Cannot be appended (added to)
Fixed by manufacturer
62. ROM (Read Only Memory)
ROM is sometimes known as ROM BIOS (Basic Input Output System
software)
ROM permanently contains:
start-up (boot) instructions
instructions to do “low level” processing of input and output devices, such as the
communications with the keyboard and the monitor
Firmware = software program which is stored on a microchip, such as
the software on the ROM chip permanently
63. Storage Devices
Storage Devices:
Floppy disks (obsolete)
CD-ROMs, DVDs (becoming obsolete)
Hard disks and solid state drives (SDD)
Zip / Rev disks (obsolete)
Tape drives
Network drives
Storage Area Networks
66. Application Software
Performs specific tasks:
Word processing
Calculations
Information storage and retrieval
Accounting
Cannot function without the OS
(Operating System)
Written for a specific operating
system and computer hardware.
67. Operating System Software
Loads automatically when you
switch on a computer
Main roles:
Controls hardware and software
Permits you to manage files
Acts as intermediary between user
and applications
68. Operating System Software
Software which manages the overall operation of the computer system including:
hardware (CPU, RAM, I/O)
security
system interface
application interface
74. Putting it altogether!
Booting up the computer
Creating and saving a word processing document
Shutting down the computer
75. 1972 - Xerox Alto
Xerox Alto – first microcomputer.
Developed at Xerox PARC (Palo Alto
Research Center)
Not for consumer market.
1981 – Xerox Star
Xerox executives “just didn't get it”.
76. 1976 - Apple I
Steve Jobs and Steve Wozniak developed the Apple I microcomputer in their
basement.
Though it was a flop, its successor became the first popular home computer