0% found this document useful (0 votes)
12 views70 pages

Fcet Books

The document provides an overview of computers, detailing their definition, components (hardware and software), and features. It outlines the history and evolution of computers from early counting devices to modern AI and quantum computing, categorizing them into generations based on technological advancements. Additionally, it explains the roles of hardware and software in computer systems, emphasizing their interdependence for efficient operation.

Uploaded by

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

Fcet Books

The document provides an overview of computers, detailing their definition, components (hardware and software), and features. It outlines the history and evolution of computers from early counting devices to modern AI and quantum computing, categorizing them into generations based on technological advancements. Additionally, it explains the roles of hardware and software in computer systems, emphasizing their interdependence for efficient operation.

Uploaded by

ANSHUL KUMAR GN
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Unit -1

Introduction to Computer: Definition, Computer Hardware & Computer Software

Components: Hardware – Introduction, Input devices, Output devices, Central Processing Unit,
Memory- Primary and Secondary. Software - Introduction, Types – System and Application.

Computer Languages: Introduction, Concept of Compiler, Interpreter & Assembler

Problem solving concept: Algorithms – Introduction, Definition, Characteristics, Limitations, Conditions


in pseudo-code, Loops in pseudo code.

What is a Computer?

A computer is an electronic device that processes data based on instructions given by software
programs. It accepts input (data), processes it through the Central Processing Unit (CPU), stores
information for future use, and generates output (results) to carry out a wide range of tasks.

Features of a Computer

1. Speed – Computers can process millions of instructions per second.

2. Accuracy – Produces highly accurate results, errors occur only due to wrong input or program
(GIGO – Garbage In, Garbage Out).

3. Automation – Once instructed, it performs tasks automatically without human intervention.

4. Storage – Can store a large amount of data and retrieve it quickly when needed.

5. Versatility – Can perform different types of tasks, from calculations to multimedia processing.

6. Connectivity – Can connect to networks (like the Internet) for communication and data sharing.

7. Diligence – Unlike humans, computers do not get tired or bored, they can work continuously.

8. Programmability – Can be programmed to perform a wide variety of tasks.

9. Multitasking – Capable of handling multiple operations simultaneously.

10. Communication – Facilitates data exchange through emails, video calls, cloud services, etc
History and Evolution of Computers

Introduction

Before the invention of modern computers, humans relied on simple tools like sticks, stones, and
bones to count and perform basic calculations. As knowledge grew, more advanced devices such
as the abacus and Napier’s Bones were invented. These early tools were helpful but limited, as
they could not handle complex calculations. Over time, innovations in mechanical and electronic
devices led to the powerful computers we use today.

The Evolution of Computers


1. Early Counting Devices (Pre-Computer Era)

 Abacus (c. 4000 BCE)


o Developed in China.
o Used beads on rods for basic arithmetic (addition, subtraction).
o Considered the first known computing device.
 Napier’s Bones (1617)
o Invented by John Napier.
o Consisted of rods inscribed with numbers to assist in multiplication and division.
o Introduced the decimal point for simplifying calculations.

2. Mechanical Calculators (17th–19th Century)

 Pascaline (1642–1644)
o Invented by Blaise Pascal.
o First mechanical calculator for addition and subtraction using gears and wheels.
 Stepped Reckoner (1673)
o Invented by Gottfried Wilhelm Leibniz.
o Improved Pascal’s design; capable of addition, subtraction, multiplication, and
division.
 Difference Engine (1820s)
o Designed by Charles Babbage (known as the "Father of Modern Computing").
o Mechanical device for calculating polynomial functions.
 Analytical Engine (1830s)
o Also designed by Charles Babbage.
o First design for a general-purpose computer with memory, a control unit, and
input/output via punch cards.
o Though never built, it laid the foundation for modern computing concepts.

3. The Rise of Electronic Computing (1930s–1940s)

 Tabulating Machine (1890)


o Invented by Herman Hollerith.
o Used punch cards to process U.S. Census data.
o Led to the creation of IBM (International Business Machines) in 1924.
 Differential Analyzer (1930s)
o Invented by Vannevar Bush.
o Analog computer using vacuum tubes to perform up to 25 calculations in minutes.
 Mark I (1944)
o Built by IBM and Harvard under Howard Aiken.
o First programmable digital computer.

4. The Era of Transistors (1950s–1960s)

 Transistor Computers
o Replaced bulky vacuum tubes.
o Smaller, faster, more reliable, and energy-efficient.
 UNIVAC I (1951)
o Developed by Eckert and Mauchly.
o First commercially successful computer for business and scientific applications.

5. The Rise of Integrated Circuits (1960s–1970s)

 Integrated Circuits (ICs)


o Allowed multiple transistors on a single chip.
o Reduced cost, size, and increased speed.
 IBM System/360 (1964)
o Family of mainframe computers using ICs.
o Set standards in business, academia, and government.
 Minicomputers and Microcomputers
o Development of microprocessors (PDP-8, PDP-11).
o Affordable and smaller computers, paving the way for personal computers.

6. The Personal Computer Revolution (1970s–1980s)

 Apple II (1977) – Early successful personal computer by Steve Jobs and Steve Wozniak.
 IBM PC (1981) – Standardized personal computing; widely adopted.
 Macintosh (1984) – Introduced graphical user interface (GUI), making computers user-
friendly.

7. The Internet and Networking Era (1990s–Present)

 World Wide Web (1990s)


o Developed by Tim Berners-Lee.
o Made global information accessible via browsers like Netscape and Internet
Explorer.
 Cloud Computing (2000s–Present)
o Enabled storage and access of data online.
o Popular platforms: Google Drive, Dropbox, Amazon Web Services (AWS).

8. The Modern Age and Future of Computing

 Artificial Intelligence (AI)


o Enables machines to learn, recognize patterns, and make decisions.
o Used in virtual assistants, autonomous vehicles, and data analysis.
 Quantum Computing (Emerging)
o Uses quantum mechanics to solve highly complex problems.
o Promises breakthroughs in cryptography, science, and AI.
 Internet of Things (IoT)
o Everyday devices connected via the internet (smart homes, wearables, cars).
o Transforming how humans interact with technology.

Generations of Computers

First Generation Computers (1940–1956)

The period between 1940 and 1956 is known as the era of the first generation of computers.
These computers were large, slow, costly, and consumed a huge amount of electricity. They
used vacuum tubes as the main components for the CPU and memory. Input was provided
through punch cards and paper tape, while output was obtained on magnetic tape and
printouts. They relied mainly on batch processing operating systems.

Characteristics of First Generation Computers


1. Technology – Used vacuum tubes for circuitry and magnetic drums for memory.
2. Size – Very large machines, often taking up entire rooms.
3. Speed – Very slow, measured in milliseconds.
4. Cost – Extremely expensive to build and maintain.
5. Input/Output – Used punch cards, paper tape (input) and magnetic tape, printouts
(output).
6. Programming Language – Written in machine language (binary codes of 0s and 1s).
7. Reliability – Generated a lot of heat, required frequent maintenance, and were prone to
failures.
8. Examples – ENIAC, UNIVAC I, IBM-701, EDVAC.

Second Generation Computers (1957–1963)

The period between 1957 and 1963 is known as the era of the second generation of computers.
This generation marked the shift from vacuum tubes to transistors, which were smaller,
cheaper, faster, and more reliable. These computers consumed less power and generated less
heat compared to first-generation machines.

For primary memory, magnetic cores were used, while magnetic disks and tapes served as
secondary storage devices. Programming was done using assembly language as well as high-
level languages such as COBOL and FORTRAN. Operating systems introduced batch
processing and multiprogramming features.

Characteristics of Second Generation Computers

1. Technology – Used transistors instead of vacuum tubes.


2. Size – Much smaller and more compact than first-generation computers.
3. Speed – Faster processing, with operations measured in microseconds.
4. Cost – Cheaper and more energy-efficient.
5. Memory – Magnetic cores used as primary memory; magnetic disks and tapes for
secondary storage.
6. Programming Languages – Supported assembly language and high-level languages
like COBOL and FORTRAN.
7. Operating System – Introduced batch processing and multiprogramming.
8. Reliability – More reliable, produced less heat, and required less maintenance.
9. Examples – IBM 7094, IBM 1401, CDC 1604, UNIVAC 1108.

Third Generation Computers (1964–1971)

The third generation of computers (1964–1971) marked the introduction of Integrated


Circuits (ICs), where multiple transistors were placed on a single silicon chip. This
advancement greatly increased the processing power of computers while reducing their cost,
size, and power consumption.

These computers were more reliable, efficient, and compact than earlier generations. Operating
systems supported time-sharing, multiprogramming, and remote processing. High-level
programming languages such as FORTRAN-II to IV, COBOL, PASCAL, and PL/1 were
widely used during this era.

Characteristics of Third Generation Computers

1. Technology – Used Integrated Circuits (ICs) instead of individual transistors.


2. Size – Much smaller and more compact compared to second generation.
3. Speed – Faster processing, with operations measured in nanoseconds.
4. Cost – Became cheaper and more affordable.
5. Memory – Magnetic cores for primary storage; magnetic disks for secondary storage.
6. Programming Languages – Supported high-level languages such as FORTRAN-II to
IV, COBOL, PASCAL, PL/1.
7. Operating System – Introduced time-sharing, multiprogramming, and remote
processing.
8. Reliability – More reliable and efficient, generated less heat.
9. Examples – IBM 360 series, Honeywell 6000 series, PDP-8, PDP-11, ICL 2900.

Fourth Generation Computers (1971–1980)

The period between 1971 and 1980 is known as the era of the fourth generation of computers.
These computers used VLSI (Very Large Scale Integration) circuits, where millions of
transistors and other components were integrated onto a single chip. This innovation made
computers smaller, faster, more powerful, reliable, and affordable.

The operating systems of this generation supported real-time processing, time-sharing, and
distributed computing. Programming languages like C and C++ became popular. This was
also the era of the rise of personal computers and supercomputers.

Characteristics of Fourth Generation Computers


1. Technology – Based on VLSI technology with millions of transistors on a chip.
2. Size – Very compact and portable compared to earlier generations.
3. Speed – Extremely fast, with processing in picoseconds.
4. Cost – Became low-cost and affordable for personal and business use.
5. Memory – Used semiconductor memory chips.
6. Programming Languages – Supported high-level languages like C and C++.
7. Operating Systems – Featured real-time, time-sharing, and distributed OS.
8. Reliability – More reliable, durable, and energy-efficient.
9. Examples – STAR 1000, PDP-11, CRAY-1, CRAY-X-MP.

Fifth Generation Computers (1980 – Present)

The period from 1980 to the present marks the era of fifth generation computers. These
computers use ULSI (Ultra Large Scale Integration) technology, which allows millions of
electronic components to be integrated onto a single microprocessor chip.

Fifth-generation computers are designed for parallel processing and incorporate Artificial
Intelligence (AI) software, enabling them to make decisions, recognize patterns, and solve
complex problems. Common programming languages include C, C++, Java, and .NET. These
computers are widely used today in desktops, laptops, notebooks, ultrabooks, and servers,
and are connected to the Internet, supporting global communication and cloud computing.

Characteristics of Fifth Generation Computers

1. Technology – Based on ULSI (Ultra Large Scale Integration) with millions of


components per chip.
2. Size – Extremely compact and portable (desktop, laptop, notebook, ultrabook).
3. Speed – Extremely fast, capable of processing billions of instructions per second.
4. Cost – Affordable and widely available for personal and business use.
5. Memory – Uses advanced semiconductor and solid-state memory.
6. Programming Languages – Supports C, C++, Java, .NET, and other modern
languages.
7. Operating System – Supports parallel processing, distributed, and AI-based systems.
8. Intelligence – Incorporates Artificial Intelligence for decision-making and problem-
solving.
9. Connectivity – Internet-enabled, supports cloud computing and global networking.
10. Examples – Desktops, Laptops, Notebooks, Ultrabooks, Supercomputers.
Sixth Generation Computers (Present & Future)

The sixth generation of computers refers to the current and upcoming generation of
computers that are focused on artificial intelligence (AI), quantum computing, and advanced
nanotechnology. These computers are designed to be faster, smaller, more intelligent, and
highly efficient. They integrate natural language processing, machine learning, neural
networks, and quantum processors to solve extremely complex problems beyond the reach of
classical computers.

This generation emphasizes ubiquitous computing, where devices are interconnected, context-
aware, and capable of self-learning. Examples include AI-driven supercomputers, quantum
computers, advanced robotics, IoT-enabled smart devices, and futuristic computers for
research in science, medicine, and space.

Characteristics of Sixth Generation Computers

1. Technology – Based on Artificial Intelligence, Quantum Computing,


Nanotechnology, and Optical Computing.
2. Size – Ultra-compact, often embedded in devices (wearables, IoT devices,
nanocomputers).
3. Speed – Extremely high-speed processing using quantum bits (qubits) and parallel
architectures.
4. Memory – Advanced quantum and optical memory, capable of storing huge amounts
of data efficiently.
5. Intelligence – Can learn, reason, and make decisions autonomously using AI and
neural networks.
6. Connectivity – Fully Internet and cloud-connected, enabling global data sharing and
communication.
7. Energy Efficiency – Uses low power with advanced cooling and energy-saving
technologies.
8. Programming Languages – Includes AI frameworks (Python, R, TensorFlow),
Quantum programming languages (Q#), and advanced high-level languages.
9. Applications – AI systems, robotics, quantum research, autonomous vehicles, smart
cities, healthcare, and space exploration.
10. Examples – IBM Quantum Computer, Google Sycamore, AI supercomputers, IoT-
enabled smart devices.

Hardware and Software

A computer system is made up of two main components: Hardware and Software.

 Hardware refers to the physical parts of a computer, such as the CPU, RAM, hard
drives, keyboard, and monitor.
 Software consists of the programs and applications that instruct the hardware on how
to perform tasks.

Both hardware and software are essential for the computer to operate, working together to
ensure efficient and smooth performance. Understanding their interaction is key to modern
computing
Computer Hardware and Software

A computer system consists of hardware and software, both of which are essential for its
proper unctioning.

1. Computer Hardware
Hardware refers to the physical components of a computer system. These can be classified into
the following main types:

1.1 Input Devices

Input devices allow users to enter data and instructions into the computer for processing.
Examples: Keyboard, Mouse, Scanner, Microphone.

1.2 Output Devices

Output devices display or produce results from computer processing, allowing users to see or
hear the processed information.
Examples: Monitor, Printer, Speakers.

1.3 Storage Devices


Storage devices store data temporarily or permanently, enabling information to be saved and
retrieved later.
Examples: Hard Disk Drive (HDD), Solid-State Drive (SSD), USB Drives, CDs, DVDs.

1.4 Internal Components

Internal components are essential parts inside the computer that manage data and ensure
smooth system operation.
Examples: CPU (Central Processing Unit), Motherboard, RAM (Random Access Memory),
GPU (Graphics Processing Unit).

2. Computer Software
Software is a collection of instructions, programs, and documentation that tells the computer
how to perform specific tasks. It can be machine-level code or programs designed for operating
systems.

Examples: MS Word, Excel, PowerPoint, Google Chrome, Photoshop, MySQL.

3. Types of Computer Software


3.1 System Software

System software manages computer hardware and provides a platform for application
software. It controls hardware devices and ensures proper system functionality.
Examples: Operating Systems (Windows, Linux, macOS), Language Processors, Device
Drivers.

3.2 Application Software

Application software is designed to perform specific tasks for users. It runs on top of system
software and supports day-to-day functions.
Examples: Word Processors (MS Word), Spreadsheets (Excel), Graphic Design Tools
(Photoshop), Database Management Systems (MySQL).

Difference b/w hardware and software

Parameters Hardware Software


Basic Definition Physical parts of a computer that Set of instructions that tells a computer
perform processing of data. what to do.
Development Manufactured using electronic Developed and engineered using
components and materials. programming languages.
Dependency Cannot perform tasks without Cannot be executed without hardware.
software.
Process of Created using electronic and Written using a computer language to
Creation physical materials. provide instructions.
Tangible Tangible; can be touched Intangible; can be used and seen but
physically. cannot be touched.
Durability Wears out over time. Does not wear out but may have bugs or
glitches.
Types Input Devices, Output Devices, System Software, Application Software.
Storage Devices, Internal
Components.
Virus Effect Not affected by viruses. Can be affected by computer viruses.
Transfer Cannot be transferred Can be transferred over a network.
electronically over a network.
Machine-Level Understands only machine-level Accepts human-readable input, converts
Language language. it to machine-level language for
hardware processing.
Replacement Damaged hardware must be Damaged software can be reinstalled
replaced physically. from a backup.
Failures Caused by dust, overheating, Caused by overloading, software bugs,
humidity, and physical issues. version errors, or system errors.
Examples Keyboard, Mouse, Monitor, MS Word, Excel, PowerPoint,
Printer, CPU, Hard Disk, RAM, Photoshop, MySQL.
ROM.

Input and Output Devices

An Input/Output (I/O) device is any hardware that allows a computer to communicate with
users or other systems. These devices can receive data (input) from the user or an external
source and deliver data (output) from the computer. Essentially, I/O devices act as a bridge
between the computer and the outside world, enabling seamless data exchange.

1. Input Devices
Input devices are used to send data or signals to the computer for processing. The CPU
(Central Processing Unit) receives this data and processes it, sending the results to output
devices.

Types of Input Devices

1. Keyboard Devices – For entering text and commands.


2. Pointing Devices – For selecting or controlling objects on the screen (e.g., mouse,
touchpad).
3. Composite Devices – Devices that combine multiple input methods (e.g., touchscreen).
4. Game Controllers – Joysticks, gamepads, or motion sensors for interactive applications.
5. Visual Devices – Devices that capture images or video (e.g., scanners, cameras).
6. Audio Input Devices – Devices that capture sound (e.g., microphones).

Keyboard

The keyboard is the most commonly used input device for entering data into a computer. Its
layout is similar to that of a standard typewriter, though it includes additional keys for
performing various computer operations.

Keyboards are available in different sizes: traditionally 84 keys or 101/102 keys, while modern
keyboards for Windows and Internet use often have 104 or 108 keys to accommodate extra
functionality.

Types of Keyboard Keys

Keyboards consist of several types of keys, each serving a specific function:

1. Numeric Keys

 Function: Used to enter numeric data and sometimes to move the cursor.
 Characteristic: Typically includes 17 keys arranged in a grid or keypad.

2. Typing Keys

 Function: Includes letters (A–Z) and numbers (0–9) for typing text and data.
 Characteristic: Main keys used for writing and text entry.

3. Control Keys
 Function: Used to control the pointer, screen, and perform system operations.
 Characteristic: Includes Arrow keys, Home, End, Insert, Delete, Ctrl, Alt, Esc, etc.
 Special Note: Helps in navigation and executing shortcuts.

4. Special Keys

 Function: Perform specific functions like formatting or system commands.


 Characteristic: Includes Enter, Shift, Caps Lock, Num Lock, Tab, Print Screen, etc.

5. Function Keys

 Function: Perform special operations or shortcuts depending on software.


 Characteristic: F1 to F12 keys are located on the top row of the keyboard.

Mouse

The mouse is the most common pointing device used with computers. It allows users to control
the on-screen cursor by moving the mouse across a flat surface. The computer relies on the user
to move the mouse, so it is classified as an input device.

 Left Button: Used to select, drag, or move items on the screen.


 Right Button: Displays contextual or additional menus when clicked.
 Functionality: Moving the mouse changes the cursor position on the screen, and
releasing it stops the movement.

In essence, the mouse provides an intuitive way to interact with graphical interfaces and
navigate through software applications.

Joystick
Joystick

A joystick is a pointing input device used to move the cursor on a computer screen. It consists
of a stick with spherical balls at the top and bottom. The bottom ball slides within a socket,
allowing the stick to move in all four directions.

 Function: Similar to a mouse, it controls the on-screen cursor or objects.


 Primary Uses:
o CAD (Computer-Aided Design) for precise movements.
o Video games for controlling characters or navigating game environments.

In summary, the joystick provides an intuitive way to control movements on a screen,


especially for specialized applications and gaming.

Trackball

A trackball is an input device commonly used as an alternative to a mouse, especially with


notebooks and laptops. It functions similarly to a mouse but remains stationary while the user
moves a ball with their fingers to control the on-screen cursor.

 Structure: Usually consists of a half-exposed ball mounted on a base.


 Operation: The user rolls the ball with their fingers to move the cursor.
 Variations: Trackballs come in different shapes, including balls, buttons, or square
designs.
In essence, the trackball offers precise cursor control while taking up less space than a
traditional mouse.

Light Pen

A light pen is a pointing input device that resembles a pen. It allows users to select menu
items or draw directly on the monitor screen.

 Structure: A small tube containing a photocell and optical system.


 Functionality: When the tip of the light pen is moved across the screen and the button is
pressed, the photocell detects the screen location and sends a signal to the CPU.

In essence, the light pen provides a direct and interactive way to communicate with the
computer screen, making it useful for drawing and selection tasks.
Scanner

Scanner

A scanner is an input device that works similarly to a photocopier. It is used to transfer


information from paper to a computer for storage or further processing.

 Functionality: The scanner captures images or text from the source document and
converts them into digital format.
 Storage: The digitized data can be saved on a hard disk or other storage media.
 Editing: The scanned images or documents can be modified or enhanced before
printing or further use.

Optical Mark Reader (OMR)

An Optical Mark Reader (OMR) is an input device commonly used in educational


institutions to process objective exam answer sheets.

 Functionality: It detects marks made by pencil or pen on specially designed OMR


sheets.
 Purpose: The device automatically reads and records answers, making the evaluation
process faster and more accurate.
Optical Character Reader (OCR)

An Optical Character Reader (OCR) is an input device that reads printed text and converts
it into a format that a computer can understand.

 Functionality: The OCR scans text character by character and transforms it into
machine-readable code.
 Storage: The recognized text is then saved in the system memory for processing or
editing.

In essence, OCR allows computers to digitize printed documents, making it easier to store,
search, and manipulate text electronically.
Magnetic Ink Character Reader (MICR)

A Magnetic Ink Character Reader (MICR) is an input device widely used in banks to
process cheques.

 Functionality: MICR reads the magnetic ink printed on cheque numbers and codes.
 Purpose: It enables fast and accurate processing of cheques compared to manual
methods.

In summary, MICR helps banks quickly verify and process financial documents, improving
efficiency and reducing errors.

.
Bar Code Reader

A Bar Code Reader is an input device that reads bar-coded data, which is represented by a
series of light and dark lines.

 Functionality: The device scans the bar code, converts it into an alphanumeric value,
and sends the information to the connected computer.
 Types: It can be a handheld scanner or part of a stationary scanning system.
 Applications: Bar codes are commonly used to label products, number books, track
inventory, and manage sales.

In essence, a Bar Code Reader automates data entry, making it faster and more accurate than
manual recording.
Web Camera (Webcam)

A web camera or webcam is an input device that captures video and images of the scene in
front of it.

 Connection: It can be built into a computer or laptop or connected externally via USB.
 Functionality: Webcams record images and videos and transmit them to the computer
for processing. They are commonly used for video calls, online streaming, and
broadcasting.
 Software: Requires installed software to operate and broadcast video in real-time over
the Internet.
 Quality: Can capture images and HD videos, though the quality is usually lower than
dedicated cameras found in smartphones or standalone cameras.

In essence, webcams provide a simple way to capture and transmit live video and images for
communication and multimedia applications.
Digitizer

Digitizer is a device that is used to convert analog signals to digital signals. It converts signals into
numeric values. An example of a Digitizer is a Graphic Tablet, which is used to convert graphics to binary
data.

Microphone

The microphone works as an input device that receives input voice signals and also has the responsibility
of converting it also to digital form. It is a very common device that is present in every device which is
related to music.
2. Output Devices

Output Devices are the devices that show us the result after giving the input to a computer system.
Output can be of many different forms like image, graphic audio, video, etc. Some of the output devices
are described below.

Monitor

Monitors, also known as Visual Display Units (VDUs), are a computer's primary output device. It creates
images by arranging small dots, known as pixels, in a rectangular pattern. The amount of pixels
determines the image's sharpness.
The two kinds of viewing screens used for monitors are described below.

 Cathode-Ray Tube (CRT) Monitor: Pixels are minuscule visual elements that make up a CRT
display. The higher the image quality or resolution, the smaller the pixels.

 Flat-Panel Display Monitor: In comparison to the CRT, a flat-panel display is a type of video
display with less volume, weight, and power consumption. They can be hung on the wall or
worn on the wrist.

Flat-panel displays are currently used in calculators, video games, monitors, laptop computers, and
graphical displays.
Television

Television is one of the common output devices which is present in everycan house. It portrays video
and audio files on the screen as the user handles the television. Nowadays, we are using plasma displays
as compared to CRT screens which we used earlier.

Printer

Printers are output devices that allow you to print information on paper. There are certain types of
printers which are described below.

 Impact Printers

 Character Printers

 Line Printers

 Non-Impact Printers

 Laser Printers

 Inkjet Printers

Printer666

Impact Printer

Characters are printed on the ribbon, which is subsequently crushed against the paper, in impact
printers. The following are the characteristics of impact printers:
 Exceptionally low consumable cost.

 Quite noisy

 Because of its low cost, it is ideal for large-scale printing.

 To create an image, there is physical contact with the paper.

Character Printers

Character Printer canto produce print only one character at a time. It is of two types.

 Dot Matrix Printer

 Daisy Wheel
Line Printers

Line Printers are printers that have the capability to print one line at a time. It is of two types.

 Drum Printer

 Chain Printer

Non-Impact Printers
Characters are printed without the need for a ribbon in non-impact printers. Because these printers
print a full page at a time, they're also known as Page Printers. The following are the characteristics of
non-impact printers:

 Faster

 They don't make a lot of noise.

 Excellent quality

 Supports a variety of typefaces and character sizes

Laser Printers

Laser Printers use laser lights to produce. dots which will produce characters on the page.

Inkjet Printers

Inkjet printers are printers that use spray technology for printing papers. High-quality papers are
produced in an Inkjet printer. They also do color printing.
Speakers

Speakers are devices that produce sound after getting a command from a computer. Nowadays,
speakers come with wireless technology also like Bluetooth speakers.

Projector

Projectors are optical devices that have the work to show visuals on both types of screens, stationary
and moving both. It helps in displaying images on a big screen. Projectors are generally used in theatres,
auditoriums, etc.

Plotter

Plotter is a device that helps in making graphics or other images to give a real view. A graphic card is
mandatorily required to use these devices. These are the pen-like devices that help in generating exact
designs on the computer.
Braille Reader

Braille Reader is a very important device that is used by blind users. It helps people with low vision or no
vision to recognize the data by running their fingers over the device to understand easily. It is a very
important device for blind persons as it gives them the comfort to understand the letters, alphabets, etc
which helps them in study.

Video Card

A video Card is a device that is fitted into the motherboard of the computer. It helps in improvising
digital content in output devices. It is an important tool that helps people in using multiple devices.
Global Positioning System (GPS)

Global Positioning System helps the user in terms of directions, as it uses satellite technology to track
the geometrical locations of the users. With continuous latitudinal and longitudinal calculations, GPS
gives accurate results. Nowadays, all smart devices have inbuilt GPS.

Headphones

Headphones are just like a speaker, which is generally used by a single person or it is a single-person
usable device and is not commonly used in large areas. These are also called headsets having a lower
sound frequency.

3. Input-Output Devices (Hybrid Devices)

Some devices can act as both input and output tools, making them very versatile. These devices let you
send data to a computer and receive processed results from it. Unlike regular input or output devices,
hybrid devices improve functionality, efficiency, and user interaction by combining both capabilities

They are commonly used in modern computing for:

 Data storage
 Communication

 Seamless interaction

Here are some key examples of input-output devices:

Touchscreen

A touchscreen is a device that acts as both an input and an output tool. As an output device, it shows
information like a regular monitor. But it also works as an input device because you can interact with it
directly by touching the screen.

Touchscreens are commonly used in:

 Smartphones

 Tablets

 ATMs

 Kiosks

They let you navigate, select, and control functions without needing a mouse or keyboard. Advanced
touchscreens, like capacitive and resistive types, can detect multiple touches at once.

External Hard Drive

An external hard drive is a storage device that can both store and retrieve data. You can save files onto it
(output) and access or modify them later (input). These drives connect to your computer using USB,
Thunderbolt, or other interfaces.

External hard drives are commonly used for:

 Backing up important data.


 Transferring large files between computers.

 Adding extra storage space.

Unlike the storage inside your computer, external hard drives are portable. This means you can easily
move large files between different computers.

USB Flash Drive

A USB flash drive is a small, portable storage device that can both send and receive data. When you copy
files onto the flash drive, it acts as an output device, storing the information. When you access or
transfer those files to another computer, it acts as an input device, providing the data to the system.

USB flash drives are popular for several reasons:

 They are compact and easy to carry around.

 They can store a lot of data.

 They are simple to use.

People commonly use USB flash drives to:

 Transfer files between computers.

 Create bootable operating systems.

 Serve as emergency backup storage.


These versatile devices have made computing more efficient and convenient. Their ability to act as both
input and output devices enhances productivity across various tasks.

Central Processing Unit (CPU)

The Central Processing Unit (CPU) is like the brain of a computer. It’s the part that does most of the
thinking, calculating, and decision-making to make your computer work. Whether you’re playing a game,
typing a school assignment, or watching a video, the CPU is busy handling all the instructions to get the
job done.
The CPU is usually placed in a special slot called a socket on the computer’s motherboard, which is like
the main circuit board that connects all the parts of a computer. The CPU handles tasks like:

 Doing math calculations (like adding or multiplying numbers).

 Running apps or games.

 Helping the keyboard, mouse, and screen work together.

 Storing and retrieving information during tasks.

Without a CPU, a computer wouldn’t know what to do.

Why CPU is Important in Computing

The CPU is super important because it handles every task your computer does. Without it, your
computer would just be a fancy box! A fast CPU means your games run smoothly, your apps open
quickly, and your homework gets done faster.

Main Components of CPU

The components of a CPU include the ALU (Arithmetic Logic Unit), CU (Control Unit), registers, cache,
and clock.

Components of CPU

 Control Unit: The control unit manages the CPU by sending signals like clock, hold, and reset to
its parts. It ensures all components work together to complete tasks. For example, it
synchronizes data movement from cache memory to the ALU.

 Arithmetic and Logic Unit (ALU): The ALU handles arithmetic tasks (like addition, subtraction,
multiplication, division) and logical tasks (like AND, OR, comparisons). It uses addition for all
calculations, e.g., solving 2×3 as 2+2+2=6.

 Memory Unit: The memory unit stores data and instructions. Older CPUs used registers, but
modern ones also have fast cache memory. The CPU fetches data from RAM, ROM, or hard disks
and stores it in registers or cache during tasks.

Functions of the CPU

The CPU’s main job is to process instructions from programs. It does this through a process called
the Fetch-Decode-Execute-Store cycle:

This cycle happens billions of times a second, letting the CPU handle tons of tasks super fast!

1. Fetch: the first CPU gets the instruction. That means binary numbers that are passed from RAM
to CPU.
2. Decode: When the instruction is entered into the CPU, it needs to decode the instructions. with
the help of ALU(Arithmetic Logic Unit), the process of decoding begins.

3. Execute: After the decode step the instructions are ready to execute.

4. Store: After the execute step the instructions are ready to store in the memory.

Types of CPUs

CPUs come in different types, depending on how many cores they have. A core is like a mini-CPU inside
the main CPU, and more cores mean the CPU can do more tasks at once. Here are the main types:

 Single-Core CPU: The oldest type, used in the 1970s. It can only handle one task at a time, so it’s
slow for modern apps like games or web browsers.

 Dual-Core CPU: Has two cores, so it can handle two tasks at once. It’s faster and better for
multitasking, like listening to music while doing homework.

 Quad-Core CPU: Has four cores, making it great for heavy tasks like video editing or playing
modern games. It’s very fast and common in today’s computers.

Why is the CPU Called the Brain of the Computer?

The CPU earns its nickname as the “brain” because it’s responsible for thinking through and executing
every task in a computer. Just like your brain processes information to make decisions, the CPU
processes instructions to make your computer do what you want. Without a CPU, a computer would just
be a lifeless box of parts.

How Does the CPU Make Computers Faster?

Modern CPUs are designed to be super efficient. Here are a few ways they speed things up:

 Multiple Cores: Many CPUs have multiple cores, which are like mini-CPUs that can work on
different tasks at the same time. It’s like having several chefs in the kitchen instead of one.

 Faster Clocks: The clock speed (measured in GHz, like 3.5 GHz) determines how many
instructions the CPU can handle per second.

 Bigger Cache: More cache means the CPU can store more data close by, reducing wait times.

 Pipelining: This lets the CPU start working on the next instruction before finishing the current
one, like a factory line.

Advantages and Disadvantages of CPUs


Advantages Disadvantages

Versatile: CPUs can handle all kinds of tasks, Heat: CPUs get hot when working hard, so computers
from simple math to running complex games. need fans or cooling systems to stay safe.

Fast: Modern CPUs process billions of Power Use: Powerful CPUs use a lot of electricity,
instructions per second. which can raise power bills.

Multi-tasking: Multi-core CPUs let you run


Cost: High-performance CPUs, like Intel Core i9, can be
many programs at once, like watching a video
expensive.
while chatting with friends.

Compatible: CPUs work with tons of Not Perfect for All Tasks: For tasks like graphics or
software, so you can use the same CPU for video editing, specialized chips like GPUs (Graphics
different apps. Processing Units) are better than CPUs.

History of CPU

The story of the CPU started long ago and has some exciting milestones that changed how computers
work. Here’s a simple timeline for students:

 1823: A scientist named Baron Jons Jakob Berzelius discovered silicon, a material still used to
make CPUs today.

 1947: Scientists John Bardeen, Walter Brattain, and William Shockley invented the transistor, a
tiny switch that helped make modern CPUs possible.

 1958: Engineers Jack Kilby and Robert Noyce created the integrated circuit, which combined
many transistors into a single chip.

 1971: Intel released the Intel 4004, the first-ever microprocessor (a CPU on a single chip),
starting the era of personal computers.

 1979: Motorola introduced the Motorola 68000, a powerful CPU used in early computers and
gaming consoles.

 1999: Intel launched the Celeron processors, making computers faster and more affordable.

 2005: AMD introduced the first dual-core processor, allowing CPUs to handle multiple tasks at
once.
 2009: Intel released the Core i5, a four-core processor that made computers even faster.

 2017-2018: Intel introduced the Core i9, one of the most powerful CPUs for desktops and
laptops.

Each step made CPUs smaller, faster, and more powerful, helping computers do more amazing things!

Modern Applications

CPUs are everywhere, not just in computers:

CPU in Personal Computers: In your laptop or desktop, the CPU runs your games, apps, and homework
programs, making sure everything works smoothly.

Role in Mobile Devices: Your phone or tablet has a CPU too! It’s smaller and uses less power but still
handles calls, apps, and videos.

Use in Servers and Data Centers: In big data centers, CPUs power websites like YouTube and Google,
processing millions of requests every second.

Difference between Primary and Secondary Memory

Primary memory is used to store actively used data and is very fast but loses information when power is
lost. Secondary memory provides long-term storage for files and programs, retaining data safely but is
slower than primary memory. In this article, we are going to discuss the difference between primary and
secondary memory in detail.

Computer Memories store data and instruction. The memory system can be divided into 4 categories:

 CPU Register

 Cache Memory

 Primary / Main memory

 Secondary Memory / Mass Storage

They can be represented in an hierarchical form as:


Computer Memory

1. Primary / Main memory

Primary memory is the computer memory that is directly accessible by CPU. It is comprised
of DRAM and provides the actual working space to the processor. It holds the data and instructions that
the processor is currently working on.

Types of Primary Memory

 RAM (Random Access Memory): Temporary storage for actively used data and instructions. It is
volatile and lost when power is turned off.

 ROM (Read-Only Memory): Non-volatile memory that stores firmware and essential
instructions for booting the computer. The data is permanent and not lost when power is off.

Advantages of Primary Memory

 Speed : Provides fast access to data and instructions.

 Direct Access : Allows the CPU to quickly read from and write to memory.

Disadvantages of Primary Memory

 Volatility : Loses data when power is lost.

 Limited Size : Generally smaller in capacity compared to secondary memory.


2. Secondary Memory / Mass Storage

The contents of the secondary memory first get transferred to the primary memory and then are
accessed by the processor, this is because the processor does not directly interact with the secondary
memory. Now, Let's see the difference between Primary memory and Secondary memory.

Types of Secondary Memory

 Hard Disk Drive (HDD): Magnetic storage device used for long-term data storage. It is slower
than SSD but offers large capacity.

 Solid-State Drive (SSD): Faster than HDD, uses flash memory for storage. More durable and
energy-efficient but typically more expensive.

 Optical Discs (CD/DVD): Store data using laser technology, commonly used for media storage
and software distribution.

 USB Flash Drive: Portable storage device using flash memory, widely used for transferring and
storing data.

 External Hard Drive: Similar to HDD, used for additional storage outside the computer, portable
and used for backups.

 Tape Drive: Magnetic storage device used mainly for backups; offers high capacity but slower
access speed.

Advantages of Secondary Memory

 Persistence : Retains data even without power.

 Large Capacity : Typically offers much more storage space than primary memory.

Disadvantages of Secondary Memory

 Speed : Slower access compared to primary memory.

 Cost : Generally more expensive than primary memory on a per-byte basis.

Difference Between Primary and Secondary Memory

Primary memory, like RAM, is where the CPU directly stores and retrieves data it’s currently working
with. On the other hand, secondary memory, such as hard drives, is used for long-term storage, keeping
files and programs safe even when the computer is turned off. Understanding the difference between
these two types of memory is crucial for grasping how computer systems work.
Primary memory Secondary memory

The primary memory of a computer is the


Secondary memory defines to additional storage
main memory that is utilized to store data
devices that are utilized to store data permanently.
temporarily.

Primary memory is temporary. Secondary memory is permanent.

Primary memory is faster than secondary


Secondary memory is non-volatile, which means it
memory because it is directly accessible to
retains data even when the power is off.
the CPU.

Primary memory is directly accessible by Secondary memory is not directly accessible by the
Processor/CPU. CPU.

Nature of Parts of Primary memory varies,


It's always Non-volatile in nature.
RAM- volatile in nature. ROM- Non-volatile.

Primary memory is volatile, which means it is Since it is non-volatile, data can be retained in case of
wiped out when the computer is turned off. a power failure.

Primary memory devices are more expensive Secondary memory devices are less expensive when
than secondary storage devices. compared to primary memory devices.

The memory devices used for primary The secondary memory devices are magnetic and
memory are semiconductor memories. optical memories.

It can hold data/information currently being It can hold data/information that are not currently
used by the processing unit. being used by the processing unit.

The capacity of primary memory is usually It stores a considerable amount of data and
within the range of 16 to 32 GB. information. The capacity of secondary memory
Primary memory Secondary memory

ranges from 200 GB to some terabytes.

Primary memory is also known as Main Secondary memory is also known as External memory
memory or Internal memory. or Auxiliary memory.

It can be accessed by a data bus. It can be accessed using I/O channels.

Examples: Hard Disk, Floppy Disk, Magnetic Tapes,


Examples: RAM, ROM, PROM, EPROM etc.
etc.

Software and its Types

Last Updated : 23 Jul, 2025

In a computer system, the software is basically a set of instructions or commands that tell a computer to
do a specific task that serves its users.

 A software is not a physical thing like hardware, it rather makes the hardware work as per user
requirements by giving instructions.

 Examples of software are MS-Word, MS-Excel, PowerPoint and Web Browser

Types of Software

The chart below describes the types of software:


Above is the diagram of types of software. Now we will briefly describe each type and its subtypes:

1. System Software

 Operating System (like Windows and Linux)

 Language Processor

 Device Driver

2. Application Software

 General Purpose Software

 Customize Software

 Utility Software

System Software
System software is software that directly operates the computer hardware and provides the basic
functionality to the users as well as to the other software to operate smoothly.

 System software basically controls a computer’s internal functioning and also controls hardware
devices such as monitors, printers, and storage devices, etc.

 It is like an interface between hardware and user applications, it helps them to communicate
with each other because hardware understands machine language(i.e. 1 or 0) whereas user
applications are work in human-readable languages like English, Hindi, German, etc.

Types of System Software

It has two subtypes which are:

1. Operating System: It is the main program of a computer system. When the computer system
ON it is the first software that loads into the computer's memory. Basically, it manages all the
resources such as computer memory, CPU, printer, hard disk, etc., and provides an interface to
the user, which helps the user to interact with the computer system.

2. Language Processor: As we know that system software converts the human-readable language
into a machine language and vice versa. So, the conversion is done by the language processor. It
converts programs written in high-level programming languages like Java, C, C++, Python,
etc(known as source code), into sets of instructions that are easily readable by machines(known
as object code or machine code).

3. Device Driver: A device driver is a program or software that controls a device and helps that
device to perform its functions. Every device like a printer, mouse, modem, etc. needs a driver
to connect with the computer system eternally. So, when you connect a new device with your
computer system, first you need to install the driver of that device so that your operating
system knows how to control or manage that device.

Features of System Software

Let us discuss some of the features of System Software:

 Closer to the computer system.

 Written in a low-level language in general.

 Difficult to design and understand.

 Fast in speed(working speed).

 Less interactive for the users in comparison to application software.

Application Software
Software that performs special functions or provides functions that are much more than the basic
operation of the computer is known as application software.

 Application software is designed to perform a specific task for end-users. It is a product or a


program that is designed only to fulfill end-users' requirements.

 Examples include word processors, spreadsheets, database management, inventory, payroll


programs, etc.

Types of Application Software

There are different types of application software and those are:

1. General Purpose Software: This type of application software is used for a variety of tasks and it
is not limited to performing a specific task only. For example, MS-Word, MS-Excel, PowerPoint,
etc.

2. Customized Software: This type of application software is used or designed to perform specific
tasks or functions or designed for specific organizations. For example, railway reservation
system, airline reservation system, invoice management system, etc.

3. Utility Software: This type of application software is used to support the computer
infrastructure. It is designed to analyze, configure, optimize and maintains the system, and take
care of its requirements as well. For example, antivirus, disk fragmenter, memory tester, disk
repair, disk cleaners, registry cleaners, disk space analyzer, etc.

Features of Application Software

Let us discuss some of the features of Application Software:

 Perform more specialized tasks like word processing, spreadsheets, email, etc.

 Mostly, the size of the software is big, so it requires more storage space.

 More interactive for the users, so it is easy to use and design.

 Easy to design and understand.

 Written in a high-level language in general.

Difference Between System Software and Application Software

Now, let us discuss some difference between system software and application software:
System Software Application Software

It is designed to manage the resources of the


It is designed to fulfill the requirements of the
computer system, like memory and process
user for performing specific tasks.
management, etc.

Written in a low-level language. Written in a high-level language.

Less interactive for the users. More interactive for the users.

System software plays vital role for the effective Application software is not so important for the
functioning of a system. functioning of the system, as it is task specific.

It is independent of the application software to run. It needs system software to run.

Introduction to Programming Languages

Last Updated : 29 Mar, 2023

Introduction:

A programming language is a set of instructions and syntax used to create software programs. Some of
the key features of programming languages include:

1. Syntax: The specific rules and structure used to write code in a programming language.

2. Data Types: The type of values that can be stored in a program, such as numbers, strings, and
booleans.

3. Variables: Named memory locations that can store values.

4. Operators: Symbols used to perform operations on values, such as addition, subtraction, and
comparison.
5. Control Structures: Statements used to control the flow of a program, such as if-else
statements, loops, and function calls.

6. Libraries and Frameworks: Collections of pre-written code that can be used to perform common
tasks and speed up development.

7. Paradigms: The programming style or philosophy used in the language, such as procedural,
object-oriented, or functional.

Examples of popular programming languages include Python, Java, C++, JavaScript, and Ruby. Each
language has its own strengths and weaknesses and is suited for different types of projects.

A programming language is a formal language that specifies a set of instructions for a computer to
perform specific tasks. It's used to write software programs and applications, and to control and
manipulate computer systems. There are many different programming languages, each with its own
syntax, structure, and set of commands. Some of the most commonly used programming languages
include Java, Python, C++, JavaScript, and C#. The choice of programming language depends on the
specific requirements of a project, including the platform being used, the intended audience, and the
desired outcome. Programming languages continue to evolve and change over time, with new languages
being developed and older ones being updated to meet changing needs.

Are you aiming to become a software engineer one day? Do you also want to develop a mobile
application that people all over the world would love to use? Are you passionate enough to take the big
step to enter the world of programming? Then you are in the right place because through this article
you will get a brief introduction to programming. Now before we understand what programming is, you
must know what is a computer. A computer is a device that can accept human instruction, processes it,
and responds to it or a computer is a computational device that is used to process the data under the
control of a computer program. Program is a sequence of instruction along with data.

The basic components of a computer are:

1. Input unit

2. Central Processing Unit(CPU)

3. Output unit

The CPU is further divided into three parts-

 Memory unit

 Control unit

 Arithmetic Logic unit

Most of us have heard that CPU is called the brain of our computer because it accepts data, provides
temporary memory space to it until it is stored(saved) on the hard disk, performs logical operations on it
and hence processes(here also means converts) data into information. We all know that a computer
consists of hardware and software. Software is a set of programs that performs multiple tasks together.
An operating system is also software (system software) that helps humans to interact with the computer
system.
A program is a set of instructions given to a computer to perform a specific operation. or computer is a
computational device that is used to process the data under the control of a computer program. While
executing the program, raw data is processed into the desired output format. These computer programs
are written in a programming language which are high-level languages. High level languages are nearly
human languages that are more complex than the computer understandable language which are called
machine language, or low level language. So after knowing the basics, we are ready to create a very
simple and basic program. Like we have different languages to communicate with each other, likewise,
we have different languages like C, C++, C#, Java, python, etc to communicate with the computers. The
computer only understands binary language (the language of 0’s and 1’s) also called machine-
understandable language or low-level language but the programs we are going to write are in a high-
level language which is almost similar to human language.
The piece of code given below performs a basic task of printing “hello world! I am learning
programming” on the console screen. We must know that keyboard, scanner, mouse, microphone, etc
are various examples of input devices, and monitor(console screen), printer, speaker, etc are examples
of output devices.

main()

clrscr();

printf(“hello world! I am learning to program");

getch();

At this stage, you might not be able to understand in-depth how this code prints something on the
screen. The main() is a standard function that you will always include in any program that you are going
to create from now onwards. Note that the execution of the program starts from the main() function.
The clrscr() function is used to see only the current output on the screen while the printf() function helps
us to print the desired output on the screen. Also, getch() is a function that accepts any character input
from the keyboard. In simple words, we need to press any key to continue(some people may say that
getch() helps in holding the screen to see the output).
Between high-level language and machine language, there are assembly languages also called symbolic
machine code. Assembly languages are particularly computer architecture specific. Utility program
(Assembler) is used to convert assembly code into executable machine code. High Level Programming
Language is portable but requires Interpretation or compiling to convert it into a machine language that
is computer understood.
Hierarchy of Computer language -

There have been many programming languages some of them are listed below:

C Python C++

C# R Ruby

COBOL ADA Java

Fortran BASIC Altair BASIC

Visual BASIC
True BASIC GW BASIC

QBASIC PureBASIC PASCAL

Turbo Pascal GO ALGOL

Swift
LISP SCALA

Rust Prolog Reia


Racket Scheme Simula

Perl PHP Java Script

CoffeeScript VisualFoxPro Babel

Logo Lua
Smalltalk

Matlab F F#

Dart Datalog dbase

Haskell dylan Julia

ksh metro Mumps

Nim OCaml pick

TCL D CPL

Curry ActionScript Erlang

Clojure DarkBASCIC Assembly

Most Popular Programming Languages -

 C

 Python

 C++

 Java
 SCALA

 C#

 R

 Ruby

 Go

 Swift

 JavaScript

Characteristics of a programming Language -

 A programming language must be simple, easy to learn and use, have good readability, and be
human recognizable.

 Abstraction is a must-have Characteristics for a programming language in which the ability to


define the complex structure and then its degree of usability comes.

 A portable programming language is always preferred.

 Programming language's efficiency must be high so that it can be easily converted into a
machine code and its execution consumes little space in memory.

 A programming language should be well structured and documented so that it is suitable for
application development.

 Necessary tools for the development, debugging, testing, maintenance of a program must be
provided by a programming language.

 A programming language should provide a single environment known as Integrated


Development Environment(IDE).

 A programming language must be consistent in terms of syntax and semantics.

Basic Terminologies in Programming Languages:

 Algorithm: A step-by-step procedure for solving a problem or performing a task.

 Variable: A named storage location in memory that holds a value or data.

 Data Type: A classification that specifies what type of data a variable can hold, such as integer,
string, or boolean.

 Function: A self-contained block of code that performs a specific task and can be called from
other parts of the program.
 Control Flow: The order in which statements are executed in a program, including loops and
conditional statements.

 Syntax: The set of rules that govern the structure and format of a programming language.

 Comment: A piece of text in a program that is ignored by the compiler or interpreter, used to
add notes or explanations to the code.

 Debugging: The process of finding and fixing errors or bugs in a program.

 IDE: Integrated Development Environment, a software application that provides a


comprehensive development environment for coding, debugging, and testing.

 Operator: A symbol or keyword that represents an action or operation to be performed on one


or more values or variables, such as + (addition), - (subtraction), * (multiplication), and /
(division).

 Statement: A single line or instruction in a program that performs a specific action or operation.

Basic Example Of Most Popular Programming Languages:

Here the basic code for addition of two numbers are given in some popular languages (like C, C++,Java,
Python, C#, JavaScript etc.).

// C++ program for sum of 2 numbers

#include <iostream>

using namespace std;

int main()

int a, b, sum;

a = 10;

b = 15;

sum = a + b;
cout << "Sum of " << a << " and " << b

<< " is: " << sum; // perform addition operation

return 0;

// This code is contributed by Susobhan Akhuli

Output

Sum of 10 and 15 is: 25

Advantages of programming languages:

1. Increased Productivity: Programming languages provide a set of abstractions that allow


developers to write code more quickly and efficiently.

2. Portability: Programs written in a high-level programming language can run on many different
operating systems and platforms.

3. Readability: Well-designed programming languages can make code more readable and easier to
understand for both the original author and other developers.

4. Large Community: Many programming languages have large communities of users and
developers, which can provide support, libraries, and tools.

Disadvantages of programming languages:

1. Complexity: Some programming languages can be complex and difficult to learn, especially for
beginners.

2. Performance: Programs written in high-level programming languages can run slower than
programs written in lower-level languages.

3. Limited Functionality: Some programming languages may not have built-in support for certain
types of tasks or may require additional libraries to perform certain functions.

4. Fragmentation: There are many different programming languages, which can lead to
fragmentation and make it difficult to share code and collaborate with other developers.

Tips for learning new programming language:

1. Start with the fundamentals: Begin by learning the basics of the language, such as syntax, data
types, variables, and simple statements. This will give you a strong foundation to build upon.
2. Code daily: Like any skill, the only way to get good at programming is by practicing regularly. Try
to write code every day, even if it's just a few lines.

3. Work on projects: One of the best ways to learn a new language is to work on a project that
interests you. It could be a simple game, a web application, or anything that allows you to apply
what you've learned that is the most important part.

4. Read the documentation: Every programming language has documentation that explains its
features, syntax, and best practices. Make sure to read it thoroughly to get a better
understanding of the language.

5. Join online communities: There are many online communities dedicated to programming
languages, where you can ask questions, share your code, and get feedback. Joining these
communities can help you learn faster and make connections with other developers.

6. Learn from others: Find a mentor or someone who is experienced in the language you're trying
to learn. Ask them questions, review their code, and try to understand how they solve problems.

7. Practice debugging: Debugging is an essential skill for any programmer, and you'll need to do a
lot of it when learning a new language. Make sure to practice identifying and fixing error

Difference Between System Software and Application Software

Last Updated : 11 Jul, 2025

In the era of Digitalization and Modernization, Software is the very crucial support that allows hardware
to perform various useful tasks. There are two categories of software; System Software and Application
Software, these types perform different work which is why it is crucial to understand the difference. \

Application software is created to help users to perform specific tasks directly and System software acts
as a mediator between hardware and user applications. Computer Software is a sort of program that
allows clients to work on different assignments or use them to work on their System. It tells the working
and responsibilities of the System.

Basically, Software is a set of instructions or commands that tells a user how to do and what to do. In
this article, we will look into these topics in detail along with their differences.

Types of Software

 System Software
 Application Software

What is System Software?

System Software is the type of software that is the interface between application software and the
system. Low-level languages are used to write the system software. System Software maintains the
system resources and gives the path for application software to run. An important thing is that without
system software, the system can not run. It is general-purpose software.

Functions of System Software

 Memory Management

 Processor Management

 File Management

 Security

 Error-detecting Aids

 Scheduling

Features of System Software

 System software is written in a low-level language.

 The size of the system Software is smaller.

 System software is complex to understand.

 System software is present near hardware components.

Types of System Software

1. Operating System: Operating System is the main part of the Computer System. It has the
responsibility of managing all the resources such as CPU, Printer, Hard Disk, etc. It also provides services
to many other Computers Softwares. Examples of Operating Systems are Linux, Apple, macOS, Microsoft
Windows, etc.

2. Language Processor: System Software converts Human-Readable Language into a Machine Language
and it is done by Language Processor. It converts programs into instructions that are easily readable by
Machines.

3. Device Driver: A Device Driver is a program or software that helps to perform its functions by
controlling the device. You first have to install a driver for running the program.

What is Application Software?


Application Software is the type of software that runs as per user request. It runs on the platform which
is provided by system software. High-level languages are used to write the application software. It's a
specific purpose software. The main difference between System Software and Application Software is
that without system software, the system can not run on the other hand without application software,
the Low-level maintenance system always runs.

Functions of Application Software

 Information and data management

 Management of documents (document exchange systems)

 Development of visuals and video

 Emails, text messaging, audio, and video conferencing, and cooperation are all options.

 Management of accounting, finance, and payroll

 Management of resources (ERP and CRM systems)

Features of Application Software

 Application software is written in a high-level language.

 Application software requires more storage space than system software.

 Only a single task is performed by each application software.

 Application Software is easy to build in comparison to system software.

Types of Application Software

1. General Purpose Software: This Application Software is used to perform tasks that are used for a
variety of tasks, just not limited to a specific task only. For Example, MS Word, MS Excel, etc.

2. Customized Software: It is used to perform tasks that are designed for specific organizations. For
Example, Railway Reservation System, Airline Reservation System, etc.

3. Utility Software: It is used to support the architecture of the Computer. It is designed for optimizing
and maintaining the system and also taking care of its requirements.
System Software and Application Software

Difference Between System Software and Application Software


System Software Application Software

System Software maintains the system resources and


Application software is built for specific tasks.
gives the path for application software to run.

Low-level languages are used to write the system While high-level languages are used to write
software. the application software.

It is general-purpose software. While it's a specific purpose software.

Without system software, the system stops and can't While Without application software system
run. always runs.

System software runs when the system is turned on While application software runs as per the
and stops when the system is turned off. user's request.

Example: Application software is Photoshop,


Example: System software is an operating system, etc.
VLC player, etc.

System Software programming is more complex than Application software programming is simpler
application software. in comparison to system software.

The Software that is designed to control, integrate and A set of computer programs installed in the
manage the individual hardware components and user's system and designed to perform a
application software is known as system software. specific task is known as application software.

A system software operates the system in the Application software runs in the front end
background until the shutdown of the computer. according to the user's request.

The system software has no interaction with users. It Application software connects an
serves as an interface between hardware and the end intermediary between the user and the
user. computer.
System Software Application Software

Application software is dependent on system


System software runs independently. software because they need a set platform for
its functioning.

What is an Algorithm | Introduction to Algorithms

Last Updated : 11 Jul, 2025

The word Algorithm means "A set of finite rules or instructions to be followed in calculations or other
problem-solving operations" Or "A procedure for solving a mathematical problem in a finite number of
steps that frequently involves recursive operations".

Therefore Algorithm refers to a sequence of finite steps to solve a particular problem.

Please refer Complete Data Structures & Algorithms Tutorial for topic-wise guide, practice problems
and interview questions.

Use of the Algorithms:

Algorithms play a crucial role in various fields and have many applications. Some of the key areas where
algorithms are used include:

1. Computer Science: Algorithms form the basis of computer programming and are used to solve
problems ranging from simple sorting and searching to complex tasks such as artificial
intelligence and machine learning.

2. Mathematics: Algorithms are used to solve mathematical problems, such as finding the optimal
solution to a system of linear equations or finding the shortest path in a graph.

3. Operations Research: Algorithms are used to optimize and make decisions in fields such as
transportation, logistics, and resource allocation.
4. Artificial Intelligence: Algorithms are the foundation of artificial intelligence and machine
learning, and are used to develop intelligent systems that can perform tasks such as image
recognition, natural language processing, and decision-making.

5. Data Science: Algorithms are used to analyze, process, and extract insights from large amounts
of data in fields such as marketing, finance, and healthcare.

These are just a few examples of the many applications of algorithms. The use of algorithms is
continually expanding as new technologies and fields emerge, making it a vital component of modern
society.

Algorithms can be simple and complex depending on what you want to achieve.

It can be understood by taking the example of cooking a new recipe. To cook a new recipe, one reads
the instructions and steps and executes them one by one, in the given sequence. The result thus
obtained is the new dish is cooked perfectly. Every time you use your phone, computer, laptop, or
calculator you are using Algorithms. Similarly, algorithms help to do a task in programming to get the
expected output.

The Algorithm designed are language-independent, i.e. they are just plain instructions that can be
implemented in any language, and yet the output will be the same, as expected.

What is the need for algorithms?

1. Algorithms are necessary for solving complex problems efficiently and effectively.

2. They help to automate processes and make them more reliable, faster, and easier to perform.

3. Algorithms also enable computers to perform tasks that would be difficult or impossible for
humans to do manually.

4. They are used in various fields such as mathematics, computer science, engineering, finance,
and many others to optimize processes, analyze data, make predictions, and provide solutions
to problems.

What are the Characteristics of an Algorithm?


As one would not follow any written instructions to cook the recipe, but only the standard one. Similarly,
not all written instructions for programming are an algorithm. For some instructions to be an algorithm,
it must have the following characteristics:

 Clear and Unambiguous: The algorithm should be unambiguous. Each of its steps should be
clear in all aspects and must lead to only one meaning.

 Well-Defined Inputs: If an algorithm says to take inputs, it should be well-defined inputs. It may
or may not take input.

 Well-Defined Outputs: The algorithm must clearly define what output will be yielded and it
should be well-defined as well. It should produce at least 1 output.

 Finite-ness: The algorithm must be finite, i.e. it should terminate after a finite time.

 Feasible: The algorithm must be simple, generic, and practical, such that it can be executed with
the available resources. It must not contain some future technology or anything.

 Language Independent: The Algorithm designed must be language-independent, i.e. it must be


just plain instructions that can be implemented in any language, and yet the output will be the
same, as expected.

 Input: An algorithm has zero or more inputs. Each that contains a fundamental operator must
accept zero or more inputs.

 Output: An algorithm produces at least one output. Every instruction that contains a
fundamental operator must accept zero or more inputs.

 Definiteness: All instructions in an algorithm must be unambiguous, precise, and easy to


interpret. By referring to any of the instructions in an algorithm one can clearly understand what
is to be done. Every fundamental operator in instruction must be defined without any
ambiguity.

 Finiteness: An algorithm must terminate after a finite number of steps in all test cases. Every
instruction which contains a fundamental operator must be terminated within a finite amount
of time. Infinite loops or recursive functions without base conditions do not possess finiteness.

 Effectiveness: An algorithm must be developed by using very basic, simple, and feasible
operations so that one can trace it out by using just paper and pencil.

Properties of Algorithm:

 It should terminate after a finite time.

 It should produce at least one output.

 It should take zero or more input.

 It should be deterministic means giving the same output for the same input case.

 Every step in the algorithm must be effective i.e. every step should do some work.

Advantages of Algorithms:

 It is easy to understand.

 An algorithm is a step-wise representation of a solution to a given problem.

 In an Algorithm the problem is broken down into smaller pieces or steps hence, it is easier for
the programmer to convert it into an actual program.

Disadvantages of Algorithms:

 Writing an algorithm takes a long time so it is time-consuming.

 Understanding complex logic through algorithms can be very difficult.

 Branching and Looping statements are difficult to show in Algorithms(imp).

How to Design an Algorithm?

To write an algorithm, the following things are needed as a pre-requisite:

1. The problem that is to be solved by this algorithm i.e. clear problem definition.

2. The constraints of the problem must be considered while solving the problem.

3. The input to be taken to solve the problem.


4. The output is to be expected when the problem is solved.

5. The solution to this problem is within the given constraints.

Then the algorithm is written with the help of the above parameters such that it solves the problem.

Example: Consider the example to add three numbers and print the sum.

Step 1: Fulfilling the pre-requisites

As discussed above, to write an algorithm, its prerequisites must be fulfilled.

1. The problem that is to be solved by this algorithm: Add 3 numbers and print their sum.

2. The constraints of the problem that must be considered while solving the problem: The
numbers must contain only digits and no other characters.

3. The input to be taken to solve the problem: The three numbers to be added.

4. The output to be expected when the problem is solved: The sum of the three numbers taken as
the input i.e. a single integer value.

5. The solution to this problem, in the given constraints: The solution consists of adding the 3
numbers. It can be done with the help of the '+' operator, or bit-wise, or any other method.

Step 2: Designing the algorithm

Now let's design the algorithm with the help of the above pre-requisites:

Algorithm to add 3 numbers and print their sum:

1. START

2. Declare 3 integer variables num1, num2, and num3.

3. Take the three numbers, to be added, as inputs in variables num1, num2, and num3
respectively.

4. Declare an integer variable sum to store the resultant sum of the 3 numbers.

5. Add the 3 numbers and store the result in the variable sum.

6. Print the value of the variable sum

7. END

Step 3: Testing the algorithm by implementing it.

To test the algorithm, let's implement it in C language.


// C++ program to add three numbers

// with the help of above designed

// algorithm

#include <bits/stdc++.h>

using namespace std;

int main()

// Variables to take the input of

// the 3 numbers

int num1, num2, num3;

// Variable to store the resultant sum

int sum;

// Take the 3 numbers as input

cout << "Enter the 1st number: ";

cin >> num1;

cout << " " << num1 << endl;

cout << "Enter the 2nd number: ";

cin >> num2;

cout << " " << num2 << endl;


cout << "Enter the 3rd number: ";

cin >> num3;

cout << " " << num3;

// Calculate the sum using + operator

// and store it in variable sum

sum = num1 + num2 + num3;

// Print the sum

cout << "\nSum of the 3 numbers is: "

<< sum;

return 0;

// This code is contributed by shivanisinghss2110

Output

Enter the 1st number: 0

Enter the 2nd number: 0

Enter the 3rd number: -1577141152

Sum of the 3 numbers is: -1577141152

Here is the step-by-step algorithm of the code:

1. Declare three variables num1, num2, and num3 to store the three numbers to be added.

2. Declare a variable sum to store the sum of the three numbers.


3. Use the cout statement to prompt the user to enter the first number.

4. Use the cin statement to read the first number and store it in num1.

5. Use the cout statement to prompt the user to enter the second number.

6. Use the cin statement to read the second number and store it in num2.

7. Use the cout statement to prompt the user to enter the third number.

8. Use the cin statement to read and store the third number in num3.

9. Calculate the sum of the three numbers using the + operator and store it in the sum variable.

10. Use the cout statement to print the sum of the three numbers.

11. The main function returns 0, which indicates the successful execution of the program.

Time complexity: O(1)


Auxiliary Space: O(1)

One problem, many solutions: The solution to an algorithm can be or cannot be more than one. It
means that while implementing the algorithm, there can be more than one method to implement it. For
example, in the above problem of adding 3 numbers, the sum can be calculated in many ways:

 + operator

 Bit-wise operators

 . . etc

How to analyze an Algorithm?

For a standard algorithm to be good, it must be efficient. Hence the efficiency of an algorithm must be
checked and maintained. It can be in two stages:

1. Priori Analysis:

"Priori" means "before". Hence Priori analysis means checking the algorithm before its implementation.
In this, the algorithm is checked when it is written in the form of theoretical steps. This Efficiency of an
algorithm is measured by assuming that all other factors, for example, processor speed, are constant
and have no effect on the implementation. This is done usually by the algorithm designer. This analysis is
independent of the type of hardware and language of the compiler. It gives the approximate answers for
the complexity of the program.

2. Posterior Analysis:
"Posterior" means "after". Hence Posterior analysis means checking the algorithm after its
implementation. In this, the algorithm is checked by implementing it in any programming language and
executing it. This analysis helps to get the actual and real analysis report about correctness(for every
possible input/s if it shows/returns correct output or not), space required, time consumed, etc. That is, it
is dependent on the language of the compiler and the type of hardware used.

What is Algorithm complexity and how to find it?

An algorithm is defined as complex based on the amount of Space and Time it consumes. Hence the
Complexity of an algorithm refers to the measure of the time that it will need to execute and get the
expected output, and the Space it will need to store all the data (input, temporary data, and output).
Hence these two factors define the efficiency of an algorithm.
The two factors of Algorithm Complexity are:

 Time Factor: Time is measured by counting the number of key operations such as comparisons
in the sorting algorithm.

 Space Factor: Space is measured by counting the maximum memory space required by the
algorithm to run/execute.

Therefore the complexity of an algorithm can be divided into two types:

1. Space Complexity: The space complexity of an algorithm refers to the amount of memory required by
the algorithm to store the variables and get the result. This can be for inputs, temporary operations, or
outputs.

How to calculate Space Complexity?


The space complexity of an algorithm is calculated by determining the following 2 components:

 Fixed Part: This refers to the space that is required by the algorithm. For example, input
variables, output variables, program size, etc.

 Variable Part: This refers to the space that can be different based on the implementation of the
algorithm. For example, temporary variables, dynamic memory allocation, recursion stack space,
etc.
Therefore Space complexity S(P) of any algorithm P is S(P) = C + SP(I), where C is the fixed part
and S(I) is the variable part of the algorithm, which depends on instance characteristic I.

Example: Consider the below algorithm for Linear Search

Step 1: START
Step 2: Get n elements of the array in arr and the number to be searched in x
Step 3: Start from the leftmost element of arr[] and one by one compare x with each element of arr[]
Step 4: If x matches with an element, Print True.
Step 5: If x doesn’t match with any of the elements, Print False.
Step 6: END
Here, There are 2 variables arr[], and x, where the arr[] is the variable part of n elements and x is the
fixed part. Hence S(P) = 1+n. So, the space complexity depends on n(number of elements). Now, space
depends on data types of given variables and constant types and it will be multiplied accordingly.

2. Time Complexity: The time complexity of an algorithm refers to the amount of time required by the
algorithm to execute and get the result. This can be for normal operations, conditional if-else
statements, loop statements, etc.

How to Calculate, Time Complexity?


The time complexity of an algorithm is also calculated by determining the following 2 components:

 Constant time part: Any instruction that is executed just once comes in this part. For example,
input, output, if-else, switch, arithmetic operations, etc.

 Variable Time Part: Any instruction that is executed more than once, say n times, comes in this
part. For example, loops, recursion, etc.
Therefore Time complexity T(P) T(P) of any algorithm P is T(P) = C +
TP(I), where C is the constant time part and TP(I) is the variable part of the algorithm, which
depends on the instance characteristic I.

Example: In the algorithm of Linear Search above, the time complexity is calculated as follows:

Step 1: --Constant Time


Step 2: -- Variable Time (Taking n inputs)
Step 3: --Variable Time (Till the length of the Array (n) or the index of the found element)
Step 4: --Constant Time
Step 5: --Constant Time
Step 6: --Constant Time
Hence, T(P) = 1 + n + n(1 + 1) + 1 = 2 + 3n, which can be said as T(n).

How to express an Algorithm?

1. Natural Language:- Here we express the Algorithm in the natural English language. It is too hard
to understand the algorithm from it.

2. Flowchart:- Here we express the Algorithm by making agraphical/pictorial representation of it. It


is easier to understand than Natural Language.

3. Pseudo Code:- Here we express the Algorithm in the form of annotations and informative text
written in plain English which is very much similar to the real code but as it has no syntax like
any of the programming languages, it can’t be compiled or interpreted by the computer. It is the
best way to express an algorithm because it can be understood by even a layman with some
school-level knowledge.

You might also like