Introduction To Computers
Introduction To Computers
• Sand Table
• Abacus
• Napier bones
• etc
2. AUTOMATIC COMPUTING
DEVICES
• Analytical engine
• Difference engine
• Mark-I
• Colossus
• EDSAC
• EDVAC
• UNIVAC
• Etc
3. MODERN COMPUTING DEVICES
3. 2. Based on Computing
technology
3.1. Based on Size and Performance
• Personal Computers : Used by one user for
simple applications. Limited by speed, storage
and other parameters.
• Main Frame computers: Used by many
users at a time for a real time processing
applications. Very powerful and Reliable once
Example: Railway Reservation System etc..
• Super computers:
3. 2. Based on Computing technology
• High Performance Work Station Computers:
These computer runs faster and efficient
• Touch Computing Devices:
User gives input and data through touch
sensitive elements (for eg., ATMs etc)
• Super Computers:
Super Computers
• Fastest computing device that can
perform complex operations at a very
high speed (2.98picoflops /sec)
• Largest capacity and fastest mainframes
are called Super Computers
• Example: Rocket Launching systems ,
Weather forecasting systems and etc,.
GENERATIONS
OF
COMPUTERS
History / Generations of
Computing technology
The history of computers can be divided
into generations, with each generation defined by
a technological breakthrough
A NIC card
(Network Interface
Card) allows your
computer to attach
a network and to
the internet
BIOS CHIP
• A BIOS chip (Basic
Input Output System) is
a very important
computer component.
• In simple terms, the
BIOS chip wakes up the
computer when you turn
it on and reminds it
what parts it has and
what they do!
Memory
• The memory component stores data, instructions and results
either temporarily or permanently.
• It plays vital role in the computer. All Memory devices can be
divided into
1. Primary storage devices
-- Stores programs, data and results
1. Main memory (RAM, ROM)
2. Internal process memory (cache memory)
2. Secondary storage devices
-- Stores Software's, all information
1. Magnetic storage devices
2. Optical storage devices
3. Magneto-optical storage devices
STORAGE DEVICES
• Floppy Disks
– 3.5-inch disks store 1.44M of data
• Must be formatted
– Tracks
– sectors
• Hard Disks
– Spins at 5,400 – 7,200 rpm (revolutions per minute)
– Can store anywhere between 10G – 500GB+ of data
• CD’s—Compact Discs
– Available in a variety of formats—CD-ROM, CD-R, CD-RW
– A typical CD holds about 650 ,720 MB of data
• DVD’s- Digital Video Disks
– Available as DVD-ROM, DVD-R, DVD-RW
– Can hold 2 GB, 4.7 GB of data
• Zip Drives -- high capacity floppy disk drive;
– Zip disks can hold from 100 MB – 250 MB of data
• USB Flash Drive
– Storage capacity between 32 MB – 4 GB
STORAGE DEVICES
Floppy Disk
The CPU has places to insert disks. One
kind of disk drive is a floppy disk drive. A
floppy disk drive reads information from a
very thin, floppy disk inside a hard plastic
case. Floppy disks can hold up to 1.44
megabytes of information.
Hard Disk
59
CD-ROM
• Uses optical (laser)
technology instead
of magnetic
• Holds large
amount of data
• Same technology
as a music disk.
60
DVD
• Replacing CD-ROM
• Holds much larger amount of
information (such as movie)
61
Zip Disk
• Similar to floppy
• Thicker form
• Holds more information
• Available on some library computers
62
Flash Drive
• Most recent widely used storage system
• Very portable, often worn like jewelry
• 4 GB -32GB most common sizes
63
Data Representation Units
• Bit --- 0 or 1 bit
• Byte -- 8-bits (1 word )
• Kilobyte-1 thousand bytes (1 KB = 1,000 bytes) - 210 ~103
• Megabyte -1 million bytes (1MB =1,000,000 bytes)-220 ~106
• Gigabyte- 1 billion bytes (1GB=1,000,000,000bytes)-230 ~109
• Terabyte—1 trillion bytes – 240 ~ 1012
• Petabyte—1 quadrillion bytes – 250 ~ 1015
• Exabyte— 1 quintillion bytes
• Zetabyte— 1 sextillion bytes
• Yotabyte— 1 septillion bytes
Computer Software
• Computer Software refers to a set of
computer programs that are required to
enable the hardware components work
together to solve a problem.
• Computer Program is set of instructions
written in a programming language that tells
the computer how to accomplish a task.
• Computer Instruction is a simple command
given to solve a problem.
Computer Software
Programming
Languages
C
C
C++
C++
Java
Java
System Software
It is used to control and co-ordinate hardware
components and manage their tasks.
1.Operating System: It tells the computer how to
perform the functions of loading, storing and
executing an application and how to transfer data.
Example: DOS, Windows, UNIX
2. System Management /Support software: Used to
manage both hardware and software
Example: OS, Device Drivers, Utility programs(Anti-Virus)
3. System Development: Used for developing and
executing application software
Example: Language Translator, Linker
Compiler, Interpreter, Debugger
Application Software
• It is used to develop the user required Programs that
tell a computer how to produce information
• Commonly used applications are
-- Word processing, Spreadsheet, Database
– Presentation, Financial, Email, Taxing
1.General Purpose Software: It is used to
develop applications like word ,power point etc..,
which are used for general processing tasks.
2.Application Specific Software: It is used to
develop applications of specific needs
( like Tally for Accounts purpose)
Computer Programming Languages
-- To write a program for a computer, we must use a
computer language.
-- A vocabulary and set of grammatical rules for
instructing a computer to perform specific tasks.
-- Over the years computer languages have evolved from
machine language to natural languages.
72
The Multiplication Program in Assembly Symbolic Language
73
The Multiplication Program in C
74
Relationship between
Hardware , Software and User
Assembler, Interpreter and Compiler
• Assembler: It translates instructions written in
assembly language into machine language
instructions one by one
• Interpreter:It translates high-level
instructions into an intermediate form, which
it then executes. (single instruction at a time)
– It works slowly compared to compiler
• Compiler : It translates instructions written in
high-level language into machine language
instructions at a time
– It works quickly compared to interpreter
Modes Of Operation
• There are different ways that a large
computer can be used by many users. They
are
– Batch mode
• Classical batch processing
• Modern batch processing
– Timesharing
– Interactive mode
Batch Processing
• In batch processing, a number of jobs(programs) are
entered into the computer, stored internally, and then
processed sequentially.
• This mode of operation is well suited for jobs that
require large amount of computer time or are physically
lengthy.
• The user need not be present, while the job is being
processed.
Batch Processing. . .
• Classical Batch Processing:
– In the early days of computing, all jobs are processed in this
manner.
– In this method, the programs and data were recorded on punched
cards.
– This information was read into computer by means of mechanical
card readers and then processed.
• Modern Batch Processing:
– In this method, the program and data are typed into computer via
a personal computer acting as Terminal (or Timesharing terminal)
– The information is then stored in computer’s memory and
processed in its proper sequence.
– It eliminates use of punched cards and allows the input
information to be edited
Timesharing
• It allows many different users to use a single
computer simultaneously. The various users
communicate with host computer through their
terminals.
• The host computer may be a mainframe, a mini
computer, personal computer or desktop computer.
• Since the host computer operates much faster than
user at terminal, the host computer can support
many terminals at the same time.
• Thus, the user will unaware presence of any other
user and will seems to have mainframe computer at
his own disposal.
Timesharing…
• Example: Applications used in schools and
commercial offices (super market).
• The timesharing is best suited for processing
simple applications and these applications can
be processed quickly, easily and at minimum
expense.
Proce s s e s
P1
P2
P3
P4
tim e
T im es haring of a res ourc e
Interactive Processing
• The programs in interactive processing are
conversational in nature.
• In this processing, the user and the computer
interact with each other during computational
session
• Therefore, the user may be asked periodically
asked to provide certain information, that will
determines what subsequent actions are to be
taken by computer and vice versa.
• Example: Computerized Games
System Development Life Cycle
System Development Life Cycle…
• Requirement Analysis: It produce the Software
requirement document, which specifies all requirements of
the customer.
• Software Design: It is the process of designing how the
requirements to be implemented.
• Software Coding: It is the process of developing code for
the software.
• Software Testing: It is the process of executing the
software with sample data to verify whether it has errors
or not.
• Installation & maintenance: It involves installation of the
software, giving training to the customer etc,.
How to Develop a Program
• A Program, is a set of instructions designed for
solving a problem.
• Program writing is not all about coding only. And
it is not a random process.
• Therefore, the program writing is a systematic
process and it requires the following steps.
How to Develop a Program
1. Analyze the problem to identify inputs, outputs and processing
requirements.
2. Identify various processing steps needed to solve the problem
and represent them in either in Algorithm, Pseudo code, or
Flowchart, etc..
3. Refine step2 in away that all the processing steps are detailed
enough and convenient to represent in a programming language.
4. Add the syntax of the programming language to the above
representation and it becomes the program.
5. Type the program and compile it to remove syntax related errors.
6. Execute or Run the program and check it with different types of
inputs to verify its correctness. If the results are incorrect for any
combinations of inputs, then review all processing steps.
How to Develop a Program - Algorithm
ALGORITHM:
• An algorithm is defined as the finite set of clearly stated steps for providing
the solution to a problem.
• An algorithm is generally represented in English like language , and it can be
quite abstract or detailed.
• An algorithm should be analyzed with respect to space and time complexity
i.e., with respect to usage of computer memory and processing time.
How to Develop a Program - Algorithm
Characteristics / Properties of an Algorithm:
• The steps in the algorithm should be well-organized, pre-arranged.
• The steps in the algorithm should be simple and concise.
• The steps in the algorithm should not be ambiguous.
• There must be some condition (step) for termination.
• The algorithm should be accurate and truthful in defining the solution.
Advantages of Algorithm:
• The Algorithm helps in breaking down the problem solution into
sequential number of steps.
• It acts as blueprint for the problem solution.
• It helps in developing the solution by using the programming
language.
• It is easy to identify and remove program logical errors.
How to Develop a Program – Pseudo Code
Pseudo Code:
• It is another representation and it is more formal
representation than the algorithm.
• Here, every step is represented in formal way,
which is very closer to the actual programming
language.
• All pseudo code representations will starts with
keyword “START”, and ends with “STOP” or “END”.
• Pseudo code also uses keywords like READ,
DISPLAY or WRITE, COMPUTE, SET, IF, LOOP etc.
How to Develop a Program – Pseudo Code
• Example:
Pseudo Code - To calculate average marks.
1. Start.
2. Read marks in three subjects.(M1,M2,M3)
3. Compute average AVG= M1+M2+M3/3.
4. Display the value of AVG.
5. Stop.
How to Develop a Program – Flowchart
• FLOW CHART: A Flowchart can be defined as the
pictorial/diagrammatic/visual representation of a
process, which describes the steps in the
algorithm/pseudo code.
• It increases the uderstandability of the process
• There are different symbols used to indicate the
operational steps of an algorithm or Pseudo code.
SYMBOL NAME SYMBOL SYMBOL PURPOSE
Rounded Rectangle or Indicates the beginning (start) and ending
Flat oval or Ellipse or (stop) of the flowchart
Indicates connector. It is used in situations
Small Circle whenever it is needed to join two parts of the
flowchart.
Indicates the process. It is used to represent
Rectangle computation or logic or assignment
statements of an algorithm
Indicates Input/output symbol. It is used to
Parallelogram represent the step of algorithm whenever
data is to be read or displayed