0% found this document useful (0 votes)
168 views15 pages

Chapter 1: An Overview of Computer Science

This document provides an overview of computer science and computer systems. It discusses computer science as the study of computation and its applications. It also covers the evolution of computer systems from early generations that used vacuum tubes to modern systems that incorporate integrated circuits. The document defines key computer science concepts like data, information, and algorithms. It also categorizes types of computers based on their method of operation, purpose, and physical attributes.

Uploaded by

adane worku
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
168 views15 pages

Chapter 1: An Overview of Computer Science

This document provides an overview of computer science and computer systems. It discusses computer science as the study of computation and its applications. It also covers the evolution of computer systems from early generations that used vacuum tubes to modern systems that incorporate integrated circuits. The document defines key computer science concepts like data, information, and algorithms. It also categorizes types of computers based on their method of operation, purpose, and physical attributes.

Uploaded by

adane worku
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Chapter 1: An overview of computer science

 Computer science is the study of the theory, experimentation, and engineering that form
the basis for the design and use of computers.
 Computer science is the study of the theoretical foundations of information and
computation, and of practical techniques for their implementation and application in
computer systems.

It is the scientific and practical approach to computation and its applications and the
systematic study of the feasibility, structure, expression, and mechanization of the
methodical procedures (or algorithms) that underlie the acquisition, representation,
processing, storage, communication of, and access to information.

Its fields can be divided into a variety of theoretical and practical disciplines.

• Computer graphics: emphasize real-world visual applications


• Programming language theory: considers various approaches to the description of
computation, while the study of computer programming itself investigates various
aspects of the use of programming language and complex systems.
• Human–computer interaction: considers the challenges in making computers and
computations useful, usable, and universally accessible to humans.

Computer
Science

Engineering Communication Others

Computer Basic Artificial


Enginering Networking Intelligence

Software Distributed
NLP
Engineering Systems

Hardware Mobile GIS and Remot


Engineering Networking Sensing

Pervasive
What is a computer?
In the simplest definition, computer is an electronic device that takes input such as raw data
which can be numbers, text, sound, image, animations, video, etc., processes it, and
converts it into meaningful information that could be understood, presenting the changed
input (processed input) as output.

What is Data?

o Data is raw, unorganized facts that need to be processed.


o It is a collection of symbols that represent a thing, a concept or an event
o It is any collection of figures that are arranged in general accessed principle or
convention.

Data Processing

o It is the process of rearrangement of collected data in to our desire.


o It is the process of collecting, arranging and representing of a given fact in accordance
with sets of rules.

What is Information

o When data is processed, organized, structured or presented in a given context so as to


make it useful, it is called information.

Data Processing Cycle

Can Be both data or information.


Input
 When the input is Information the process
is called Information Processing instead
of data processing.

Output Process

Information
Chapter 2: Computer System and Its Evolutions
Evolution of computer system from a user’s point of view
Early Days Later Days

User
User User Computer User
Computer

User User
Current

Computer
Computer
Computer

User
Computer Computer

Generations of computers
Although computer professionals do not agree on exact dates or specifics, computer
developments are often categorized by generations. Actually there are four generations and
major characteristics that distinguish these generations are the following;

• Dominant type of electronic circuit elements used.


• Major secondary storage media used.
• Computer language used.
• Types or characteristic of operating system used.
• Memory access time (a time to store or retrieve a word or data from memory).

Computer generations are usually categorized by dramatic improvement in the hardware,


typically tenfold or better increases in speed and reliability.
First generation (1950s)

This generation computer used vacuum tubes as components for the electronic circuit.
Punched cards were the main source of inputs, and magnetic grams were used for internal
storage. They operate in a speed of milliseconds (thousands of a second) and could handle
more than 10,000 additions each second. Most applications were scientific calculations.

Second generations (early 1960s)

Transistors were the main circuit components. Invented by Bell Labs, the transistor was
smaller, faster and more reliable than the vacuum tube. Magnetic cores, used for main
storage, could be concerned in microseconds (millionths of a second) with more than
200,000 additions possible each second. Business applications become more common
place, with large data files stored on magnetic tape and disk.

Examples: IBM 1620 –small scientific computers, IBM 1401 –small to medium commercial
computers, IBM 7094 –large scientific computer.

High level languages COBOL and FORTRAN were introduced during this period. Batch
operating systems are used that permitted rapid processing of magnetic tape files.

Third generation (late 1960s, early 1970s)

It was characterized by solid-state logic and integrated circuit (IC). Computer storage
switched from magnetic cores to integrated circuit boards that provide modularity
(expandable storage) and compatibility (interchangeable equipment). Software become
more important with sophisticated operating systems, improved programming languages,
and new input/output methods such as optical scanning and plotters.

Example: IBM system /360 was the dominant, IBM 1130

Fourth generation (late 1970s, early 1989s,)

It has greatly expanded storage capabilities and improved circuitry. It has large scale
integrated circuits (LSI) which has several hundred thousand transistors placed on one tiny
silicon chip. Computer memory operates at speeds of Nano-seconds (billionths of a second)
with large computers capable of adding 15 million numbers per second.

The fifth generation computer

It is in progress. An architecture, which makes use of the changes in technology and allows a
simple and natural methodology for solving problems, is being sought.
These computers will have:

• Intelligent processors, i.e., processors which can draw inferences.


• Users will also be able to interact with them in natural languages such as English,
German etc.

Types of Computers
There are different types of computers. Their differences depend on different categories of
characteristics.

A. Classification by the method of operation (processing)

Computers are classified by the type of data they are designed to process. They are
classified into three:

1. Analog Computers

Analog computers operate by measuring. They deal with continues variables, they don’t
compete directly with numbers, rather, they operate by measuring physical magnitude such
as pressure, temperature, voltage, current etc. They are special purpose computers.

Examples: Thermometer, Voltmeter, Speedometer, Gasoline pomp, etc.

2. Digital Computers

Digital computers deal with discrete variables; they operate by counting rather than
measuring. They operate directly up on numbers (or digits) that represent numbers, letters,
or other special symbols. Digital computers have very high accuracy and speed than the
analog ones.

Examples: Abacus, Desk & pocket computers and most general purpose computers

III. Hybrid computers

The best features of analog and digital computers can be combined into a single device to
form a hybrid computer. A hybrid computer processes the information by collecting input
data with analog method, converts it into digital quantities, processes the digital values and
converts the output from digital to analog form.

Example: In hospital insensitive-care unit analog devices may measure a patient’s heart
function, temperature and other vital signs. These measurements may then be converted
into numbers and supplied to a digital component in the system. This component is used to
monitor the patient’s vital signs and to send an immediate signal to the nurse’s station if any
abnormal readings are detected.
B. Classification by purpose of application

Computers can be applied or used for different purposes. Based upon their application, they
are classified as special purpose or general purpose computers.

I. Special purpose computers

They are designed to solve a single type of problem, that is their components and their
functions are uniquely adapted to a specific situation involving specific application. Most
analog computers are special purpose computers.

Example: The public telephone box, Traffic control system, Ticket machines (used in grocery,
super market etc.)

II. General purpose computers

They are designed to solve variety of problems through the use of “store program concept”.
A program or set of instructions designed to solve a problem is read and stored into the
memory and then executed by the computer one by one. The same computer can be
applied to solve another set of problem using different program. General computers are
more flexible and versatile.

Examples: Microcomputers, Mini computers, Super computers etc.

C. Classification by physical size, price, capacity and performance

At this stage, by a computer, we mean a general-purpose digital computer. General-purpose


digital computers are then classified as follows by their capacity and size.

Super computer: - is the fastest, largest and most potential type of computer. They have
speed of hundreds of millions of operation per second, a primary memory capacity of about
80 million characters, and a secondary memory of capacity of about 20 times its primary
memory. They are multi-user systems in intercontinental range. They can carry out
enormously complex scientific calculations. They are used to process huge amount of data
and are commonly used in space technology centers, meteorology stations, astronomical
observatories, intercontinental communications, airline organizations.

Mainframe computers: - Smaller than in size and capacity, lower in speed & memory
capacity than the super computers. However, they are multi-user systems and handle
hundreds of users, usually used in large organizations. The older ones used punched card for
data input.
Mini computers: - have relatively lower speed, can handle multi-users, are smaller in size
than the mainframe computers. They use terminals for inputs and output. Mini computers
are used in small organizations.

Microcomputers: -are the most widely used type of computers. They are single users, can
fit on desktops, are of varying capacity and easy to handle. Microcomputers are sometimes
referred as personal computers. They have video display unit for output purpose. Data is
entered through the keyboard and by the help of floppy disk.

Computers Systems
System is a group of components, consisting of subsystems or procedures that work in a
coordination fashion to achieve some objective.

Hardware: is the physical equipment of the computer


you see, you use to and the parts you can touch.
Hardware
Computer Basic Physical components of a computer system
Software The basic units of a computer system include Central
Processing Unit (CPU), Storage Devices, Input Devices,
Output Devices and Communication Bus. Below is given a detailed explanation of these
devices.

1. Central Processing Unit (CPU) or Processor

It is also referred as the brain of the system. It is that part of the process the data which
contains electronic circuit to process the data. Depending on the instructions of input
devices it performs operations on the data. It also controls the flow of data through the
system, directing the data to enter the system, placing it in memory and retrieving it when
required and directing the output.

The CPU consists of Arithmetical Logic Unit and Control Unit


ALU (Arithmetical Logic Unit): It takes logical decision and performs all type of arithmetical
calculations.

CU (Control unit): It controls all the activities of other units of computer system. It receives
instructions from memory unit. It decodes these instructions. It decides the routing and
storage of these instructions.
2. Primary Storage Devices/ main Memory

RAM (Random Access Memory)

• Is that the memory which is directly accessible by the control unit and ALU;
• Usually referred as Random Access Memory (RAM), because each memory location
can be accessed without having to work sequentially through hundreds or even
thousands of memory locations called addresses;
• Each memory location can be referred by its memory location (address);
• Holds instructions and data elements which are currently being used by the
computer;
• The data in the main memory while be lost when the power is off;

ROM (Read Only Memory)

• This type of memory is integrated into the circuitry of the computer and cannot be
altered without altering the computer circuitry;
• Used to store basic hardware information;

3. Secondary storage Devices/ Auxiliary Memory

Secondary storage or auxiliary storage, can take many forms, which have traditionally
included punched cards, papers tape, magnetic tape, magnetic disk and magnetic drum. This
storage media are stores data and information permanently.

Magnetic Tapes

Magnetic tapes are a particularly popular form of secondary storage because of their high
data density (the number of bytes of instruction per inch of tape) and their convenience in
handling. Magnetic tapes are approximately one - half inch wide is made of Mylar – based
plastic film which can be magnetized. Data are stored on a magnetic tape by running the
tape over the electromagnetic called read/write head which magnetizes small spots on the
tape. Seven-track tapes store information as bytes of information, where each byte consists
of a six-bit code and a one-bit parity bit. Nine-track tape uses an eight-bit and a parity bit.

Magnetic disks

Magnetic disks are metals or plastic platters coated with ferrous oxide, an easily
magnetically material. Magnetic disks allow for random access of information and overcome
the slow access time commonly found in tape files.

Example: HDD
Hard Disk Drive(HDD): - is part of a computer system which reads from and writes data on a
disk which in turn becomes a file.

• A high capacity magnetic disk made up of metal which can be fixed in the system
unit of the computer.
• Serves as a secondary storage.
• Enables very fast accessibility of data.
• The disks, which are usually grouped together into a disk pack are separated by small
air spaces to allow access for read/write head.
• Each disk has approximately 200 tracks on which information is stored. Tracks of the
small number on all adjacent disks are referred to as a cylinder of that disk.
• The disk pack is mounted on a magnetic disk drive which rotates the disk at speed up
to 1,000 revolutions per second.
• The total collection of tracks available on one movement of the access mechanism is
known as cylinder.
• The amount of time it takes to retrieve (or store) data from (or to) disk is called the
disk access time.

Compact Disk Read Only Memory (CD ROM)

The CDROM is a thin piece of clear polycarbonate plastic with a metal layer covered with a
protective layer of lacquer, with the aluminum layer measuring 120 mm in diameter. It is
mostly useful in multimedia applications where data is huge and needed to be transferred
from one place to another and the requirement is of secure data. The disk can also be used
to distribute songs that also require huge amount of space and to distribute bundled
software packages. The main disadvantage of this type of media is that they are read-only,
which means that the disk manufacture can only put data on them.

4. Input/Out Put Devices

Input Devices

• Is the unit used to enter data into the computer so that it can be processed.
• It converts information from a form suitable to human beings to one
understandable by the computer.

Examples of input devices;

Keyboard (which is the most widely used input devices), Mouse, Scanner, Light pen (a
photo cell to choose a displayed response to request further information), Voice
synthesizer; CD-ROM Drive, etc.
Output Devices

• Used to get data out of a computer so that it can be examined, analyzed or


distributed to others.
• Convert the result of the only-machine understandable form to a form
understandable by human beings.

Example: The Visual Display Unit (VDU) or monitor or screen, Printers (dot matrix, laser
printers), Plotters, Voice (audio) response unit, Disk drives

5. Communication Bus

We have seen that there are different components of a computer and each performs a
specific function. But to perform a given task in synchronized form there should be some
mechanism of communication. For this reason, there is an electronic circuit which produces
communication path between the different components of a computer system along which
data are transferred, that is Bus. The bus, which communicates the different parts of the
CPU, is called Internal Bus. And the bus, which communicates the CPU with memory and
peripheral devices, is called External Bus. The size of the bus determines the speed of
efficiency of the computer.
Chapter 3: Computer Software
The computer hardware is an electronic device which has the potential of performing the
task of solving a problem. However, one has to give precise instructions to the hardware in
order to solve problem.

The finite set of instructions (steps) that the computer follows to perform a given job is
called a program. Any program to be executed first it should reside / loaded/ in the
memory.

Software: - is a collection of programs and routines that support the operations of


performing a task using a computer. Software also includes documentations, rules and
operational procedures. Software makes the interface between the user and the electronic
components of the computer.

Software serves as an interface between a user and a computer.

Computer software is classified into two

1. System Software
2. Application Software

1. System Software
• Constitutes those programs which facilitates the work of the computer hardware.
• It organizes and manages the machine’s resources, handles the input/output devices.
• It controls the hardware by performing functions that users shouldn’t have to or are
unable to handle.
• System programs make complex hardware more users friendly.
• It acts as intermediate between the user and the hardware.
• It enables the computer understand programming languages i.e. it serves as means of
communication between user and a computer.
The important categories of system software are:

I. Operating system
II. Language software

I. Operating system
Operating system coordinates the activity between the user and the computer. It serves as
an intermediary between programs and hardwares.

Types of Operating Systems: Operating systems can be classified by:

• The number of programs they can handle at a time and


• The number of users they serve at once at one or different stations (i.e. terminals or
micro-computers connected to a central computer).
i. Single-user, Single tasking operating systems
• With single tasking operating systems only one program can be run on a computer at
a time.
• In order to run another program, one must remove the first program loaded in the
computers main memory and load the other one (i.e. it can’t handle two or more
programs at a time)
• These types of operating systems are single user or can serve only one user at a
time.
ii. Single-user, multi-tasking operating systems
• This is the type of operating system most people use on their desktop and laptop
computers today. Microsoft's Windows and Apple's MacOS platforms are both
examples of operating systems that will let a single user have several programs in
operation at the same time. For example, it's entirely possible for a Windows user to
be writing a note in a word processor while downloading a file from the Internet
while printing the text of an e-mail message.
iii. Multi-user –
• A multi-user operating system allows many different users to take advantage of the
computer's resources simultaneously. The operating system must make sure that the
requirements of the various users are balanced, and that each of the programs they
are using has sufficient and separate resources so that a problem with one user
doesn't affect the entire community of users. Unix, VMS and mainframe operating
systems, such as MVS (Multiple Virtual Storage), are examples of multi-user operating
systems.

It's important to differentiate between multi-user operating systems and single-user


operating systems that support networking. Windows 2000 and Novell Netware can
each support hundreds or thousands of networked users, but the operating systems
themselves aren't true multi-user operating systems. The system administrator is the
only "user" for Windows 2000 or Netware. The network support and all of the remote
user logins the network enables are, in the overall plan of the operating system, a
program being run by the administrative user.

iv. Real Time Operating System


• A real time is a system that is capable of processing data so quickly that the results
are available to influence the activity currently taking place.
• Real-time operating systems are used to control machinery, scientific instruments
and industrial systems. An RTOS typically has very little user-interface capability, and
no end-user utilities, since the system will be a "sealed box" when delivered for use.
A very important part of an RTOS is managing the resources of the computer so that
a particular operation executes in precisely the same amount of time, every time it
occurs. In a complex machine, having a part move more quickly just because system
resources are available may be just as catastrophic as having it not move at all
because the system is busy.
II. Language Software
Are software which are used by programmers to develop application software and translate
programs to machine code.

• Language software is a generic name consisting of various programs that serve as


editors & translators to develop programs in a number of programming languages.
 Translator: - is a program that converts one or more languages to another language.
 Three types of translators are Assemblers, Compilers & Interpreters.
 Assemblers: -is a program that translates assembly languages into machine code.
An assembler is a program that takes basic computer instruction s and converts
them into a pattern of bit s that the computer's processor can use to perform its
basic operations. Some people call these instructions assembler language and
others use the term assembly language. The programmer can write a program
using a sequence of these assembler instructions. This sequence of assembler
instructions, known as the source code or source program, is then specified to the
assembler program when that program is started. The assembler program takes
each program statement in the source program and generates a corresponding bit
stream or pattern (a series of 0's and 1's of a given length). The output of the
assembler program is called the object code or object program relative to the
input source program. The sequence of 0's and 1's that constitute the object
program is sometimes called machine code. The object program can then be run
(or executed) whenever desired.
 Compiler: - is a program that translates a high level language into machine code.
A compiler is computer software that transforms computer code written in one
programming language (the source language) into another computer language
(the target language). Compilers are a type of translator that support digital
devices, primarily computers. The name compiler is primarily used for programs
that translate source code from a high-level programming language to a lower
level language (e.g., assembly language, object code, or machine code) to create
an executable program.
 Interpreter: - is a program that translates each instruction of high level language
& executes the instruction before translating the next instruction. Interpreter is a
program that executes instructions written in a high-level language. There are two
ways to run programs written in a high-level language. The most common is to
compile the program; the other method is to pass the program through an
interpreter. One of the well-known programming languages that uses an
interpreter is PHP.
• High-level programming languages Vs Low-level programming languages
 A High-level language is a programming language designed to simplify computer
programming. It is "high-level" since it is several steps removed from the actual
code run on a computer's processor. High-level source code contains easy-to-read
syntax that is later converted into a low-level language, which can be recognized
and run by a specific CPU. Most common programming languages are considered
high-level languages. Examples include: C++, C#, Java, JavaScript, PHP, Python...
 A Low-level language is a programming language that deals with a computer's
hardware components and constraints. It has no (or only a minute level of)
abstraction in reference to a computer and works to manage a computer's
operational semantics. A low-level language may also be referred to as a
computer’s native language. Low-level languages are designed to operate and
handle the entire hardware and instructions set architecture of a computer directly.
Machine language and assembly language are popular examples of low-level
languages.
• Procedural Vs Structured Vs Object Oriented programming languages
 A procedural programming language consists of a set of procedure calls and a set
of code for each procedure. Example: BASIC
 A structural programming language emphasizes on separating a program’s data
from its functionality. Example: C
 Object oriented languages are based on entities known as objects. Example: Java
2. Application Software
• Is software that is designed to perform tasks for the specific area or areas. But for use in
more than one installation.
• Are usually called application packages as they may include a number of programs along
with operating instruction, documentation and so forth.

Malwares:
Are computer programs that interfere with a computer's hardware and operating system.
There are different types of malware that contain unique traits and characteristics. A virus is
the most common type of malware, and it's defined as a malicious program that can
execute itself and spreads by infecting other programs or files. A

worm is a type of malware that can self-replicate without a host program; worms typically
spread without any human interaction or directives from the malware authors. A Trojan
horse is a malicious program that is designed to appear as a legitimate program; once
activated following installation, Trojans can execute their malicious functions.

Spyware is a kind of malware that is designed to collect information and data on users and
observe their activity without users' knowledge.

Other types of malware include functions or features designed for a specific purpose.
Ransomware, for example, is designed to infect a user's system and encrypt the data.
Cybercriminals then demand a ransom payment from the victim in exchange for decrypting
the system's data.

Virus, a malicious code that replicates and hides itself inside other programs usually without
your knowledge. A virus is a piece of software that can "infect" other programs by modifying
them. Similar to biological virus: Replicates and Spreads Some exists to simply replicate
themselves. Others can do serious damage such as erasing file…

You might also like