Computer Fundaments
Computer Fundaments
Characteristics:
Speed: Computer speed depends upon the type of processor and bus line architecture used.
Good type of processor and bus line architecture can executes millions of instructions in one
second. Processor speed can be measured in terms of GHz (Giga Hertz).
Accuracy: Computer can perform millions of operations with the given input set of
instructions and data, and the results can be produced accurately without giving any errors.
Reliability: Computer communication and components are very reliable and has very less
failure rate.
Storage: Two types of storage are used, first is primary storage and second is secondary
storage. Primary storage stores the data temporarily for executing the processes i.e. RAM, and
secondary storage is used for permanent storage of data i.e. hard disk. Some external devices
are also used to store data like portable hard disk, pen drives, memory card etc.
Automation: Once a set of programs is fed into the computer, then the computer can take
decision automatically without interfering with the user. Example: Pen drive drivers are
automatically detected and loaded called as auto play.
Versatility: Computers are capable of performing various operations at same time. Like you
are reading this webpage and downloading two files from the internet and also printing the
documents simultaneously.
Diligence: Computer can work lot of hours with the same speed and produces accurate
results for each operation, without getting tired.
Limitations:
Applications of Computers
The computer is used to assist man in business organizations, research centers and in many
parts of human life. Computers are applied in many organizations are as follows.
Scientific Research: Computers are now standard feature of life in universities and industrial
laboratories and scientific establishment. Example: Forecasting, temperature and air pressure,
medical research and industrial laboratories.
Business applications: Computer aided design (CAD), word processors and databases are
the examples for these applications. Word processors are very useful in data entry work.
Databases are useful in accounts i.e. just like a payroll accounts etc.
Office automation: Office automation covers the use of standalone word processors,
personal computers, work stations, terminals, various peripheral devices, networks and fax
systems. These are used for document preparation, desktop publishing, electronic mail,
document storage and retrieval, data and voice communication, business packages and
information management etc.
Stock Controls and sales: Stock control, the processing of sales orders and sales
accounting, sales accounting, market research forecasting and subsequent production planning
are the areas.
Banking: Computers are used in banking for storing the customer’s records, bank records and
calculate the interest rates and produces the manager’s report and produces the statements
etc. Bank transactions can also be processed.
Insurance: Computers are very useful in insurance companies for recording data and for
producing reports.
Educational and research: The use of computers at various levels of academic and
education have applied to import knowledge to students in highly scientific and practical
manner.
Transport and communication: The flow of vehicular traffic, cargo, people in transit from
one place to another are being effectively monitored through computers to prevent crowding,
traffic jams, over loading and avoiding delays.
Computer Organization: A computer can process data, pictures, sound (voice) and
graphics. They can solve highly complicated problems quickly and accurately. A computer has
the components and as shown in below Fig. Performs basically five major computer operations
or functions:
i) It accepts data or instructions from user
ii) It controls all operations inside a computer
iii) It can process data as required by the user
iv) It stores data and
v) It gives results in the form of output.
Input Unit: Input Unit devices, accepts the instructions and data from the user. Then it
converts these instructions and data into its equivalent computer acceptable form, after that it
supplies the converted instructions and data to the computer system for further processing.
Example: Keyboard, Mouse, Touch screen, Joystick and Track ball etc.
Central Processing Unit: The control unit and ALU of a computer system are jointly known
as the CPU. The CPU is the brain of computer system. It takes all calculations and comparisons
in a computer systems and it is also responsible for activating and controlling the operations of
other units of computer system.
Arithmetic Logical Unit: An arithmetic logic unit (ALU) is a digital circuit that performs
arithmetic and logical operations. The ALU is a fundamental building block of the central
processing unit (CPU) of a computer, and ALU can perform the integer arithmetic operations
(addition, subtraction, multiplication and division), logical and comparisons operations.
Control Unit: The control unit (often called a control system or central controller) directs the
various components of a computer. It reads and interprets (decodes) instructions in the
program one by one. The control system decodes each instruction and turns it into a series of
control signals that operate the other parts of the computer.
Memory Unit: The Memory Unit is the part of the computer that holds data and instructions
for processing. There are two types of computer memory inside the computer: Primary
Memory and Secondary Memory.
Primary storage, presently known as main memory, is the only one directly accessible to
the CPU. Secondary storage, sometimes called auxiliary storage, is all data storage that is not
directly accessible to the processor but uses the I/O channels.
Output Unit: The output unit is just reverse of the input unit. It accepts the result produced
by computer, which are in coded form and can't be easily understood by us. So that, it converts
these coded results into human readable form. After that it supplies the converted results to
the outside world. Example: Monitor, Printer, Plotter, and Speakers etc.
Computers Classification:
Types of computers classified on based upon the purpose, data processing, and size of the
computer. Accordingly they are classified into as follows:
1. Analog Computers: Analog computers are those that represent data in a Continuous
manner using physical variables such as pressure, temperature etc. These classes of
computers are used for scientific/engineering purposes and are not concerned with
commercial data processing.
A good example of this class of computer is the computer used in hospitals for measuring blood
pressure of patients, also a filling station gasoline pumps work purely on analog processes.
2. Digital Computers: These are computers that represent data in discrete or
discontinuous manner using binary system. A digital watch is an example of a digital
device. The output from
Digital computers are usually in the form of discrete values. This class of computers is
commonly found in the business environments, and they include Desk calculators, Adding
machines, and most of the computers we have around (IBM, BBC, Radio Shack Personal
Computers (PC), Laptops, and Desktops etc.
3. Hybrid Computers: As the name implies, this class of computers combines the
features of both digital and analog computers. Their outputs could be in the form of
discrete or continuous value or a combination of both. This class of computers is
commonly found in highly scientific environments.
4. Modern Computers: Modern computers are classified as follows.
1. Super computers
2. Mainframe computers
3. Mini computers
4. Micro computers
Super computers
Most powerful computers characterized as fastest, very high processing speed and of
large data storage.
Specifically used for complex applications by big organization.
Good example is NASA and ISRO uses supercomputers to track and control space
discovery.
Mainframe computers
Capable of performing high processing speed and data storage but not powerful as
super computers.
Wired in air-conditioned rooms.
Example: ISP providers use mainframe computers to process information about millions
of internet users.
Mini computers
Least powerful type of computers but are the most widely used and growing in the
fastest rate.
Hardware peripherals can be attached easily.
Includes Desktop computers (PC’s), Laptops, tablet PC's, Personal Digital Assistants
(PDA) etc.
Input Devices: An input device is hardware device that sends data to a computer, allowing
you to interact with and control the computer. The following are the some of input devices
listed below:
1. Keyboard: The keyboard is a way to input letters or numbers into different applications or
programs. A keyboard also has special keys that help operate the computer.
2. Mouse: The mouse is used to open and close files, navigate web sites, and click on a lot of
commands (to tell the computer what to do) when using different applications.
3. Joystick: A joystick is used to move the cursor from place to place, and to click on various
items in programs. A joystick is used mostly for computer games.
4. Digital Camera: A digital camera can be used to take pictures. It can be hooked up to a
computer to transfer the pictures from the camera to the computer.
5. Microphone: A microphone is used to record sound. The sound is then saved as a sound file
on the computer.
6. Scanner: A scanner is used to copy pictures or other things and save them as files on the
computer.
7. Barcode reader: A bar code scanner scans a little label that has a bar code on it. The
information is then saved on the computer. Bar code scanners are used in libraries a lot.
8. Light Pen: Light pen is a pointing device which is similar to a pen. It is used to select a
displayed menu item or draw pictures on the monitor screen.
Output Devices: An output device is any peripheral that receives data from a computer,
usually for display, projection, or physical reproduction. An output given by the computer can
be in the form of a display on the screen or a printed document or a song that is played. The
following are the some of the output devices listed below:
1. Monitor: A monitor is also called as video display terminal (VDT). It visually displays the
processed data, and that can be viewed by users on the monitor. There are two types of
computer monitors available, namely CRT (Cathode Ray Tube) and flat panel (LCD-Liquid Crystal
Display) monitors. All monitors rely in a video card, which is located on the motherboard to
display the information. It is the video card, which processes the data into images, which is
eventually displayed on the monitor.
2. Printers: The next of the computer output devices is the printer, which is an external
hardware device, which takes processed data from the computer to generate a hard copy of
the data. After the monitors, printers are the most used peripherals on computers and they are
commonly used to print text data, images, etc. There are three main types of computer
printers, namely ink jet, laser printers and dot matrix. Each of these printer types uses a
different technology to print the data.
3. Plotters: A plotter is a computer hardware device much like a printer that is used for printing
vector graphics (i.e. drawing images). Instead of the traditional toner, plotters use a pen, pencil,
marker, or other writing tool to draw a design onto paper. In general, plotters are considerably
more expensive than printers. They are used in engineering applications where precision is
mandatory.
5. Projector: It is a hardware device, with which an image like a computer screen is projected
onto a flat screen. Image data is sent to the video card, by the computer which is then
translated into a video image and sent to the projector. A projector is often used in meetings or
to make presentations, because they allow for a large image to be shown, with which the
display is available for a large audience.
Computer Software: Software refers to a set of programs that makes the system to
perform a particular set of tasks in particular order. A computer system without software is like
the human body without life in it, or like a car without fuel.
Software
Operating System: An operating system is system software that provides an interface to the
user to communicate with the computer, manages hard devices, maintains disk file systems and
supports for application programs. Example: Windows, UNIX and Linux etc.
Utilities: These are the programs that bridge the gap between the functionality of an operating
system and needs of users. Example: Compress (Zip) / Un-compress (Unzip) files software,
antivirus software, and split and join files software, etc.
Library information system is used to manage information of library such as: keeping book
details, account holder details, book issue details and book return details etc.
Generalized Packages: These are user friendly software’s written for very general needs of
users, such as preparing documents (MS-Word), drawing pictures (Adobe Photoshop), database
software to manage data (or) information (ORACLE), preparing presentations (MS-PowerPoint
and playing games etc.
Customized Packages: This software’s are customized (or) developed to meet the specific
requirements of an organization or institute. For example, student information system, payroll
packages and inventory control etc.
Memory Devices: Data and programs that are entered into the computer are to be
temporarily held for processing. The results that are obtained are also to be retained
temporarily or even permanently for later usage. To hold this data, programs, results, etc.
storage devices have been introduced.
RAM is called Read and Write memory and volatile, i.e. the data in RAM will be lost
automatically when the power is switched off.
Read Only Memory: ROM chips are non-volatile, i.e. the data and instructions are stored
permanently even the power is switched off. ROM chip contains Micro programs control
instructions that cause the computer to perform certain operations, such as starting the
computer programs to load operating system. The contents of ROM are set by the
manufacturers and they are permanent and unchangeable.
PROM (Programmable ROM): It allows a chip to be programmed by the user and to be fused
into a chip. It allows only once to be programmed and they cannot be altered.
EPROM (Erasable PROM): Once information is stored in a PROM chip cannot be changed, but it
is possible by EEPROM, i.e. it can be erased and reprogrammed. It needs to be removed from
the processor and exposed to ultraviolet light for some time before it can store new contents.
EEPROM (Electrically EPROM): It can reprogram and alter with special electrical pulses before
storing new instructions or programs.
2. Secondary Memory: It stores data permanently. Initially when the data which is taken
from the input devices are stored in the secondary memory, during the execution, the data is
retrieved from the secondary memory and it is placed on the primary memory for the
execution. After execution is over, again the results or data is stored in the secondary memory.
Some of the secondary memory devices are Magnetic Tapes, Magnetic Disks, Optical Discs (CD
ROM, CD-R CD-RW, and DVD), Floppy Disks and Flash Drives etc.
1. Low level languages: The term low level means closed to the computer and it is easily
understood by the computer. The low level languages are:
a. Machine level language: This language (in the form of 0’s and 1’s called binary numbers) is
directly understood by the computer and the program written in this language is machine
dependent, and it is difficult to learn and write programs.
b. Assembly level language: In this language the machine codes comprising of 0’s and 1’s are
substituted by symbolic codes is called as mnemonics. Assembly level language programming is
simpler, takes less time to execute, easy to locate and correct errors than machine level
language programming. But it is also machine dependent and programmers must have
knowledge of the machine on which the program will run.
2. High level languages: To overcome the limitations of low level languages, high level
languages are evolved, which uses general language like English to write programs. High level
languages are easily understood by human and to solve any problem. High level languages are
machine independent and programming becomes quite easy and simple.
Example: BASIC (Beginners All Purpose Symbolic Instruction Code), COBOL (Common Business
Oriented Language), FORTRAN (Formula Translation), C and C++ etc.
Compiler: It is software (set of programs) that reads a program written in high level
language and translates it into an equivalent program in machine level language, I.e. low level
language. A program written in high level language is called source program and after
compilation its equivalent program of machine level language is called object program.
Compiler
High Level Language Machine Level Language i.e. Binary Numbers
Figure: Compiler
Interpreter: It is software (set of programs) that reads line by line of instructions and
translates it into an equivalent machine level language, i.e. low level language.
Compiler Interpreter
Compiler Takes Entire program as input. Interpreter Takes Single instruction as input.
Errors are displayed after entire program is Errors are displayed for every instruction is
checked. interpreted (if any).
Debugging is difficult. Debugging is easy.
It takes large amount of time to analyze the It takes less amount of time to analyze the
source code, but the overall execution time is source code, but the overall execution time is
comparatively faster. slower.
Programming language like C, C++ uses Programming language like BASIC, Python,
compiler. Ruby languages uses interpreter.
Figure: Difference between compiler and interpreter
Assembler: It is software (set of programs) that reads a program written in assembly level
language and translates it into an equivalent program in machine level language, i.e. low level
language.
Assembly Level Language Assembler Machine Level Language i.e. Binary Numbers
Figure: Assembler
1. To write the algorithm you first must know how to solve a problem.
2. Inputs and outputs should be defined precisely.
3. Each step in algorithm should be clear and unambiguous.
4. The solution must follow a logical path; and the order of the instructions is
important.
5. An algorithm shouldn’t have computer code. Instead, the algorithm should be
written in such way that it can be used in similar programming language.
Step 1: Start
Step 2: Declare variables num1, num2 and sum.
Step 3: Read values num1 and num2.
Step 4: Add num1 and num2 and assign the result to sum.
sum←num1+num2
Step 5: Display sum
Step 6: Stop
Flowchart: A flowchart is a diagrammatic representation that illustrates the sequence of
operations to be performed to get the solution of a problem. A flowchart can be used as an
alternative approach for an algorithm.
Advantages:
2. These flowcharts play a vital role in the programming of a problem and are quite
helpful in understanding the logic of complicated and lengthy problems.
3. Once the flowchart is drawn, it becomes easy to write the program in any high level
language.
Flowchart Symbols: Flowcharts use special shapes to represent different types of actions or
steps in a process.
1. Start or Stop or Terminator Symbol: The symbols ellipse or squared rectangle used to Begin
and End the Flowchart.
2. Input / Output Symbol (I/O): The Symbol parallelogram used to read input from the user and
also used to display the results to the output screen.
5. Flow line or Data flow line Symbol: It used to connect different symbols involved in the
flowchart in order to follow the problem solving sequence.
6. Loop or Iterative or Hexagon Symbol: It is used when the problem solving involved in cyclic
or repetitive steps.
7. Connector or Flow linker Symbol: It links the flowchart, when the drawn is involved more
than one page. Connectors can be numbered when more than one connector involved in the
flowchart.
8. Function or Procedure or Sub-Program Symbol: This symbol used for function declaration
and function implementation involved in the problem solving.
Example: Draw a flowchart to print the sum of two numbers.
There are following six phases in every Software development life cycle model:
1) Requirement gathering and analysis: Requirements gathering and Analysis is the first stage
in the software development process. Requirement analysis phase determines the needs of a
proposed software solution or product. Finally, a Requirement Specification document is
created which serves the purpose of guideline for the next phase of the model.
2) Design: In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in specifying hardware
and system requirements and also helps in defining overall system architecture. The system
design specifications serve as input for the next phase of the model.
5) Deployment: After successful testing, the product is delivered / deployed to the customer
for their use.
6) Maintenance: Once when the customers starts using the developed system then the actual
problems comes up and needs to be solved from time to time i.e., where the care is taken for
the developed product is known as maintenance.