1.1 Computing Systems
Computing systems -dynamic entitiesused to solve problems and interact with their environment.
They consist of devices, programs, and data.
Hardware - The physical elements of a computing system (printer, circuit boards, wires, keyboard…).
Software - The programs that provide the instructions for a computer to execute.
Data - Information in a form a computer can use.
 reflects the way we represent information on a computer
 information on computers is managed using binary digits
 numbers, text, images, audio and video are all represented using binary format
 physical hardware of a computer system
 includes devices such as gates and circuits, which control the flow of electricity
 this circuitry gives rise to components such as the CPU and memory
 software instructions used to accomplish computations and manage data
 the goal is to solve problems
Operating System
 help us interact with the computer system and manage the way hardware devices, programs
and data interact
 ex. Windows XP, Linux, Mac OS
 focuses on using the computer to solve specific real world problems
 programs allow us to take advantage of the computer’s abilities in other domains
 ex. Information systems, artificial intelligence, simulation
 use computers to communicate
 computers are connected into networks in order to share information and resources
 the internet has revolutionized computer use
Abstraction - A mental model, or way to think about something, which removes or hides complex details
1.2 History of Computing
Abacus (2400 BC)
An early device to record numeric values.
Blaise Pascal (1623-1662)
Created a mechanical device to add and subtract
Gottfried Wilhelm von Leibniz (1646-1716)
Created a mechanical device to perform all four whole number operations.
Joseph Jacquard
Jacquard’s Loom (1801), the punched card
Charles Babbage (1792-1871)
Difference Engine, Analytical Engine
Augusta Ada Byron (Lovelace)
Babage’s assistant
Considered to be the first Programmer,
Invented the concept of the loop
William Burroughs (1857-1898)
Adding Machine
Herman Hollerith (1860-1929)
Electro-mechanical Tabulator
Alan Turing (1912-1954)
Turing Machine - an abstract mathematical model
Artificial Intelligence Testing
Early computers launch new era in mathematics, physics, engineering and economics:
 Harvard Mark I (1939)
 ENIAC - Electronic Numerical Integrator and Calculator
 EDVAC - Electronic Discrete Variable Automatic Computer
o first machine with a stored program
 UNIVAC I - Universal Automatic Computer (1951)
First Generation Hardware (1951-1959)
Vacuum Tubes
 Large, not very reliable, generated a lot of heat
Magnetic Drum
 Memory device that rotated under a read/write head
Card Readers  Magnetic Tape Drives
 Sequential auxiliary storage devices
Second Generation Hardware (1959-1965)
 Replaced vacuum tube
 fast, small, durable, cheap
Magnetic Cores
 Replaced magnetic drums
 information available instantly
Magnetic Disks
 Replaced magnetic tape
 data can be accessed directly
Third Generation Hardware (1965-1971)
Integrated Circuits
 Replaced circuit boards
 smaller, cheaper, faster, more reliable
 Now used for memory construction
 An input/output device with a keyboard and screen
Fourth Generation Hardware (1971-?)
Large-scale Integration
 Great advances in chip technology
PCs, the Commercial Market, Workstations
 Personal Computers were developed as new companies like Apple and Atari came into being
 Workstations emerged
Moore’s Law restated in a different form
 “computers will either double in power at the same price or halve in cost for the same power
every 18 months”
Parallel Computing and Networking
Parallel Computing
 Computers rely on interconnected central processing units that increase processing speed.
 With the Ethernet small computers could be connected and share resources. A file server
connected PCs in the late 1980s.
ARPANET and LANs  Internet
First Generation Software (1951-1959)
Machine Language
 Computer programs were written in binary (1s and 0s).
Assembly Languages and translators
 Programs were written in artificial programming languages and were then translated into
machine language.
Programmer Changes
 Programmers divide into application programmers and systems programmers.
Second Generation Software (1959-1965)
High Level Languages
 English-like statements make programming easier.
 Fortran, COBOL, Lisp are examples.
 Application programmers
Third Generation Software (1965-1971)
Systems Software
 utility programs,
 language translators,
 and the operating system, which decides which programs to run and when.
Separation between Users and Hardware
 Computer programmers began to write programs to be used by people who did not know how
to program.
Fourth Generation Software (1971-1989)
Structured Programming
 Pascal, C, C++
New Application Software for Users
 spreadsheets
 word processors
 database management systems
Fifth Generation Software (1990- present)
 The Windows operating system, and other Microsoft application programs dominate the
Object-Oriented Design
 Based on a hierarchy of data objects (i.e. Java).
World Wide Web
 Allows easy global communication through the Internet.
New Users
 Today’s user needs no computer knowledge.
Computing as a Tool:
Chapter 11 refer to class notes CSE_A_ch11