16
Abacus An early device to record numeric values
Blaise Pascal Mechanical device to add, subtract, divide & multiply
Joseph Jacquard Jacquard’s Loom, the punched card
Charles BabbageAnalytical Engine
Early History of Computing
27
Ada LovelaceFirst Programmer, the loop
Alan TuringTuring Machine, Artificial Intelligence Testing
Harvard Mark I, ENIAC, UNIVAC IEarly computers launch new era in mathematics, physics, engineering and economics
Early History of Computing
38
Vacuum TubesLarge, not very reliable, generated a lot of heat
Magnetic Drum Memory device that rotated under a read/write head
Card Readers Magnetic Tape DrivesSequential auxiliary storage devices
First Generation Hardware (1951-1959)
49
TransistorReplaced vacuum tube, fast, small, durable, cheap
Magnetic CoresReplaced magnetic drums, information available instantly
Magnetic DisksReplaced magnetic tape, data can be accessed directly
Second Generation Hardware (1959-1965)
510
Integrated CircuitsReplaced circuit boards, smaller, cheaper, faster, more reliable
TransistorsNow used for memory construction
Terminal An input/output device with a keyboard and screen
Third Generation Hardware (1965-1971)
611
Large-scale IntegrationGreat advances in chip technology
PCs, the Commercial Market, WorkstationsPersonal Computers and Workstations emergeNew companies emerge: Apple, Sun, Dell …
LaptopsEveryone has his/her own portable computer
Fourth Generation Hardware (1971-?)
712
Parallel ComputingComputers rely on interconnected central processing and/or memory units that increase processing speed
NetworkingEthernet connects small computers to share resources File servers connect PCs in the late 1980s
ARPANET and LANs Internet
Parallel Computing and Networking
813
Machine LanguageComputer programs written in binary (1s and 0s)
Assembly Languages and TranslatorsPrograms written using mnemonics, which were translated into machine language
Programmer ChangesProgrammers divide into two groups: application programmers and systems programmers
First Generation Software (1951-1959)
9
Assembly/Machine
Systems programmerswrite the assembler(translator)
Applications programmers use assembly language to solve problems
1014
High-level LanguagesEnglish-like statements made programming easier:Fortran, COBOL, Lisp
Second Generation Software (1959-1965)
Systems programmerswrite translators forhigh-level languages
Applicationprogrammersuse high-levellanguages tosolve problems
1115
Third Generation Software (1965-1971)
Systems Software
Utility programs
Language translators
Operating system, which decides which programs to run and when
Separation between Users and HardwareComputer programmers write programs to be used by general public (i.e., nonprogrammers)
1216
Third Generation Software (1965-1971)
1317
Structured ProgrammingPascal CC++
New Application Software for UsersSpreadsheets Word processors Database management systems
Fourth Generation Software (1971-1989)
1418
MicrosoftWindows operating system and other Microsoft application programs dominate the market
Object-Oriented DesignBased on a hierarchy of data objects (i.e. Java, Python)
World Wide WebAllows easy global communication through the Internet
New UsersToday’s user needs no computer knowledge
Fifth Generation Software (1990- present)
1520
Programmer / User
Applications Programmer(uses tools)
User with No Computer Background
Systems Programmer(builds tools)
Domain-Specific Programs
Computing as a Tool
1621
Computing as a Discipline
What can be (efficiently) automated?
Four Necessary Skills• Algorithmic Thinking• Representation• Programming• Design
1723
Systems Areas of Computer Science
• Algorithms and Data Structures• Programming Languages• Architecture• Operating Systems• Software Methodology and Engineering• Human-Computer Communication
1824
Application Areas of Computer Science
• Numerical and Symbolic Computation• Databases and Information Retrieval• Artificial Intelligence and Robotics• Graphics• Organizational Informatics• Bioinformatics
19
What is a Computer?
• Computer – Device capable of performing computations
and making logical decisions– Computers process data under the control of
sets of instructions called computer programs
• Hardware – Various devices comprising a computer– Keyboard, screen, mouse, disks, memory,
CD-ROM, and processing units
20
• Software – Programs that run on a computer
21
• Six logical units in every computer:1. Input unit• Obtains information from input devices (keyboard,
mouse)
2. Output unit • Outputs information (to screen, to printer, to
control other devices)
3. Memory unit • Rapid access, low capacity, stores input
information
Computer Organization
22
4. Arithmetic and logic unit (ALU) • Performs arithmetic calculations and logic
decisions
5. Central processing unit (CPU) • Supervises and coordinates the other sections of
the computer
6. Secondary storage unit • Cheap, long-term, high-capacity storage• Stores inactive programs
234
Layers of a Computing System
24
• Batch processing– Do only one job or task at a time
• Operating systems – Manage transitions between jobs– Increased throughput• Amount of work computers process
• Multiprogramming – Computer resources are shared by many jobs
or tasks
Evolution of Operating Systems
25
• Timesharing– Computer runs a small portion of one user’s
job then moves on to service the next user
26
Personal Computing, Distributed Computing, and Client/Server
Computing• Personal computers
– Economical enough for individual
• Distributed computing – Computing distributed over networks
• Client/server computing– Sharing of information across computer
networks between file servers and clients (personal computers)
27
Machine Languages, Assembly Languages, and High-level
Languages
Three types of programming languages1. Machine languages • Strings of numbers giving machine specific
instructions• Example:
+1300042774+1400593419+1200274027
28
2. Assembly languages• English-like abbreviations representing
elementary computer operations (translated via assemblers)
• Example:LOAD BASEPAYADD OVERPAYSTORE GROSSPAY
29
3. High-level languages (Java, C++, Python)• Codes similar to everyday English• Use mathematical notations (translated via
compilers)• Example:
grossPay = basePay + overTimePay
30
History of the Internet• The Internet enables
– Quick and easy communication via e-mail– International networking of computers
• Packet switching– The transfer of digital data via small packets– Allows multiple users to send and receive
data simultaneously
• No centralized control– If one part of the Internet fails, other parts can
still operate
31
• TCP/IP• Bandwidth
– Information carrying capacity of communications lines
32
History of the World Wide Web
• World Wide Web – Locate and view multimedia-based
documents on almost any subject– Makes information instantly and conveniently
accessible worldwide– Possible for individuals and small businesses
to get worldwide exposure– Changing the way business is done
Top Related