Merged1-5 Fundamental of It

Download as pdf or txt
Download as pdf or txt
You are on page 1of 48

FUNDAMENTAL OF INFORMATION

TECHNOLOGY.
Unit – I Introduction
Definition of an Electronic Digital Computer, characteristics, capabilities and limitation of computer,
Generation of computers, Types of computers, Classification of computers on size, Computer
Hardware components and their functions, Characteristics and Applications of Computers.

Definition of an Electronic Digital Computer :-


An electronic digital computer is a machine that uses electronic technology to process
data and instructions using binary codes (0s and 1s) at high speed:

 Functions: Digital computers can perform input, storage, control, processing, and output functions.
 Data storage: Digital computers can store large amounts of data.
 Calculations: Digital computers can perform arithmetical computations and logical processes at high
speed.
 Problem solving: Digital computers can solve problems involving words and numbers.
Examples of digital electronic computers include IBM PCs, Apple Macintosh, and modern
smartphones
1. Speed
Executing mathematical calculation, a computer works faster and more accurately than human.
Computers have the ability to process so many millions (1,000,000) of instructions per second.
Computer operations are performed in micro and nano seconds. A computer is a time saving device. It
performs several calculations and tasks in few seconds that we take hours to solve. The speed of a
computer is measure in terms of GigaHertz and MegaHertz.
2. Diligence
A human cannot work for several hours without resting, yet a computer never tires. A computer can
conduct millions of calculations per second with complete precision without stopping. A computer can
consistently and accurately do millions of jobs or calculations. There is no weariness or lack of
concentration. Its memory ability also places it ahead of humans.
3. Reliability
A computer is reliable. The output results never differ unless the input varies. the output is totally
depend on the input. when an input is the same the output will also be the same. A computer produces
consistent results for similar sets of data, if we provide the same set of input at any time we will get the
same result.
4. Automation
The world is quickly moving toward AI (Artificial Intelligence)-based technology. A computer may
conduct tasks automatically after instructions are programmed. By executing jobs automatically, this
computer feature replaces thousands of workers. Automation in computing is often achieved by the
use of a program, a script, or batch processing.
5. Versatility
Versatility refers to a capacity of computer. Computer perform different types of tasks with the same
accuracy and efficiency. A computer can perform multiple tasks at the same time this is known as
versatility. For example, while listening to music, we may develop our project using PowerPoint and
Wordpad, or we can design a website.
6. Memory
A computer can store millions of records. these records may be accessed with complete precision.
Computer memory storage capacity is measured in Bytes, Kilobytes(KB), Megabytes(MB),
Gigabytes(GB), and Terabytes(TB). A computer has built-in memory known as primary memory.
7. Accuracy
When a computer performs a computation or operation, the chances of errors occurring are low.
Errors in a computer are caused by human’s submitting incorrect data. A computer can do a variety of
operations and calculations fast and accurately.

Capabilities and Limitation of computer:-


Computers have many capabilities, including:
 Fast processing: Computers can process information quickly.
 Large storage: Computers have a lot of storage space.
 Task automation: Computers can automate tasks.
 Connectivity: Computers can connect to other devices and networks.
 Multitasking: Computers can run multiple programs and applications at the same time.
 Complex algorithms: Computers can execute complex algorithms in real-time.
However, computers also have limitations, including:
 Programming: Computers are limited by the capabilities of their hardware and the programming that
restricts them.
 Mechanical constraints: The amount of RAM, the speed and type of CPU, and other low-level
hardware components limit a computer's capabilities.
 Lack of common sense: Computers lack common sense, feelings, and the ability to think
independently.
 Flexibility: Computers are less flexible than humans and cannot take over all activities.
 Learning: Computers cannot learn from experience.
 Health issues: Prolonged use of computers can cause health issues.
 Security risks: Computers are vulnerable to cyber crimes.
 Privacy concerns: Computers can threaten personal privacy.
 E-waste: Discarded computers are junk that takes up a lot of space

Computers have gone through several generations, each with its own main electronic
component and time period:

First generation
Vacuum tubes were the main electronic component of computers from the 1940s to the 1950s. These
computers were used by large companies and organizations, like NASA and the United States military.

Second generation
Transistors and diodes were the main electronic components of computers from the 1950s to the
1960s. These computers were smaller, more reliable, and used less power than the first generation.

Third generation
Integrated circuits were the main electronic components of computers from the 1960s to the 1970s. This
generation also saw the introduction of keyboards and monitors.

Fourth generation
Microprocessors and very large scale integration (VLSI) were the main electronic components of
computers from the 1970s to the present

Fifth generation
Ultra large scale integration technology (ULSI) and artificial intelligence (AI) are the main electronic
components of computers from the present to the future. These computers are portable and have a
good storage capacity.

The term "generation" in computer technology refers to the changes a computer goes
through. It can refer to both software and hardware, which together make up the entire
computer system.
Types of computers :-

There are two bases on which we can define the types of computers. We will discuss the type
of computers on the basis of size and data handling capabilities. We will discuss each type of
computer in detail. Let’s see first what are the types of computers.

 Super Computer
 Mainframe computer
 Mini Computer
 Workstation Computer
 Personal Computer (PC)
 Server Computer
 Analog Computer
 Digital Computer
 Hybrid Computer
 Tablets and Smartphone

Supercomputer
When we talk about speed, then the first name that comes to mind when thinking of
computers is supercomputers. They are the biggest and fastest computers (in terms of speed
of processing data). Supercomputers are designed such that they can process a huge amount
of data, like processing trillions of instructions or data just in a second. This is because of the
thousands of interconnected processors in supercomputers. It is basically used in scientific
and engineering applications such as weather forecasting, scientific simulations, and nuclear
energy research. It was first developed by Roger Cray in 1976.
Characteristics of Supercomputers
 Supercomputers are the computers that are the fastest and they are also very expensive.
 It can calculate up to ten trillion individual calculations per second, this is also the reason
which makes it even faster.
 It is used in the stock market or big organizations for managing the online currency world
such as Bitcoin etc.
 It is used in scientific research areas for analyzing data obtained from exploring the solar
system, satellites, etc.
Mainframe computer
Mainframe computers are designed in such a way that they can support hundreds or
thousands of users at the same time. It also supports multiple programs simultaneously. So,
they can execute different processes simultaneously. All these features make the mainframe
computer ideal for big organizations like banking, telecom sectors, etc., which process a high
volume of data in general.
Characteristics of Mainframe Computers
 It is also an expensive or costly computer.
 It has high storage capacity and great performance.
 It can process a huge amount of data (like data involved in the banking sector) very
quickly.
 It runs smoothly for a long time and has a long life.

Minicomputer
Minicomputer is a medium size multiprocessing computer. In this type of computer, there are
two or more processors, and it supports 4 to 200 users at one time. Minicomputer is similar to
Microcontroller. Minicomputers are used in places like institutes or departments for different
work like billing, accounting, inventory management, etc. It is smaller than a mainframe
computer but larger in comparison to the microcomputer.
Characteristics of Minicomputer
 Its weight is low.
 Because of its low weight, it is easy to carry anywhere.
 less expensive than a mainframe computer.
 It is fast.
Workstation Computer
A workstation computer is designed for technical or scientific applications. It consists of a fast
microprocessor, with a large amount of RAM and a high-speed graphic adapter. It is a single-
user computer. It is generally used to perform a specific task with great accuracy.

Characteristics of Workstation Computer


 It is expensive or high in cost.
 They are exclusively made for complex work purposes.
 It provides large storage capacity, better graphics, and a more powerful CPU when
compared to a PC.
 It is also used to handle animation, data analysis, CAD, audio and video creation, and
editing.

Personal Computer (PC)


Personal Computers is also known as a microcomputer. It is basically a general-purpose
computer designed for individual use. It consists of a microprocessor as a central processing
unit(CPU), memory, input unit, and output unit. This kind of computer is suitable for personal
work such as making an assignment, watching a movie, or at the office for office work, etc.
For example, Laptops and desktop computers.
Characteristics of Personal Computer (PC)
 In this limited number of software can be used.
 It is the smallest in size.
 It is designed for personal use.
 It is easy to use.

Server Computer
Server Computers are computers that are combined data and programs. Electronic data and
applications are stored and shared in the server computer. The working of a server computer
is that it does not solve a bigger problem like a supercomputer but it solves many smaller
similar ones. Examples of server computer are like Wikipedia, as when users put a request for
any page, it finds what the user is looking for and sends it to the user.

Analog Computer
Analog Computers are particularly designed to process analog data. Continuous data that
changes continuously and cannot have discrete values are called analog data. So, an analog
computer is used where we don’t need exact values or need approximate values such as
speed, temperature, pressure, etc. It can directly accept the data from the measuring device
without first converting it into numbers and codes. It measures the continuous changes in
physical quantity. It gives output as a reading on a dial or scale. For example speedometer,
mercury thermometer, etc.

Digital Computer
Digital computers are designed in such a way that they can easily perform calculations and
logical operations at high speed. It takes raw data as input and processes it with programs
stored in its memory to produce the final output. It only understands the binary input 0 and 1,
so the raw input data is converted to 0 and 1 by the computer and then it is processed by the
computer to produce the result or final output. All modern computers, like laptops, desktops
including smartphones are digital computers.

Hybrid Computer
As the name suggests hybrid, which means made by combining two different things. Similarly,
the hybrid computer is a combination of both analog and digital computers. Hybrid computers
are fast like analog computers and have memory and accuracy like digital computers. So, it
has the ability to process both continuous and discrete data. For working when it accepts
analog signals as input then it converts them into digital form before processing the input data.
So, it is widely used in specialized applications where both analog and digital data are
required to be processed. A processor which is used in petrol pumps that converts the
measurements of fuel flow into quantity and price is an example of a hybrid computer.
Tablet and Smartphones
Tablets and Smartphones are the types of computers that are pocket friendly and easy to
carry is these are handy. This is one of the best use of modern technology. These devices
have better hardware capabilities, extensive operating systems, and better multimedia
functionality. smartphones and tablets contain a number of sensors and are also able to
provide wireless communication protocols.

Computers can be classified by size into five main categories:-


 Supercomputers
The most powerful computers, used for large-scale computations and processing of large amounts of
data. They are used in areas such as science, engineering, education, defense, and aerospace.
 Mainframe computers
Also known as "big iron", these are high-performance computers used for large-scale tasks.
 Minicomputers
Also known as mid-range computers, these are compact, lightweight, and versatile computers that are
used for data collection and feedback.
 Microcomputers
The smallest, least expensive, and most used type of computer. They have less processing power and
small memory
Hardware :-
Computer hardware refers to the physical parts of a computer that are visible and
touchable. Hardware is essential for a computer's functionality and operation.

Here are some examples of computer hardware:


 Central processing unit (CPU): A key component of a computer
 Random access memory (RAM): A type of memory that is built into a DIMM card and plugs into the
motherboard
 Hard disk drive (HDD): A storage device that uses magnetic disks to store large amounts of data
 Solid-state drive (SSD): A storage device that uses flash memory to store data and has faster access
times than HDDs
 USB flash drive: A portable storage device that connects to a computer via USB
 Monitor: An external device that displays information on a screen
 Keyboard: An external device that allows the user to input data into the computer
 Mouse: An external device that allows the user to interact with the computer
 Speakers: An external device that allows the user to hear sound from the computer
 Printer: An external device that allows the user to print information from the computer

Here are some components of a computer and their functions:-


 Central processing unit (CPU)
Also known as the processor, the CPU controls all internal and external devices and functions. It
performs all the arithmetic and logical operations of the computer.
 Motherboard
Connects and provides structure for all other components. It also distributes power, delivers information,
and connects to devices like a printer or mouse.
 Random access memory (RAM)
Keeps important data and codes on standby so they can be loaded instantly when a program or app is
opened.
 Power supply
Provides electricity that activates the entire computer system.
 Monitor
Displays images and text on the screen. It communicates with a video card inside the computer case.
 Input devices
These devices take inputs from the user, such as a keyboard, mouse, microphone, camera, joystick, and
scanner.
 Operating system (OS)
Manages memory usage, regulates devices, and provides an interface for the user to launch apps and
access data.

Application of Computer :-
Computers have many applications, including:
 Business: Computers are used for payroll, budgeting, sales analysis, financial forecasting, and managing
employee databases.
 Accounting: Computers are used to manage daily and financial accounts, and inventory management.
 Banking: Computers are used for checking balances, withdrawals, and deposits.
 Insurance: Computers are used to maintain policyholder details.
 Education: Computers are used to create virtual classrooms and universities.
 Hospitals: Computers are used to maintain patient details, diseases, and treatments.
 Communication: Computers are used for email, voice mail, and video conferencing.
 Entertainment: Computers are used to play movies and games.
 Designing: Computers are used to draw new designs, such as blueprints for buildings.
 Transportation: Computers are used for ticket reservations and cancellations.
 Scientific research: Computers are used to solve complicated problems involving numbers.
 Space technology: Computers control space research stations.
 Publishing: Computers are used to prepare and format the contents of books
FUNDAMENTAL OF INFORMATION
TECHNOLOGY.
Unit – II
Operating system concepts Introduction to OS, components of OS, Types of OS,
multiprogramming, multitasking & time sharing, File & Directories & their use in different OS,
DOS operating system, Window operating system, Unix operating system

Operating system concepts :- An Operating System(OS) is software that manages


and handles the hardware and software resources of a computer system. It provides interaction
between users of computers and computer hardware. An operating system is responsible for
managing and controlling all the activities and sharing of computer resources.

Introduction to OS :- An operating system is responsible for managing and controlling


all the activities and sharing of computer resources. An operating system is a low-level
Software that includes all the basic functions like processor management, memory
management, Error detection, etc .

Components of OS :-
An operating system (OS) has several components, including:
• Kernel: The software that controls most of the OS's tasks, such as memory and process management.
• Shell: One of the two main components of an OS.
• Process management: Creates, deletes, suspends, and resumes processes.
• Memory management: Allocates and deallocates physical memory.
• Virtual memory management: Maintains mapping from virtual to physical memory.
• I/O management: Defines device drivers to provide a uniform interface to devices.
• Secondary storage management: Allocates and deallocates blocks, and manages recovery blocks.
• File management: Handles naming, directories, creation, use, deletion, locks, protection, backups, and
accounting.
• Network services: Supports various protocols and communication facilities.
• Command language interpreter (CLI): An interface that allows users and operators to give commands
to the OS
An OS acts as an interface between the hardware, the application software, and the
users. It has many functions, including:
• Controlling hardware components
• Providing a platform for software to run on
• Providing a user interface
• Managing processes
• Managing the computer's memory
• Managing input and output devices
• Managing applications
• Managing security

Types of Operating Systems:-


There are several types of Operating Systems which are mentioned below.

• Batch Operating System


• Multi-Programming System
• Multi-Processing System
• Multi-Tasking Operating System
• Time-Sharing Operating System
• Distributed Operating System
• Network Operating System
• Real-Time Operating System

Batch Operating System :- This type of operating system does not interact with
the computer directly. There is an operator which takes similar jobs having the
same requirements and groups them into batches. It is the responsibility of the
operator to sort jobs with similar needs. Batch Operating System is designed to
manage and execute a large number of jobs efficiently by processing them in
groups.

Multi-Programming System :- Multiprogramming Operating Systems can be simply illustrated as


more than one program is present in the main memory and any one of them can be kept in
execution. This is basically used for better utilization of resources.

Advantages of Multi-Programming Operating System


• Multi Programming increases the Throughput of the System.
• It helps in reducing the response time.
Disadvantages of Multi-Programming Operating System
• There is not any facility for user interaction of system resources with the system.
• Multi-Processing System :- Multi-Processing Operating System is a type of Operating System in
which more than one CPU is used for the execution of resources. It betters the throughput of the
System.

Advantages of Multi-Processing Operating System


• It increases the throughput of the system.
• As it has several processors, so, if one processor fails, we can proceed with another processor.
Disadvantages of Multi-Processing Operating System
• Due to the multiple CPU, it can be more complex and somehow difficult to understand.

Multi-Tasking Operating System


Multitasking Operating System is simply a multiprogramming Operating System with having facility of a
Round-Robin Scheduling Algorithm. It can run multiple programs simultaneously.
There are two types of Multi-Tasking Systems which are listed below.
• Preemptive Multi-Tasking
• Cooperative Multi-Tasking

Advantages of Multi-Tasking Operating System


• Multiple Programs can be executed simultaneously in Multi-Tasking Operating System.
• It comes with proper memory management.
Disadvantages of Multi-Tasking Operating System
• The system gets heated in case of heavy programs multiple times.
5. Time-Sharing Operating Systems
Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of
the CPU as they use a single system. These systems are also known as Multitasking Systems. The
task can be from a single user or different users also. The time that each task gets to execute is called
quantum. After this time interval is over OS switches over to the next task.

Distributed Operating System


These types of operating system is a recent advancement in the world of computer technology and are
being widely accepted all over the world and, that too, at a great pace. Various autonomous
interconnected computers communicate with each other using a shared communication network.
Independent systems possess their own memory unit and CPU. These are referred to as loosely
coupled systems or distributed systems . These systems’ processors differ in size and function. The
major benefit of working with these types of the operating system is that it is always possible that one
user can access the files or software which are not actually present on his system but some other
system connected within this network i.e., remote access is enabled within the devices connected in
that network.

Network Operating System


These systems run on a server and provide the capability to manage data, users, groups, security,
applications, and other networking functions. These types of operating systems allow shared access to
files, printers, security, applications, and other networking functions over a small private network. One
more important aspect of Network Operating Systems is that all the users are well aware of the
underlying configuration, of all other users within the network, their individual connections, etc. and
that’s why these computers are popularly known as tightly coupled systems

Real-Time Operating System


These types of OSs serve real-time systems. The time interval required to process and respond to
inputs is very small. This time interval is called response time. Real-time systems are used when
there are time requirements that are very strict like missile systems, air traffic control systems, robots,
etc.
Types of Real-Time Operating Systems
• Hard Real-Time Systems: Hard Real-Time OSs are meant for applications where time constraints
are very strict and even the shortest possible delay is not acceptable. These systems are built for
saving life like automatic parachutes or airbags which are required to be readily available in case of
an accident. Virtual memory is rarely found in these systems.
• Soft Real-Time Systems: These OSs are for applications where time-constraint is less strict.

File & Directories :- Files and directories are components of a file system that work
together to store and access data on a computer or network:
• Files:- Collections of data that can be read from or written to

Directories:- Containers that store files and other directories, and provide an organized way to access
them
Here are some more details about files and directories:
• File systems
Manage all aspects of data storage, including disk space allocation, security permissions, and access
control
• Directories contain information
Directories contain information about the files they store, including their attributes, location, and
ownership
• Directory structure
Directories branch downward from the root directory, forming a tree structure. The root directory is the
parent of all other directories, and every file's absolute path must pass through it.
• Creating directories
The mkdir command creates a new directory, as long as a file or directory with the same name doesn't
already exist
• Directory types
There are different types of directory structures, including single-level and two-level. A single-level
directory has only one directory in the system. A two-level directory structure has a single master file
directory that contains individual directories for each user.

.
MS-DOS (Microsoft –Disk Operating System) :-

DOS, or Disk Operating System, is a family of operating systems for IBM PC compatible
computers. The most well-known DOS operating systems are IBM PC DOS and Microsoft's
MS-DOS, which were both released in 1981.

Here are some key features of DOS:


• Command line interface: DOS uses a text-based interface that allows users to interact with the
operating system by typing commands into the command prompt.
• No mouse required: DOS uses a full-text command input, so a mouse is not required.
• Case-insensitive: MS-DOS is not case-sensitive, so commands can be typed in either uppercase or
lowercase.
DOS was the primary operating system for PCs until 1995, when Windows 95 became the
most popular choice. However, DOS can still be run on modern operating systems using
emulators like DOSBox or DOSEMU. DOSBox is designed for legacy gaming, while
DOSEMU is a Linux-native virtual machine.
There are mainly two types of DOS Commands. These are as follows:

1. Internal Commands
2. External Commands

Internal Commands
Internal commands are loaded into the system memory during system booting. These internal
commands may not be seen, modified, detected, or deleted because they do not exist in the
form of a file. An internal command is the MS-DOS command stored in system memory and
loaded from command.com or cmd.exe. Internal commands include MD, DATE, COPY, CD,
TIME, COPR CON, TYPE, etc.

External Commands
External commands are stored in the system memory after system booting. These external
commands may easily be viewed, changed, deleted, or copied as they are present in the form of
a file. External commands include FORMAT, SYS, EDIT, PROMPT, COPY, PRINT, TREE,
SORT, etc.

It is used to view the file


assoc
association.

It lists the connections and


atmadm addresses seen by the Windows
ATM call manager.

It is used to enable or disable the


break
computer's breaking capability.
It is used to call the batch file from
call
another file.

This command is used to modify


cd
the system directory.

It is used to modify the system


chdir
directory.

This command is used to clear the


cls
system screen.

It is used to open the command


cmd
interpreter.

It is used to modify the foreground


color and background color of the
window screen.

It is used to open the command


command
interpreter.

It is used to copy one or more files


copy
to a different position.

It is used to change the computer's


ctty
input and output devices.

It is used to see or change the


date
system date.

It is used to delete one or multiple


del
files.

delete It is used to delete the file.

It is used to list the contents of one


dir
or multiple dictionaries.

It allows overwriting of original


drivparm
device drivers.
It is used to show messages and
echo
enables and disables echo.

It is used to halt the localization of


endlocal environment changes enabled by
the setlocal command.

It is used to erase the files from the


erase
system.

This command is used to exit from


exit
the DOS command interpreter.

It is used to Boolean used in the


for
batch files.

It is used to move a batch file to a


goto
particular label or location.

It allows batch files to carry out


if
conditional processing.

It is used to load a device driver


lh
into a large amount of memory.

It is used to load a device driver


loadhigh
into a large amount of memory.

It is used to lock the system's hard


lock
drive.

This command is used to make a


md
new directory in the system.

This command is used to make a


mkdir
new directory in the system.

This command is used to create a


mklink
symbolic link.

move
It is used to move one or multiple
files from one directory to another.

It is used to view and modify the


path
path location of the system.

It is used in batch files to stop the


pause
command's processing.

The popd command modifies the


popd directory or network path that the
pushd command has saved.

This command is used to view or


prompt
change the DOS prompt.

It is used to store a directory or


pushd network path so that it may be
restored at any time.

It is used to remove an empty


rd
directory from the system.

This command is used to rename a


ren
file in the system.

This command is used to rename a


rename
file in the system.

It is used to remove an empty


rmdir
directory from the system.

It is used to modify one variable or


set
string to another.

It enables modifications to be done


setlocal to local contexts without affecting
the rest of the system.

It is used in batch programs to


shift modify the location of replaceable
parameters.
It is used to start a specific window
start
in Windows from the DOS prompt.

It is used to remove the add


switches functions from the disk operating
system.

This command is used to view and


time
change the system time.

It is used to change the title of the


title
disk operating system window.

It is used to show the contents of


type
files.

It is used to unlock a system disk


unlock
drive.

This command is used to show the


ver
version of MS-DOS.

It enables or disables the feature


verify that determines whether files were
properly written.

It is used to show the volume


vol information about the specified
drive.

Multiprogramming :- Multiprogramming is a type of multitasking that allows multiple


programs to run at the same time on a single CPU. The goal of multiprogramming is to
maximize CPU time and improve system efficiency.

Here's how multiprogramming works:


• Load multiple programs into memory
• Assign CPU resources to each program as they become available
• Use context switching to save a program's state in memory
• When a process completes its I/O, the CPU can start executing other processes

Some examples of multiprogramming operating systems include:


macOS, Linux, Solaris, CP/M, Coherent, and FlexOS

Some disadvantages of multiprogramming include:


• Reduced response time
• Long-term jobs may have to wait a long time to complete
• Managing all processes can be problematic

Multitasking :- A multitasking operating system (OS) allows a computer to run


multiple tasks or programs at the same time. This improves efficiency by allowing users to
switch between applications without waiting for one to finish.
Here are some ways multitasking operating systems work:
• Resource allocation
The OS allocates resources like CPU time, memory, and input/output devices to different tasks using
scheduling algorithms.
• Process prioritization
The OS can prioritize tasks so that important jobs receive more processor time.
• Inter-process communication
The OS provides mechanisms like pipes or signals to enable communication between applications.
• Process tracking
The OS keeps track of which functionalities of each process are running so that users can switch
between them without losing data.
Some examples of multitasking operating systems include: Unix, Ubuntu, MacOS, and
Windows.
Time sharing Operating System:-
A time-sharing operating system (TOS) allows multiple users to access the same computer
at the same time. Each user has their own terminal, and the OS ensures that each user's
session is independent of the others.

Here are some characteristics of time-sharing operating systems:


• CPU time allocation: The OS allocates CPU time to multiple user processes simultaneously.
• Time slots: Many processes are assigned to computer resources in time slots.
• Goal: The primary goal is to improve interactive reaction time.
• Hardware requirements: Time-sharing operating systems require high-specification hardware and use
lots of resources.
• Examples: Linux and UNIX are examples of time-sharing operating systems.
The world's first time-sharing system was the PDP-1 operating system, written by engineers
at MIT and BBN in 1962.
Window Operating System:-
Windows is an operating system (OS) that manages a computer's resources and provides
services to applications. It was developed by Microsoft and first released in 1985 as Windows
1.0. Windows is designed to run on a variety of hardware, including desktops, laptops, servers,
and mobile devices.
Microsoft Windows is a group of several proprietary graphical operating system families, all of
which are developed and marketed by Microsoft. Each family caters to a certain sector of the
computing industry.

By definition, an Operating System is a group of several GUIs (Graphical User Interface) families, all of
which are developed, sold and marketed by Microsoft.

The latest version of Microsoft Operating System which is being widely used across the world is Windows
10.

For conceptual clarity and understanding the context well, candidates are advised to check out the video
given below:

Here are some features of Windows:


• Speed: Windows provides efficient speed.
• Disk access: Windows allows disk access and file systems.
• Program execution: Windows executes programs smoothly.
• Memory management: Windows supports memory management to allow multiprogramming.
• Updates: Windows provides regular updates to make it easier to use.
The operating system is stored on the hard disk, but it's copied into RAM on startup to speed up the
process. This is done by the Basic Input Output System (BIOS).

Some versions of Windows include:


• Windows 11 (2021)
• Windows 10 S (2017)
• Windows 10 (2015)
• Windows 8/8.1 (2012-2013)
• Windows 7 (2009)
• Windows Vista (2006)
• Windows XP (2001)
• Windows 2000 (2000)
Unix operating system :- Unix is a multitasking, multi-user operating system that
was originally developed in the 1960s at Bell Labs by Ken Thompson, Dennis Ritchie, and
others. It's known for its powerful command-line interface and scalability, and is used in
many fields, including research, academia, finance, and technology.

Here are some features of Unix:


• Multitasking and multi-user: Unix allows multiple users to work on the computer simultaneously.
• Real-time resource sharing: Unix allows users to believe they are the only person working on the
computer.
• Graphical user interface: Unix has a GUI similar to Microsoft Windows.
• Command-line interface: Unix has a powerful command-line interface.
• Scalability: Unix is highly scalable.
• Text processing, networking, security, and programming tools: Unix offers a wide range of these
tools.
Some popular types of Unix include: Sun Solaris, GNU/Linux, and macOS X
UNIX is an operating system which was first developed in the 1960s, and has been under
constant development ever since. By operating system, we mean the suite of programs which
make the computer work. It is a stable, multi-user, multi-tasking system for servers, desktops
and laptops.
Some of the Key Features of UNIX Include :-
1. Multiuser support: UNIX allows multiple users to simultaneously access the same
system and share resources.
2. Multitasking: UNIX is capable of running multiple processes at the same time.
3. Shell scripting: UNIX provides a powerful scripting language that allows users to
automate tasks.
4. Security: UNIX has a robust security model that includes file permissions, user
accounts, and network security features.
5. Portability: UNIX can run on a wide variety of hardware platforms, from small
embedded systems to large mainframe computers.
6. Communication: UNIX supports communication methods using the write command,
mail command, etc.
7. Process Tracking: UNIX maintains a record of the jobs that the user creates. This
function improves system performance by monitoring CPU usage. It also allows you to
keep track of how much disk space each user uses, and the use that information to
regulate disk space.
Today, UNIX is widely used in enterprise-level computing, scientific research, and web
servers. Many modern operating systems, including Linux and macOS, are based on
UNIX or its variants.
Fundamental of Information Technology
Unit-3
Software: Need, Types of software – System software, Application software,
Utility programs, Introduction to programming languages, Assembler, Compiler
and Interpreter, Programming languages – Assembly language, Machine level
language, High level language.

Software is a set of instructions, data or programs used to operate computers and execute
specific tasks. It is the opposite of hardware, which describes the physical aspects of a computer.
Software is a generic term used to refer to applications, scripts and programs that run on a
device. It can be thought of as the variable part of a computer, while hardware is the invariable
part.

The two main categories of software are application software and system software. An application
is software that fulfills a specific need or performs tasks

computer's hardware and provides a platform for applications to run on top of.

Other types of software include the following:

• Programming software, which provides the programming tools software developers need.

• Middleware, which sits between system software and applications.

• Driver software, which operates computer devices and peripherals.

Early software was written for specific computers and sold with the hardware it ran on. In the
1980s, software began to be sold on floppy disks and, later, CDs and DVDs. Today, most software
is purchased and directly downloaded over the internet. Software can be found on vendor
and application service provider websites.

Examples and types of software :-


Among the various categories of software, the most common types include the following:

• Application software:-The most frequently used software is application software, which


is a computer software package that performs a specific function for a user or, in some cases,
for another application. An application can be self-contained, or it can be a group of programs
that run the application for the user. Examples of modern applications include office suites,
graphics software, databases, database management programs, web browsers, word
processors, software development tools, image editors and communication platforms.

• System software:- These software programs are designed to run a computer's


application programs and hardware. System software coordinates the activities and functions
of the hardware and software. In addition, it controls the operations of the computer hardware
and provides an environment or platform for all the other types of software to work in. An
operating system (OS) is the best example of system software; it manages all the other
computer programs. Other examples of system software include firmware, computer language
translators and system utilities.

• Driver software:- Also known as device drivers, this software is often considered a type
of system software. Device drivers control the devices and peripherals connected to a
computer, helping them perform their specific tasks. Every device that's connected to a
computer needs at least one device driver to function. Examples include software that comes
with any nonstandard hardware, including special game controllers, as well as the software
that enables standard hardware, such as USB storage devices, keyboards, headphones and
printers

• Middleware:- The term middleware describes software that mediates between application
and system software or between two different kinds of application software. For example,
middleware lets Microsoft Windows talk to Excel and Word. It's used to send a remote work
request from an application in a computer that has one kind of OS to an application in a
computer with a different OS. It also lets newer applications work with legacy ones.
Introduction to programming languages :-

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.

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.

Assembler:- An assembler is a computer program that translates assembly language code


into machine code. This allows a computer to directly communicate with its hardware.

Types of Assembler :-
The assembler generates instructions by evaluating the mnemonics (symbols) in the operation
field and finding the value of symbols and literals to produce machine code. On the basis of
this functionality, assembler has two types:
• Single-Pass Assembler: If an assembler does all this work in one scan then it is called a
single-pass assembler.
• Multiple-Pass Assembler: If it does it in multiple scans then called a multiple-pass
assembler.
Working of Assembler :-
Assembler divides tasks into two passes:
Pass-1
• Define symbols and literals and remember them in the symbol table and literal table
respectively.
• Keep track of the location counter.
• Process pseudo-operations.
• Defines a program that assigns the memory addresses to the variables and translates the
source code into machine code.
Pass-2
• Generate object code by converting symbolic op-code into respective numeric op-code.
• Generate data for literals and look for values of symbols.
• Defines a program that reads the source code two times.
• It reads the source code and translates the code into object code.
Firstly, We will take a small assembly language program to understand the working in their
respective passes. Assembly language statement format:

Compiler and Interpreter:- A compiler and an interpreter are both programming tools that
convert high-level programming languages into machine-readable instructions, but they differ in
how they process and run programs:

Compiler:-

• C
Translates the entire source code into machine code before the program runs. The compiler saves the object
code as a file before executing it. Compilers are ideal for applications that require high
performance. Examples of compiled languages include C, C++, COBOL, and Fortran.

Interpreter:-
• I
Translates and executes the code line by line as the code runs. The interpreter points out errors along the
way. Examples of interpreted languages include Python, JavaScript, Perl, and BASIC

Here are some other differences between compilers and interpreters:


• Error detection: Compilers display all errors and warnings while compiling, while interpreters display errors
one line at a time.
• Intermediate machine codes: Compilers generate intermediate machine codes, while interpreters do not.
• Dynamic typing: Interpreted languages support dynamic typing.
The choice between using a compiler or an interpreter depends on the project's requirements,
the language being used, and the development environment.
Machine Language :-
A low-level language that uses binary code to directly correspond to a computer's hardware. Machine
languages are closely related to the structure of a specific computer, making them machine dependent. For
example, the number +20 might instruct a computer to add two numbers, while +21 might indicate
subtraction.

High-level language :-
A more abstract language that is closer to human language and uses higher-level concepts like variables,
functions, and control structures. High-level languages are designed to be easier to write and understand,
and are more focused on usability than optimal program efficiency. Examples of high-level languages include
C, C++, Python, and Java.

Assembly level language :-

Assembly language is a low-level programming language that allows programmers to directly


interact with a computer's hardware. It's a bridge between the hardware and higher-level
programming languages like Python or JavaScript

Assembly language is rarely written directly today, but it's still used in some applications where
performance is a priority.

Assembly language is a low-level language that helps to communicate directly with computer
hardware. It uses mnemonics to represent the operations that a processor has to do. Which is
an intermediate language between high-level languages like C++ and the binary language. It
uses hexadecimal and binary values, and it is readable by humans.
Unit – IV
Data Communication & networks
Types of Network – LAN, MAN, WAN, Internet, Intranet, Topologies of LAN – Ring, Bus,
Star, Mesh and Tree.

_______________________________________________________________________

A network can refer to a system of connected parts, a structure of wires or cords, or a


system of computers connected by communication lines:
• Structure: A network can be a structure of cords or wires that cross at regular intervals
and are secured or knotted at the crossings.
• System: A network can be a system of lines or channels that resemble a network, such
as a network of veins.
• Computers: A network can be a system of computers connected by communication
lines.

The first example of a computer network was the Advanced Research Projects Agency
Network. This packet-switched network was created in the late 1960s by ARPA, a U.S.
Department of Defense agency.

• Local area network (LAN): Connects devices within a limited area, such as an office
building, school, or hospital LAN stands for Local Area Network, which is a network that
connects devices within a specific geographic area, such as a home, office, or
plant. LANs are made up of cables, often called Ethernet cables, that transmit data
between devices.

• Personal area network (PAN): A network that allows one person to connect multiple
devices, such as a laptop to a scanner
• Metropolitan area network (MAN): A large network that spans across a city MAN or
Metropolitan area Network covers a larger area than that covered by a LAN and a smaller
area as compared to WAN. MAN has a range of 5-50km. It connects two or more computers
that are apart but reside in the same or different cities.
• Wide area network (WAN): A network that covers larger areas, such as countries, states,
and large cities WAN or Wide Area Network is a computer network that extends over a large
geographical area, although it might be confined within the bounds of a state or country. WAN
has a range of above 50 km. A WAN could be a connection of LAN connecting to other LANs
via telephone lines and radio waves and may be limited to an enterprise (a corporation or an
organization) or accessible to the public.

• Storage area network (SAN): A dedicated network that facilitates block-level data
storage
• Campus area network (CAN): A collection of interconnected LANs, used by larger
organizations like governments and universities
• Enterprise private network (EPN): A single network that connects multiple office
locations of a large organization
• Virtual private network (VPN): An overlay private network that is stretched on top of a
public network
• Cloud network: A WAN whose infrastructure is delivered via cloud services

Internet :- The internet is a global network of computers, servers, phones,


and other devices that are connected and communicate with each other. It's a
collection of smaller networks, including academic, business, domestic, and
government networks, that carry a wide variety of information.
The internet is accessible to anyone with a device and an internet
connection. It's the fastest way to exchange information and data between
computers around the world.

The Internet is the foremost important tool and the prominent resource that is
being used by almost every person across the globe. It connects millions of
computers, webpages, websites, and servers. Using the internet we can
send emails, photos, videos, and messages to our loved ones. Or in other
words, the Internet is a widespread interconnected network of computers
and electronic devices(that support Internet). It creates a communication
medium to share and get information online. If your device is connected to
the Internet then only you will be able to access all the applications,
websites, social media apps, and many more services. The Internet
nowadays is considered the fastest medium for sending and receiving
information.

Intranet :- An intranet is a private network that allows employees and other


authorized users to share information, collaborate, and perform work-related
tasks:

Intranets are similar to the internet but are restricted to a company's


employees and other authorized users. They can be accessed via a web
browser and are typically connected to a Local Area Network (LAN) or wide
area network (WAN).

Working of Intranet :-
An intranet is a network confined to a company, school, or organization that
works like the Internet. Let us understand more about the working of the
intranet with the help of a diagram, as shown below:
Topologies :- Network topology is the way devices are connected in a
network. It defines how these components are connected and how data
transfer between the network.

Understanding the different types of network topologies can help in choosing


the right design for a specific network.

There are two major categories of Network Topology i.e. Physical Network
topology and Logical Network Topology.

Physical Network Topology refers to the actual structure of the physical


medium for the transmission of data.

Logical network Topology refers to the transmission of data between devices


present in the network irrespective of the way devices are connected.

The structure of the network is important for the proper functioning of the
network. one must choose the most suitable topology as per their
requirement.

Types of Network Topology


Below mentioned are the types of Network Topology

• Point to Point Topology


• Mesh Topology
• Star Topology
• Bus Topology
• Ring Topology
• Tree Topology
• Hybrid Topology
• Point to Point Topology :-

In a point-to-point topology, one node acts as the transmitter and the other as
the receiver. The entire bandwidth of the connection is reserved for
communication between the two nodes, which can help reduce congestion
and improve connection reliability.

Mesh Topology

Mesh topology is a network configuration where devices are connected


directly to multiple other devices, forming a mesh-like structure. This
decentralized network topology offers several advantages, including:
• Fault tolerance: If one connection fails, data can be rerouted through
an alternative path.
• Redundancy: There are multiple paths between devices.
• Efficient data routing: Nodes cooperate with one another to efficiently route
data to and from clients.
Star Topology :- A star topology is a network design where all devices are
connected to a central hub or switch, forming a shape roughly resembling a star.
A Star topology is a type of network topology in which all the devices or nodes
are physically connected to a central node such as a router, switch, or hub. The
central node (hub) acts as a server, and the connecting nodes act as clients.

Bus Topology :- Bus topology is a network configuration where all devices


are connected to a single cable, called a bus, that serves as a shared
communication medium. In this arrangement, data is broadcast from one
device to another.
Bus topology is a straightforward arrangement that is commonly used for
small networks. However, it can be susceptible to issues such as data
collisions and disruptions.

Ring Topology :- Ring topology is a network configuration where devices are


connected in a circular pattern to form a closed loop, allowing data to travel in one direction
around the ring.
Ring topology is often used in local area networks (LANs). It offers ordered and
collision-free data transmission, but it can suffer from reliability issues if a single
device fails.

Tree Topology :- Tree topology is a network topology that arranges devices


to resemble a tree, with the core node as the trunk and the other nodes
radiating out like branches. It's a less popular topology, but it's used when
scalability or hierarchical setup is needed
Structure: The structure of a tree topology is distinct from other topologies because it
resembles a tree.
Hybrid Topology :-

A hybrid topology is a network structure that combines multiple network


topologies, such as bus, ring, star, or mesh, to create a single, integrated
network. The goal of a hybrid topology is to take advantage of the strengths of
each topology while minimizing its weaknesses.
Unit – V
Tools for Program Development
Algorithms, Flow charts – symbols, Rules for making flow chart, Types
of flow chart, advantage and disadvantage, Pseudo codes,
Programming techniques – Top Down, Bottom-up, Modular,
Structured.

Algorithms :- 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”.

What are the Characteristics of an Algorithm?


• 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).

.Algorithm:
1. Start
2. Input 2 variables from user
3. Now check the condition If a > b, goto step 4, else goto step 5.
4. Print a is greater, goto step 6
5. Print b is greater
6. Stop
Algorithm:
1. Start
2. Put input a
3. Now check the condition if a % 2 == 0, goto step 5. Else goto step 4
4. Now print(“number is odd”) and goto step 6
5. Print(“number is even”)
6. Stop
Flow chart:- A flowchart is a diagram that depicts a process, system or computer
algorithm. They are widely used in multiple fields to document, study, plan, improve and
communicate often complex processes in clear, easy-to-understand diagrams.
Flowcharts, sometimes spelled as flow charts, use rectangles, ovals, diamonds and
potentially numerous other shapes to define the type of step, along with connecting
arrows to define flow and sequence.
Here are some rules for making a flowchart:-

• Start and end: The flowchart should begin with the word "start" and end with the
word "end"
• Direction: The flow should generally move from left to right or top to bottom.
• Symbols: Connect all symbols with arrow lines. Maintain consistent spacing
between symbols.
• Decision points: Each decision point should have at least two distinct
outcomes. All decision point paths should connect to another step or a terminal
symbol.
• Return lines: Run return lines under the flowchart and ensure they don't overlap
• Design elements: Use consistent design elements, such as shapes, lines, and
texts
• Page: Keep everything on one page
• Trigger: Every flowchart should start with a trigger.
• End: The flowchart should have a defined end, but it may have multiple ends due
to multiple decision points.
Some other steps you can take to create a flowchart include:
1. Determine the flowchart's purpose and scope.
2. Identify the steps and sequence of the process.
3. Choose the appropriate symbols and shapes.
4. Draw the flowchart.
5. Test and improve the flowchart.

Types of flow chart :- There are many types of flowcharts, including:

Process flowchart
The most common type of flowchart, which shows every action in a process from start
to finish. They are often used in manufacturing to show the production journey of a
product

Workflow diagram :-
Defines a process for how an item should work, and shows who is responsible for
work at what point in the process

Swimlane flowchart:-
Shows a process from start to finish, and also shows who is responsible for each step
in the process.

Data flow diagram:-


Used to bridge the communication gap between developers and users of a program or
piece of software.

Decision flowchart:-
A graphical representation of different courses of action and their outcomes.

Program flowchart:-
Represents the sequence of steps and decisions in a computer program or algorithm.

System flowchart:-
A diagrammatic representation that depicts the workflow or processes involved in a
system

The type of flowchart used depends on the specific context and industry.

Advantages of using a Flowchart :-


• Flowcharts are a better way of communicating the logic of the system.
• Flowcharts act as a guide for blueprint during program designed.
• Flowcharts help in debugging process.
• With the help of flowcharts programs can be easily analyzed.
• They provide better documentation.
• Flowcharts serve as a good proper documentation.
Disadvantages of using a Flowchart:-
• It is difficult to draw flowcharts for large and complex programs.
• There is no standard to determine the amount of detail.
• It is very difficult to modify the Flowchart.
• Making a flowchart is costly.
• If changes are done in software, then the flowchart must be redrawn.

Pseudo codes :- Pseudocode is a way to describe how a computer program or


algorithm should work using plain English:

What it is
Pseudocode is a blueprint for a program or algorithm that's written in a natural
language like English. It's not a programming language and can't be compiled into an
executable program.
Why it's used
Pseudocode is used to design, plan, and create algorithms and prototypes. It's a good
starting point for documentation, and it can help with communication between
designers, coders, and project managers.

How it's written:-


Pseudocode is written as a list of phrases, and it can include arrows to show looping
processes and indentation to show program flow. It's meant to be readable and
understandable by humans, so it shouldn't include too many technical terms.
How to write it :-
Here are some tips for writing pseudocode:
• Use appropriate naming conventions.
• Use appropriate sentence casings, such as CamelCase for methods, upper case for
constants, and lower case for variables.
• Elaborate everything that will happen in the actual code.
• Use standard programming structures like "if-then", "for", "while", and "cases".
Programming techniques :- Programming techniques are the strategies, logic, and
approaches used to build programs quickly and independently. Some examples of
programming techniques include.
Variables: A fundamental part of programming, variables store information that makes
programs useful and interesting.
Structured programming: Involves writing code in blocks, such as sequences and
selections.
Function chaining: A pattern in JavaScript that allows multiple functions to be called on
the same object in sequence.
Partial application: A technique that involves providing some, but not all, of a function's
arguments.
Iteration control, selection control, choice control, and condition control: Techniques
used to make logical decisions or branching capabilities.
Verifying application behavior: Creating tests to ensure that an application is behaving
as expected

Top Down :- Top-down programming is a programming style that starts with a general
concept and breaks it down into smaller, more manageable parts. It's a common
technique in traditional procedural languages.
Here are some steps in the top-down programming process:

1. Specify the high-level functions: Start by defining the complex pieces of the program.
2. Break down into smaller parts: Divide the program into smaller, more manageable
subcomponents.
3. Repeat: Repeat the process until the subcomponents are simple enough to code.
4. Test: Once all the subroutines are coded, the program is ready to be tested.
Top-down programming is often visualized as a tree structure, with the main system or
problem at the root and smaller parts branching out from there. This hierarchical
decomposition allows developers to focus on the high-level design first.
Bottom-up :- In this design, individual parts of the system are specified in detail. The
parts are linked to form larger components, which are in turn linked until a complete
system is formed. Object-oriented language such as C++ or java uses a bottom-up
approach where each object is identified first.

Modular Structured:- A modular structure is a building or part of a building that is


constructed in sections, or modules, that are made in a factory and then assembled on-
site. Modular construction can be used for many types of buildings, including.
Relocatable buildings
These buildings are designed to be moved to different locations and reused or
repurposed. They are often used for schools, medical clinics, and construction site
offices.

Mobile offices
These offices have features that allow the occupants to function as if they were in a
permanent office.

Remote locations
Modular construction is well-suited for remote locations where building on-site would
be difficult or expensive.

Modular construction can be more sustainable than traditional construction methods


because it can: Reduce the need for raw materials, Minimize energy use, Reduce
waste, and Improve air quality.

You might also like