2. TOPIC 1: COMPUTER SYSTEMS
• A computer is a device.
• A computing system, on the other hand, is a dynamic entity, used to solve problems and interact with
its environment. A computing system is composed of hardware, software, and the data that they
manage.
• Computer hardware is the collection of physical elements that make up the machine and its related
pieces: boxes, circuit boards, chips, wires, disk drives, keyboards, monitors, printers, and so on.
• Computer software is the collection of programs that provide the instructions that a computer carries
out. And at the very heart of a computer system is the information that it manages. Without data, the
hardware and software are essentially useless.
3. THE HISTORY OF COMPUTING
• The devices that assist humans in various forms of computation have their
• roots in the ancient past and have continued to evolve throughout the present
• day.
4. EARLY HISTORY
• The abacus, which appeared in the sixteenth century, was developed as an instrument to record
numeric values and on which a human can perform basic arithmetic.
• In the middle of the seventeenth century, Blaise Pascal, a French mathematician, built and sold
gear-driven mechanical machines, which performed whole-number addition and subtraction.
• Later in the seventeenth century, a German mathematician, Gottfried Wilhelm von Leibniz, built the
first mechanical device designed to do all four whole-number operations: addition, subtraction,
multiplication, and division.
• Unfortunately, the state of mechanical gears and levers at that time was such that the Leibniz
machine was not very reliable.
5. FIRST GENERATION (1951Ð1959)
• Commercial computers in the first generation (from approximately
1951Ð1959) were built using vacuum tubes to store information.
• The machines that used them required heavy-duty air-conditioning and
frequent maintenance. They also required very large, specially built rooms.
• The primary memory device of this first generation of computers was a
magnetic drum that rotated under a read/write head. When the memory cell
that was being accessed rotated under the read/write head, the data was
written to or read from that place.
6. FIRST GENERATION (1951Ð1959)
• The input device was a card reader that read the holes punched in an IBM
card (a descendant of the Hollerith card).
• The output device was either a punched card or a line printer. By the end of
this generation, magnetic tape drives had been developed that were much
faster than card readers.
• Magnetic tapes are sequential storage devices, meaning that the data on the
tape must be accessed one after another in a linear fashion.
7. FIRST GENERATION (1951Ð1959)
• Storage devices external to the computer memory are called auxiliary storage
devices.
• The magnetic tape was the first of these devices. Collectively, input devices,
output devices, and auxiliary storage devices became known as peripheral
devices.
8. SECOND GENERATION (1959Ð1965)
• The advent of the transistor ushered in the second generation of commercial computers.
The transistor replaced the vacuum tube as the main component in the hardware. The
transistor was smaller, more reliable, faster, more durable, and cheaper.
• The second generation also witnessed the advent of immediate-access memory. When
accessing information from a drum, the CPU had to wait for the proper place to rotate
under the read/write head. The second generation used memory made from magnetic
cores, tiny doughnut-shaped devices, each capable of storing one bit of information.
9. SECOND GENERATION (1959Ð1965)
• These cores were strung together with wires to form cells, and cells were combined into a
memory unit. Because the device was motionless and was accessed electronically,
information was available instantly.
• The magnetic disk, a new auxiliary storage device, was also developed during the second
generation. The magnetic disk is faster than magnetic tape because each data item can be
accessed directly by referring to its location on the disk. Unlike a tape, which cannot access
a piece of data without accessing everything on the tape that comes before it, a disk is
organized so that each piece of data has its own location identifier calledan address.
10. THIRD GENERATION (1965Ð1971)
• In the second generation, transistors and other components for the computer were assembled by
hand on printed circuit boards.
• The third generation is characterized by integrated circuits (IC), solid pieces of silicon that contained
the transistors, other components, and their connections. Integrated circuits were much smaller,
cheaper, faster, and
• more reliable than printed circuit boards. Gordon Moore, one of the cofounders of Intel, noted that
from the time of the invention of the IC,
• the number of circuits that could be placed on a single integrated circuit was doubling each year.
This observation became known as Moore’s law
11. FOURTH GENERATION (1971Ð?)
• Large-scale integration characterizes the fourth generation. From several
thousand transistors to a silicon chip in the early 1970s, we moved to a whole
microcomputer on a chip by the middle of the decade.
• Main memory devices are still made almost exclusively out of chip technology.
• Over the previous 40 years, each generation of computer hardware had
become more powerful in a smaller package at lower cost. Moore’s law was
modified to say that chip density was doubling every 18 months.
12. PARALLEL COMPUTING
• Though computers that use a single primary processing unit continue to flourish,
radically new machine architectures began appearing in the late eighties.
Computers that use these parallel architectures rely on a set of interconnected
central processing units.
• One class of parallel machines is organized so that the processors all share
the same memory unit. In another, each central processor has its own local
memory and communicates with the others over a very fast internal network.
13. PARALLEL COMPUTING
• Parallel architectures offer several ways to increase the speed of execution.
• For example, a given step in a program can be separated into multiple pieces,
and those pieces can be executed simultaneously on several individual processors.
• These machines are called SIMD (single-instruction, multiple-data-stream)
computers. A second class of machines can work on different parts of a program
simultaneously. These machines are called MIMD (multiple-instruction, multiple-
data stream) computers.
14. A BRIEF HISTORY OF COMPUTING SOFTWARE
• The hardware of a computer can be turned on, but it does nothing until
directed by the programs that make up the computer’s software. The manner
in which software evolved is crucial to understanding how software works in a
modern computing system.
15. FIRST-GENERATION SOFTWARE (1951Ð1959)
• The first programs were written using machine language, the instructions built into
the electrical circuitry of a particular computer.
• Even the small task of adding two numbers together used three instructions written
in binary (1s and 0s), and the programmer had to remember which combination of
binary digits means what. Programmers using machine language had to be very
• good with numbers and very detail-oriented.
• It’s not surprising that the first programmers were mathematicians and engineers
16. FIRST-GENERATION SOFTWARE (1951Ð1959)
• Nevertheless, programming in machine language is both time-consuming and
prone to errors.
• Because writing in machine code is so tedious, some programmers took the
time to develop tools to help with the programming process.
• Thus the first artificial programming languages were developed. These
languages, called assembly languages, used mnemonic codes to represent
each machine-language instruction.
17. A BRIEF HISTORY OF COMPUTING SOFTWARE
• Because every program that is executed on a computer eventually must be in
the form of the computer’s machine language, the developers of assembly
language also created software translators to translate programs written in
assembly language into machine code. A program called an assembler reads
each of the program’s instructions in mnemonic form and translates it into the
machine-language equivalent. These mnemonics are abbreviated and
sometimes difficult to read, but they are much easier to use than long strings of
binary digits.
18. SECOND-GENERATION SOFTWARE (1959Ð1965)
• As hardware became more powerful, more powerful tools were needed to use it
effectively. Assembly languages were certainly a step in the right direction, but
the programmer still was forced to think in terms of individual machine instructions.
The second generation saw more powerful languages developed. These high-level
languages allowed the programmer to write instructions using more English-like
statements.
• A program written in FORTRAN or COBOL can be translated and run on any
machine that has a translating program called a compiler.
20. FOURTH GENERATION (1971Ð1989)
• The 1970s saw the introduction of better programming techniques called
structured programming, a logical, disciplined approach to programming.
• The languages Pascal and Modula-2 were built on the principles of structured
programming. And BASIC, a language introduced for third-generation machines,
was refined and upgraded to more-structured versions. C, a language that allows
the user to intersperse assembly-language statements, was also introduced. C++,
a structured language that also allows the user access to low-level statements,
became the language of choice in industry.
21. FOURTH GENERATION (1971Ð1989)
• Better and more powerful operating systems also were being developed.
• UNIX, developed at AT&T as a research tool, has become standard in many
university settings. PC-DOS, developed for IBM PC, and MS-DOS, developed
for compatibles, became standards for personal computers.
• The operating system for the Macintosh introduced the concept of the mouse
and the point-and-click graphical interface, thus changing user/computer
interaction drastically.
22. FOURTH GENERATION (1971Ð1989)
• High-quality, reasonably priced applications software packages became
available at neighborhood stores. These programs allow the user with no computer
experience to do a specific task.
• Three typical kinds of application packages are spreadsheets, word processors,
and database management systems. Lotus 1-2-3 was the first commercially
successful spreadsheet that allowed a novice user to enter and analyze all kinds of
data. WordPerfect was one of the first real-word processors, and dBase IV was a
system that let the user store, organize, and retrieve data.
23. FIFTH GENERATION (1990ÐPRESENT)
• The fifth generation is notable for three major events: the rise of Microsoft as a
dominant player in computer software; object-oriented design and programming;
and the World Wide Web.
• Microsoft’s Windows operating system became dominant in the PC market during
this period. Although WordPerfect continued to improve, Microsoft’s Word became
the most used word processing program. In the mid 90s word processors,
spreadsheet programs, database programs, and other application programs were
bundled together into super packages called office suites.
24. FIFTH GENERATION (1990ÐPRESENT)
• Object-oriented design became the design of choice for large programming
projects. Whereas structured design is based on a hierarchy of tasks, object-
oriented design is based on a hierarchy of data objects. Java, a language
designed by Sun Microsystems for object-oriented programming, began to rival
C++.
• The World Wide Web made it easy to use the Internet to share information
around the world. A browser is a program that allows a user to access information
from web sites worldwide.
25. COMPUTING AS A TOOL AND A DISCIPLINE
• At the end of the first generation, the user split into two groups: the systems
programmer who developed tools to make programming easier and the
applications programmer who used the tools. Later applications programmers
built large domain-specific programs such as statistical packages, word
processors, spreadsheets, intelligent browsers, virtual environments, and medical
diagnosis applications on top of the traditional language tools. These
application programs were in turn used by practitioners with no computer
background.
26. COMPUTING AS A TOOL AND A DISCIPLINE
SUB AREAS OF COMPUTER SCIENCE
ALGORITHMS & DATA STRUCTURES
PROGRAMMING LANGUAGES
ARCHITECTURE
NUMERICAL & SYMBOLIC COMPUTATION
OPERATING SYSTEMS
SOFTWARE METHODOLOGY & ENGINEERING
DATABASES & INFORMATION RETRIEVAL
ARTIFICIAL INTELLIGENCE & ROBOTICS
HUMAN-COMPUTER INTERACTION
COMPUTER GRAPHICS
ORGANIZATIONAL INFORMATICS
BIOINFORMATICS