Professional Documents
Culture Documents
(Week 1) Lecture Note
(Week 1) Lecture Note
ng
1
Learning Objectives
Understand computer science and its sub-fields
Explore the generation of computers from
mechanical to multimedia
Explore the hardware components of a computer
2
What is Computer Science?
It is the study of the theoretical foundations of
information and computation and their
implementation and application in computer
systems.
Computer Science is a broad discipline with a
number of sub fields.
3
Sub-fields of Computer Science
Computer Science can be split into two major
categories:
– Theoretical Computer Science
– Applied Computer Science
4
www.covenantuniversity.edu.ng
5
1. Theory of computation
• Focuses on answering fundamental
questions about what can be computed
and what amount of resources are
required to perform those computations.
• Computational complexity theory
deals with the resources required during
computation to solve a given problem.
– It includes the studies of time, space and
cost associated with different approaches to
solving a computational problem.
6
2. Algorithms and Data Structures
• Algorithms and Data
Structures is the study of
commonly used
computational methods
and their computational
efficiency.
7
2. Algorithms and Data Structures
Algorithm is an effective method for
solving a problem using a finite sequence
of instructions.
8
3. Programming language theory
This deals with the design, implementation,
analysis, characterization and classification of
programming languages and their individual
features.
9
www.covenantuniversity.edu.ng
10
1. Computer Architecture
• Computer architecture is the
conceptual design and
fundamental operational
structure of a computer system.
• Focuses largely on the way by
which the central processing
unit performs internally and
accesses addresses in memory
11
2. Artificial Intelligence
This branch of computer science aims to
create synthetic systems which solve
computational problems, reason and/or
communicate like animals and humans do.
Machine Learning
It requires a very rigorous and integrated
expertise in multiple subject areas such as
Data Mining
applied mathematics, logic, semiotics,
electrical engineering, philosophy of
mind.
Robotics
12
3. Computational Science
It is also referred to as scientific computing
It is a field of study concerned with constructing mathematical
models and quantitative analysis techniques and using
computers to analyze and solve scientific problems.
In practical use, it is typically the application of computer
simulation and other forms of computation to problems in
various scientific disciplines e.g. Numerical analysis and
Bioinformatics
13
4. Computer Networks
This branch of computer science aims to manage
networks between computers worldwide.
14
5. Software Engineering
Software Engineering is the study of designing,
implementing, and modifying software in order to
ensure it is of high quality, affordable, maintainable,
and fast to build.
It is a systematic approach to software design,
involving the application of engineering practices to
software.
15
www.covenantuniversity.edu.ng
History of Computers
16
1. Abacus
This was used for counting during the era of Greek
and Roman civilizations
17
Advantages and Limitations of Abacus
Advantage
– It aids the memory of the human performing calculation
Disadvantage
– Relies on human operator for the control of algorithm
– It is merely a data storage device
– It is only fast with addition and subtraction
18
2. Gear driven calculating machine
Among the inventors of this machine were Blaise
Pascal (1623-1662), Wilhelm Leibniz (1646-1716)
and Charles Babbage (1792-18711).
These machines represented data through gear
positioning, with data being input mechanically by
establishing initial gear positions in the same way
we read numbers on a car’s odometer.
19
Blaise Pascal’s machine
20
Limitations of the Pascaline
These machines were limited in use for instance
Pascal built 50 of this gear-driven one-function
calculator (it could only add) but couldn't sell
many because of their exorbitant cost and because
they really weren't that accurate.
21
Babbage Difference Engine
• Charles Babbage envisioned machines that would print results
of computations on paper so that the possibility of transcription
error would be eliminated.
• He proposed the Difference Engine.
25
Figure 3: The Harvard Mark I: An electro-mechanical computer
26
First Generation Computers (1937-1953)
These machines were used in business for accounting and payroll
applications.
Valves were unreliable components generating a lot of heat.
They had very limited memory capacity.
– Magnetic drums were developed to store information and tapes were also
developed for secondary storage.
They were initially programmed in machine language (binary).
– A major breakthrough was the development of assemblers and assembly
language.
27
Second Generation (1954-1962)
The development of the transistor revolutionized the development of computers.
– Invented at Bell Labs in 1948, transistors were much smaller, more rugged, cheaper to
make and far more reliable than valves.
Core memory was introduced and disk storage was also used.
– The hardware became smaller and more reliable, a trend that still continues.
Another major feature of the second generation was the use of high-level
programming languages such as Fortran and Cobol.
– These revolutionized the development of software for computers.
– The computer industry experienced explosive growth.
28
Third Generation (1963-1972)
IC’s (Integrated Circuits) were again smaller, cheaper, faster and more reliable
than transistors.
– Speeds went from the microsecond to the nanosecond (billionth) to the picosecond
(trillionth) range.
– ICs were used for main memory despite the disadvantage of being volatile.
– Minicomputers were also developed at this time.
Terminals replaced punched cards for data entry and disk packs became
popular for secondary storage.
IBM introduced the idea of a compatible family of computers, 360 family,
easing the problem of upgrading to a more powerful machine
29
Third Generation (1963-1972)
Substantial operating systems were developed to manage and share the
computing resources and time sharing operating systems were developed.
– These greatly improved the efficiency of computers.
Computers had by now pervaded most areas of business and administration.
The number of transistors that could be fabricated on a chip is referred to as
the scale of integration (SI).
– Early chips had SSI (small SI) of tens to a few hundreds.
– Later chips were MSI (Medium SI): hundreds to a few thousands,.
– Then came LSI chips (Large SI) in the thousands range.
30
Fourth Generation (1972-1984)
VLSI allowed the equivalent of tens of thousand of transistors
to be incorporated on a single chip.
This led to the development of the microprocessor a processor
on a chip.
Intel produced the 4004 which was followed by the 8008, 8080,
8088 and 8086 etc.
Other companies developing microprocessors included
Motorolla (6800, 68000), Texas Instruments and Zilog.
31
Fourth Generation (1972-1984)
Personal computers were developed and IBM launched
the IBM PC based on the 8088 and 8086 microprocessors.
Mainframe computers had grown in power.
Memory chips were in the megabit range.
Secondary storage had also evolved at fantastic rates with
storage devices holding gigabytes (1000Mb = 1 Gb) of
data.
32
Fourth Generation (1972-1984)
On the software side, more powerful operating systems
were available such as Unix.
Applications software had become cheaper and easier to
use.
Software development techniques had greatly improved.
– Fourth generation languages 4GLs made the development
process much easier and faster.
33
Fourth Generation (1972-1984)
Languages are also classified according to generations from
machine language (1GL), assembly language (2GL), high
level languages (3GL) to 4GLs.
Software is often developed as application packages. VisiCalc
a spreadsheet program, was the pioneering application package
and the original killer application.
Killer application: A piece of software that is so useful that
people will buy a computer to use that application.
34
Fifth Generation (1984-1990)
The development of this next generation of computer systems is
characterized mainly by the acceptance of parallel processing.
The scale of integration in semiconductors continued at an
incredible pace - by 1990 it was possible to build chips with a
million components - and semiconductor memories became
standard on all computers.
Other new developments were the widespread use of computer
networks and the increasing use of single-user workstations
35
Sixth Generation (1990-2005)
This generation of computers begins with many
gains in parallel computing, both in the hardware
area and in improved understanding of how to
develop algorithms to exploit diverse, massively
parallel architectures
36
What is a computer?
It is an electronic device that is programmed to process information from one
form to another.
– It receives input, stores and manipulates data, and provides output in a useful format.
– It runs on electricity and it has mechanical components.
It is a machine capable of executing instructions to perform operations on data.
The distinguishing feature of a computer is its ability to store its own
instructions.
– This ability makes it possible for a computer to perform many operations without the
need for a person to enter new instructions each time.
37
Basic Types of Computer
Mainframes are computers used mainly by large organizations
for critical applications, typically bulk data processing such as
census, industry and consumer statistics, enterprise resource
planning, and financial transaction processing.
Minicomputer is a class of multi-user computers that lies in the
middle range of the computing spectrum, in between the largest
multi-user systems (mainframe computers) and the smallest
single-user systems (microcomputers or personal computers).
38
Basic Types of Computer
Micro-computer is the one with a microprocessor as its
central processing unit.
– It occupies physically less space than mainframe and minicomputers.
– It is designed to be used by individuals, in homes or offices whether
in the form of PCs, workstations or notebook computers.
A microcomputer contains a microprocessor, a memory system
typically storage memory and random access memory, a bus
system and I/O ports, provided in a motherboard.
39
Main Components of a Computer
The Hardware Components
The Software (or programs) Component
40
Hardware Component
Refers to the physical components which make up a computer
system.
The main hardware components of microcomputers are:
– Central Processing Unit (CPU) and/or Microprocessor
– Main Memory
– Motherboard
– Secondary Storage (e.g. Hard Drive)
– Peripherals
41
Central Processing Unit (CPU) or processor
The CPU is an electronic circuit that can execute computer
programs.
CPU performs most of the calculation which enable
computer to function, and it is sometimes referred to as the
brain of the computer.
The more powerful the processor, the faster the system goes.
Processor power is often measured by its clock frequency.
42
Central Processing Unit (CPU)
The CPU is divided into two parts:
– Arithmetic/Logic Unit (ALU): Processes data
arithmetically (addition, subtraction, multiplication,
division) or logically (greater than, less than, equal to)
– Control Unit: Works with the operating system to
move data between auxiliary storage and main memory;
and between main memory and the ALU
43
Microprocessor
It is a computer processor on a microchip.
Its actual size is about: 12×6.75 mm.
It is sometimes called a logic chip.
Microprocessor and CPU are often used interchangeable.
– The technology of the microprocessor has become so advanced that it has the ability to
contain not just one but up to four CPUs inside it, as in the case of quad core
microprocessors.
It is important to note that all CPUs are microprocessors, but not all
microprocessors are CPUs.
44
Memory
It is the internal storage area in the computer.
– The term memory identifies data storage that comes in
the form of chips i.e. RAM, and the word storage is used
for memory that exists on tapes or disks i.e. Hard drive.
RAM stands for Random Access Memory.
– Its purpose is to store the information and instructions
that operate the computer's programs.
45
RAM
A more recent development is solid-state RAM.
– Solid state RAM can contain information even if there is no power supply.
– Flash drives are removable storage devices that utilize solid-state RAM to
store information for long periods of time.
There are mainly two types of RAM i.e. Dynamic RAM (DRAM) and
Static RAM (SRAM).
Comparatively DRAMs are slower and cumbersome than SRAM
which are faster, expensive and can hold more information.
46
Hard Drive
Hard drive (Hard Disk Drive - HDD) is another type of memory, which
stores programs and information.
– It provides relatively quick access to large amounts of data on an
electromagnetically charged surface(s).
– Microcomputers typically come with a hard disk that contains several billion
bytes.
– HDD records data onto fixed platters spinning in an environmentally-controlled
container.
– Hard disks have generally fast access times and connect to the computer via
special interfaces, (IDE, SCSI, etc).
47
Hard Drive
Hard drives can be internal (inside of case) and
external.
The needed capacity of the hard drive depends on
how many applications you will use.
48
Storage
Storage devices are required because main memory is limited, expensive
and volatile.
This is divided into two types:
– Sequential Access Storage Devices (SASD): Data storage and retrieval is done in
sequential order. Common example is magnetic tape. SASDs support batch
processing environment and are also used for backup.
– Direct Access Storage Devices (DASD): Data can be stored and retrieved
randomly. DASD is required for transaction processing. Examples of DASD are:
• Floppy Disk: Removable DASD. Most common density is 1.44Mb.
• Hard Disk: Higher storage capacity than floppy disks. Faster access.
49
Motherboard
A motherboard allows all the parts of a Micro computer to receive power and
communicate with one another.
It's main job is to hold the computer's microprocessor chip and let everything
else connect to it.
50
Peripherals
Any device that is attached to the computer is considered a peripheral.
Examples include the printer, monitor, and mouse. Information and
commands are transferred from the computer to the peripheral device
through controllers, which are often single chips.
Controllers for items like the keyboard and disk drives are standard,
while additional devices such as a modem usually require the insertion
of new controllers from the expansion board.
51
Examples of Peripherals
Badge Reader, Bar-code Reader, Biometrics
capture, CD Rom, Digital camera, Digital
scanners, Keyboard, mouse, pens, Voice, SASD &
DASD drives, Printers, Plotter, Speech synthesizer,
etc.
52
Assignment
Find out some other definitions of computer
science
Identify and briefly discuss other sub-fields of
computer science
– Maximum of 1 Page
53