Unit I
Unit I
If we look at it in a very broad sense, any digital computer carries out the following
five functions −
Step 1 − Takes data as input.
Step 2 − Stores the data/instructions in its memory and uses them as required.
Step 3 − Processes the data and converts it into useful information.
Step 4 − Generates the output.
Step 5 − Controls all the above four steps.
Advantages of Computers
High Speed
● Computer is a very fast device.
● It is capable of performing calculation of very large amount of data.
● The computer has units of speed in microsecond, nanosecond, and even the picosecond.
● It can perform millions of calculations in a few seconds as compared to man who will
spend many months to perform the same task.
Accuracy
● In addition to being very fast, computers are very accurate.
● The calculations are 100% error free.
● Computers perform all jobs with 100% accuracy provided that the input is correct.
Storage Capability
● Memory is a very important characteristic of computers.
● A computer has much more storage capacity than human beings.
● It can store large amount of data.
● It can store any type of data such as images, videos, text, audio, etc.
Diligence
● Unlike human beings, a computer is free from monotony, tiredness, and lack of concentration.
● It can work continuously without any error and boredom.
● It can perform repeated tasks with the same speed and accuracy.
Versatility
● A computer is a very versatile machine.
● A computer is very flexible in performing the jobs to be done.
● This machine can be used to solve the problems related to various fields.
● At one instance, it may be solving a complex scientific problem and the very next moment it may be
playing a card game.
Reliability
● A computer is a reliable machine.
● Modern electronic components have long lives.
● Computers are designed to make maintenance easy.
Automation
● Computer is an automatic machine.
● Automation is the ability to perform a given task automatically. Once the computer receives a program i.e.,
the program is stored in the computer memory, then the program and instruction can control the program
execution without human interaction.
Reduction in Paper Work and Cost
● The use of computers for data processing in an organization leads to reduction in paper work
and results in speeding up the process.
● As data in electronic files can be retrieved as and when required, the problem of maintenance of
large number of paper files gets reduced.
● Though the initial investment for installing a computer is high, it substantially reduces the cost
of each of its transaction.
Disadvantages of Computers
Following are certain disadvantages of computers.
No I.Q.
● A computer is a machine that has no intelligence to perform any task.
● Each instruction has to be given to the computer.
● A computer cannot take any decision on its own.
Dependency
● It functions as per the user’s instruction, thus it is fully dependent on humans.
Environment
● The operating environment of the computer should be dust free and suitable.
No Feeling
● Computers have no feelings or emotions.
● It cannot make judgment based on feeling, taste, experience, and knowledge
unlike humans.
Application of Computer
Business
A computer has high speed of calculation,
diligence, accuracy, reliability, or versatility
which has made it an integrated part in all
business organizations.
Computer is used in business organizations for
−
● Payroll calculations
● Budgeting
● Sales analysis
● Financial forecasting
● Managing employee database
● Maintenance of stocks, etc.
Banking
It is also a single user computer system, similar to personal computer however has a more
2 Workstation
powerful microprocessor.
3 Mini Computer It is a multi-user computer system, capable of supporting hundreds of users simultaneously.
It is an extremely fast computer, which can execute hundreds of millions of instructions per
5 Supercomputer
PC (Personal Computer)
A PC be defined as a
can small, relatively
inexpensive
user. PCs arecomputer
baseddesigned
on thefor microprocessor
an individual
technology that enables manufacturers to put an
entire CPU on one chip. Businesses use personal
computers for word processing, accounting, desktop
publishing, and for running spreadsheet and database
management applications. At home, the most
popular use for personal computers is playing games
and surfing the Internet.
Although personal computers are designed as single-
user systems, these systems are normally linked
together to form a network. In terms of power, now-
a-days high-end models of the Macintosh and PC
offer the same computing power and graphics
capability as low-end workstations by Sun
Microsystems, Hewlett-Packard, and Dell.
Workstation
It is a midsize multi-processing
system capable of supporting up to
250 users simultaneously.
Mainframe
1 Take Input The process of entering data and instructions into the computer system.
2 Store Data Saving data and instructions so that they are available for processing as and when required.
Performing arithmetic, and logical operations on data in order to convert them into useful
3 Processing Data
information.
Output The process of producing useful information or results for the user, such as a printed report or
4
Information visual display.
Control the Directs the manner and sequence in which all of the above operations are performed.
5
Input Unit
This unit contains devices with the help of which we enter data into the computer. This unit creates a link between the user
and the computer. The input devices translate the information into a form understandable by the computer.
Output Unit
The output unit consists of devices with the help of which we get the information from the computer. This unit is a link
between the computer and the users. Output devices translate the computer's output into a form understandable by the
users.
Central Processing Unit (CPU) consists of the
following features −
● CPU is considered as the brain of the
computer.
● CPU performs all types of data processing
operations.
● It stores data, intermediate results, and
instructions (program).
● It controls the operation of all parts of the
computer.
Memory or Storage Unit
This unit can store instructions, data, and intermediate results. This unit supplies
information to other units of the computer when needed. It is also known as internal
storage unit or the main memory or the primary storage or Random Access Memory
(RAM).
Its size affects speed, power, and capability. Primary memory and secondary memory
are two types of memories in the computer. Functions of the memory unit are −
● It stores all the data and the instructions required for processing.
● It stores intermediate results of processing.
● It stores the final results of processing before these results are released to an output
device.
● All inputs and outputs are transmitted through the main memory.
Control Unit
This unit controls the operations of all parts of the computer but does not carry out any
actual data processing operations.
Functions of this unit are −
● It is responsible for controlling the transfer of data and instructions among other
units of a computer.
● It manages and coordinates all the units of the computer.
● It obtains the instructions from the memory, interprets them, and directs the
operation of the computer.
● It communicates with Input/Output devices for transfer of data or results from
storage.
● It does not process or store data.
ALU (Arithmetic Logic Unit)
This unit consists of two subsections namely,
● Arithmetic Section
● Logic Section
Arithmetic Section
Function of arithmetic section is to perform arithmetic operations like addition, subtraction,
multiplication, and division. All complex operations are done by making repetitive use of the
above operations.
Logic Section
Function of logic section is to perform logic operations such as comparing, selecting,
matching, and merging of data.
INPUT DEVICE
● Keyboard
● Mouse
● Joy Stick
● Light pen
● Track Ball
● Scanner
● Graphic Tablet
● Microphone
● Magnetic Ink Card Reader(MICR)
● Optical Character Reader(OCR)
● Bar Code Reader
● Optical Mark Reader(OMR)
Keyboard
Keyboard is the most common and very popular input device which
helps to input data to the computer. The layout of the keyboard is like
that of traditional typewriter, although there are some additional keys
provided for performing additional functions.
Keyboards are of two sizes 84 keys or 101/102 keys, but now
keyboards with 104 keys or 108 keys are also available for Windows
and Internet.
1. Typing Keys
These keys include the letter keys (A-Z) and digit keys (09) which
generally give the same layout as that of typewriters.
2. Numeric Keypad
It is used to enter the numeric data or cursor movement. Generally, it
consists of a set of 17 keys that are laid out in the same configuration
used by most adding machines and calculators.
3.Function Keys
The twelve function keys are present on the keyboard which are arranged in a row at the
top of the keyboard. Each function key has a unique meaning and is used for some
specific purpose
4.Control keys
These keys provide cursor and screen control. It includes four directional arrow keys. Control
keys also include Home, End, Insert, Delete, Page Up, Page Down, Control(Ctrl),
Alternate(Alt), Escape(Esc).
5.Special Purpose
Keys
Keyboard also contains some special purpose keys such as Enter, Shift, Caps Lock, Num
Lock, Space bar, Tab, and Print Screen.
Mouse
Mouse is the most popular pointing device. It is a very
famous cursor-control device having a small palm size box
with a round ball at its base, which senses the movement of
the mouse and sends corresponding signals to the CPU when
the mouse buttons are pressed.
Generally, it has two buttons called the left and the right
button and a wheel is present between the buttons. A mouse
can be used to control the position of the cursor on the screen,
but it cannot be used to enter text into the computer.
Advantages
● Easy to use
● Not very expensive
● Moves the cursor faster than the arrow keys of the
keyboard.
Joystick
Joystick is also a pointing device, which is used
to move the cursor position on a monitor screen.
It is a stick having a spherical ball at its both
lower and upper ends. The lower spherical ball
moves in a socket. The joystick can be moved in
all four directions.
● Monitors
● Graphic Plotter
● Printer
Monitors
Monitors, commonly called as Visual Display Unit (VDU), are the main output device of a
computer. It forms images from tiny dots, called pixels that are arranged in a rectangular form. The
sharpness of the image depends upon the number of pixels.
There are two kinds of viewing screen used for monitors.
● Cathode-Ray Tube (CRT)
● Flat-Panel Display
Cathode-Ray Tube (CRT) Monitor
The CRT display is made up of small picture elements called pixels.
The smaller the pixels, the better the image clarity or resolution. It
takes more than one illuminated pixel to form a whole character, such
as the letter ‘e’ in the word help.
A finite number of characters can be displayed on a screen at once.
The screen can be divided into a series of character boxes - fixed
location on the screen where a standard character can be placed. Most
screens are capable of displaying 80 characters of data horizontally
and 25 lines vertically.
There are some disadvantages of CRT −
● Large in Size
● High power consumption
Flat-Panel Display Monitor
The flat-panel display refers to a class of video devices that have
reduced volume, weight and power requirement in comparison to
the CRT. You can hang them on walls or wear them on your wrists.
Current uses of flat-panel displays include calculators, video
games, monitors, laptop computer, and graphics display.
The flat-panel display is divided into two categories −
● Emissive Displays − Emissive displays are devices that
convert electrical energy into light. For example, plasma panel
and LED (Light-Emitting Diodes).
● Non-Emissive Displays − Non-emissive displays use optical
effects to convert sunlight or light from some other source into
graphics patterns. For example, LCD (Liquid-Crystal
Device).
Printers
Printer is an output device, which is used to print information on
paper. There are two types of printers −
● Impact Printers
● Non-Impact Printers
Impact Printers
Impact printers print the characters by striking them on the ribbon, which is then pressed on the
paper. Characteristics of Impact Printers are the following −
● Very low consumable costs
● Very noisy
● Useful for bulk printing due to low cost
● There is physical contact with the paper to produce an image
These printers are of two types −
● Character printers
● Line printers
Character Printers
Character printers are the printers which print one character at a time. These are further
divided into two types:
● Dot Matrix Printer(DMP)
● Daisy Wheel
Dot Matrix Printer
In the market, one of the most popular printers is Dot Matrix
Printer. These printers are popular because of their ease of printing
and economical price. Each character printed is in the form of
pattern of dots and head consists of a Matrix of Pins of size (5*7,
7*9, 9*7 or 9*9) which come out to form a character which is why
it is called Dot Matrix Printer.
Advantages
● Inexpensive
● Widely Used
● Other language characters can be printed
Disadvantages
● Slow Speed
● Poor Quality
Daisy Wheel
Head is lying on a wheel and pins corresponding to characters
are like petals of Daisy (flower) which is why it is called Daisy
Wheel Printer. These printers are generally used for word-
processing in offices that require a few letters to be sent here
and there with very nice quality.
Advantages
● More reliable than DMP
● Better quality
● Fonts of character can be easily changed
Disadvantages
● Slower than DMP
● Noisy
● More expensive than DMP
Line Printers
Line printers are the printers which print one line at a
time. These are of two types −
● Drum Printer
● Chain Printer
Drum Printer
This printer is like a drum in shape hence it is called drum printer. The surface of the drum
is divided into a number of tracks. Total tracks are equal to the size of the paper, i.e. for a
paper width of 132 characters, drum will have 132 tracks. A character set is embossed on the
track. Different character sets available in the market are 48 character set, 64 and 96
characters set. One rotation of drum prints one line. Drum printers are fast in speed and can
print 300 to 2000 lines per minute.
Advantages
●Very high speed
Disadvantages
● Very expensive
● Characters fonts
Chain Printer
In this printer, a chain of character sets is used, hence it is called Chain Printer.
A standard character set may have 48, 64, or 96 characters.
Advantages
● Character fonts can easily be changed.
● Different languages can be used with the same printer.
Disadvantages
● Noisy
Non-impact Printers
Non-impact printers print the characters without using the ribbon. These
printers print a complete page at a time, thus they are also called as Page
Printers.
These printers are of two types −
● Laser Printers
● Inkjet Printers
Characteristics of Non-impact Printers
● Faster than impact printers
● They are not noisy
● High quality
● Supports many fonts and different character size
Laser Printers
These are non-impact page printers. They use laser lights to
produce the dots needed to form the characters to be
printed on a page.
Advantages
● Very high speed
● Very high quality output
● Good graphics quality
● Supports many fonts and different character size
Disadvantages
● Expensive
● Cannot be used to produce multiple copies of a
document in a single printing
Inkjet Printers
Inkjet printers are non-impact character printers based on a relatively
new technology. They print characters by spraying small drops of ink
onto paper. Inkjet printers produce high quality output with presentable
features.
They make less noise because no hammering is done and these have
many styles of printing modes available. Color printing is also
possible. Some models of Inkjet printers can produce multiple copies
of printing also.
Advantages
● High quality printing
● More reliable
Disadvantages
● Expensive as the cost per page is high
● Slow as compared to laser printer
Programming Language
A programming language is a formal language comprising a set of instructions that produce
various kinds of output. Programming languages are used in computer programming to implement
algorithms. Most programming languages consist of instructions for computers.
1) Python
Created: Python language developed by Guido van Rossum. It was first released in 1991.
Pros:
•Supports multiple systems and platforms
•Object-Oriented Programming (OOPs) driven.
•Helps to improve Programmer's Productivity
•Allows you to scale even the most complex applications with ease
•Extensive Support Libraries
Cons:
•Note ideal for Mobile Computing
•Python's database access layer is bit underdeveloped and primitive.
•Usage/Application: Web and Internet Development, Scientific and Numeric applications, Desktop GUIs, Business
applications. It is widely used in AI and Machine Learning space.
2) Java
Created: James Gosling primarily designed Java at Sun Microsystems in the year 1996
Pro.
Object- Oriented language
Java offers APIs for different activities like Database connection, networking, XML parsing,
utilities, etc.
Powerful open source Rapid Development tools
A large number of open source libraries
Cons.
Memory management in Java is quite expensive
The absence of templates can limit you to create high-quality data structures.
Usage/Application: Java mostly used for developing Android apps, web apps, and Big data.
3) R
Created: R was designed by Robert Gentleman and Ross Ihaka at the University of Auckland. This
project was conceived in 1992, but it's initial version released in 1995 and a stable beta version in
2000.
Pros:
R is a comprehensive statistical analysis language which encourages you to develop new ideas
As a statistical language which is considered to be very easy to code
R is open-source software. Therefore, anyone can use and change it
R is good for GNU/Linux and Microsoft Windows.
R is cross-platform which means it can seamlessly run on different operating systems.
Cons:
In R, quality of some packages is not up to the mark
R does not have the best memory management. Therefore, it may consume all available memory.
Usage/Application: Data Science projects, Statistical computing, Machine learning
4) Javascript
Created: JavaScript was earlier called LiveScript when it first shipped in with Netscape Navigator
2.0 in September 1995. Later, it was renamed as a JavaScript.
Pros:
Client-side JavaScript is very fast as it can be run quickly in the client-side browser
JavaScript is relatively simple to learn.
It can work smoothly with other languages and can be used in a huge variety of applications.
Grease monkey support to write snippets of JavaScript which can execute on specific web pages
Cons:
JavaScript only allows single inheritance, so multiple inheritances are not possible
No copy or equal method is available in JavaScript.
JavaScript interpreted differently by different browsers.
Usage/ Applications: JavaScript usage include web/mobile app development, game development,
and desktop app development.
5) Swift
Created: Swift was developed by Apple in July 2010 so that iOS developers do not need to
work with Objective-C.
Pros:
The Swift program codes are near to natural English, so it is easy to read
Easy to add new features to this language which makes swift high- level language
The language does not have long code line.
Automatic Memory Management feature prevents the memory leaks.
Cons:
With the continues updating of swift versions of Apple, Swift is somewhat unstable
As it is a new programming language the pool of Swift developers is very limited
Usage applications:
Swift is specially designed language which works with Apple's Cocoa and Cocoa Touch
frameworks to create all types of iOS apps.
6) C++
Created:
C++ is a programming language that was developed by Bjarne Stroustrup in 1983.
Pros:
It is a popular language, and thus, there are many compilers and libraries
Other programming languages like C, C#, and Java have very similar syntax to C++, make it easy to learn for everyone
who knows C++.
No garbage collector is running in the background.
Cons
The syntax is complex, and the standard library is small, making this language very difficult to learn for the beginner
programmer.
C++ program can't support garbage collection or Dynamic Memory Allocation
The object orientation system in C++ is unnecessarily basic compared to other languages.
Usage applications: C++ is widely used in Game Development, Advance Computations, and Graphics Compilers
7) C#
Created:
C# is a computer programming language. It's the first version released in 2001.
Pros:
C# uses almost similar syntax which follows by C so it easy to understand for those who know C language
Easy Integration with Windows
Fully integrated with the .NET library which provides access to a repository of functionality and support.
Safer than its namesakes (C/++) as pointer types are not permitted
Cons:
It allows pointers in 'unsafe' blocks
Usage applications: Widely used in Enterprise Cross-Applications Development, Web Applications
8) PHP
Created:
Rasmus Lerdorf created PHP in 1994
Pros:
Running with PHP is simple
Functional and Object-Oriented Programming
Large Open Source Software Community
A reasonably good system of automation tools available for testing and deploying
Cons:
Error handling facility is poor as PHP lacks debugging tool
PHP is not secure as it is one of the open source languages
Developing a website with PHP Web Development is slower than other programming languages.
Usage applications: Web Applications, Content Management Systems, eCommerce Applications
9) SQL
Created: SQL was developed at IBM by Donald D. Chamberlin and Raymond F. Boyce. This language was made
available publicly in 1979.
Pros:
Powerful query language
Optimised for large numbers of table rows
Fast for searching and querying of data
High availability and consistency of data
Fast for retrieving data from multiple tables
Cons:
Difficult to convert data from Objects into database tables
It can only run on the single server, so increasing speed means upgrading hardware.
As SQL databases run on a single server so in case if the server stop working, then the database shouldn't be accessed
Usage applications: Used in Any Database
10) Go
Created: Go language which is also known as golang is developed at Google in 2009 by Robert Griesemer, Ken
Thompson, and Rob Pike.
Pros:
Go is a really fast language as it is compiled to machine code
Its syntax is small compared to other languages, and it's easy to learn.
Offers standard library to provide handy built-in functions for working with primitive types
Go makes concurrent programming easy.
Cons:
Poor Library Support
Interfaces Are Implicit
Fractured Dependency Management
Usage applications: Console utilities, GUI applications, and web applications
Types of Programming Languages
There are two types of programming languages, which can be categorized into the following
ways:
1. Low level language
a) Machine language (1GL)
b) Assembly language (2GL)
2. High level language
a) Procedural-Oriented language (3GL)
b) Problem-Oriented language (4GL)
c) Natural language (5GL)
1. Low level language
This language is the most understandable language used by computer to perform its operations.
It can be further categorized into:
¨ Because of their flexibility, procedural languages are able to solve a variety of problems.
¨ Programmer does not need to think in term of computer architecture which makes them
focused on the problem.
¨ Programs written in this language are portable.
Demerits:
b) Problem-Oriented language (4GL)
It allows the users to specify what the output should be, without describing all the
details of how the data should be manupulated to produce the result. This is one step ahead
from 3GL. These are result oriented and include database query language.
Eg: Visual Basic, C#, PHP, etc.
The objectives of 4GL are to:
Ø Increase the speed of developing programs.
Ø Minimize user’s effort to botain information from computer.
Ø Reduce errors while writing programs.
Merits:
¨ Programmer need not to think about the procedure of the program. So, programming is
much easier.
Demerits:
¨ It is easier but needs higher processor and larger memory.
¨ It needs to be translated therefore its execution time is more.
c) Natural language (5GL)
Natural language are stil in developing stage where we could write statrments that
would look like normal sentences.
Merits:
¨ Easy to program.
¨ Since, the program uses normal sentences, they are easy to understand.
¨ The programs designed using 5GL will have artificial intelligence (AI).
¨ The programs would be much more interactive and interesting.
Demerits:
¨ It is slower than previous generation language as it should be completely translated into
binary code which is a tedious task.
¨ Highly advanced and expensive electronic devices are required to run programs developed
in 5GL. Therefore, it is an expensive approach.
These are the different types of programming languages with their merits and demerits.