0% found this document useful (0 votes)
223 views83 pages

Evolution of Computer Generations

The document outlines the evolution and generations of computers, starting from the 16th century to the present, detailing the transition from vacuum tubes to artificial intelligence. It describes five generations of computers, highlighting their characteristics, technological advancements, and notable examples. Additionally, it discusses the classification of computers based on size, capacity, and purpose, along with insights into memory management and input/output devices.

Uploaded by

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

Evolution of Computer Generations

The document outlines the evolution and generations of computers, starting from the 16th century to the present, detailing the transition from vacuum tubes to artificial intelligence. It describes five generations of computers, highlighting their characteristics, technological advancements, and notable examples. Additionally, it discusses the classification of computers based on size, capacity, and purpose, along with insights into memory management and input/output devices.

Uploaded by

aaryajagdale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 83

PPS Unit 1- Fundamental

of the Computer and


Computing Concepts
By Apurva Joshi
Generation of Computers

Notes by Prof. Apurva Joshi


Generation of Computers

 For many decades we have relied on computers and now they have become
an inseparable part of our lives.
 We cannot imagine our lives without computers are they have made our work
easier.
 These computers have gone through changes over time and have you ever
really wondered what a computer actually is?
 Today we use Laptops for our office work, and tablets for day-to-day
calculations or entertainment purposes.
 These indicate that computers have evolved and undergone changes in their
structure, functions and speed over time

Notes by Prof. Apurva Joshi


What is the Evolution of the computer?

 The evolution of computers started around the 16th century.


 The evolution of the computer is the process of transforming the oldest
vacuum tube-based system to the current model system of today’s
computers.
 Long ago, the early primitive people were trailblazers in the use of counting
tools, making use of objects like sticks, stones, and bones for their counting
needs.
 The computer we see today has faced many changes, for the betterment via
the history of computers.
 It has continuously improved itself in terms of speed, accuracy, size, and
price to urge the form of the computer we have today.

Notes by Prof. Apurva Joshi


Generation of Computer

 In computers, we use the term “generation” to show the evolution of


technology.
 Earlier, the generation term was used to distinguish the computers in terms of
varying hardware but now it all together includes the hardware and software
which makes up a computer system.
 After centuries of evolution that began in the 16th century, the contemporary
computer has taken its current form.
 There are 5 Generations of computers

Notes by Prof. Apurva Joshi


Generation of computers

Notes by Prof. Apurva Joshi


First Generation Computers
 The 1st Generation Computers were introduced using the technology of vacuum tubes
which can control the flow of electronics in a vacuum.
 These tubes are usually used in switches, amplifiers, radios, televisions, etc.
 The First Generation of Computer was very heavy and large and were not ideal for
programming. They used basic programming and didn’t have an operating system,
which made it tough for users to do programming on them.
 The 1st Generation Computers required a big room dedicated to them and also
consumed a lot of electricity.

 Some examples of main first-generation computers are-

 ENIAC: Electronic Numerical Integrator and Computer, built by J. Presper Eckert and
John V. Mauchly which contained 18,000 vacuum tubes.
 EDVAC: Electronic Discrete Variable Automatic Computer, designed by Von Neumann.
 UNIVAC: Universal Automatic Computer, developed by Eckert and Mauchly in 1952

Notes by Prof. Apurva Joshi


Characteristics of 1st Generation Computers

 These computers were designed


using vacuum tubes.
 Programming in these computers was
done using machine languages.
 The main memory of 1st Generation
Computers consisted of magnetic
tapes and magnetic drums.
 Paper tapes and Punched cards were
used as input/output devices in these
computers.
 These computers were very huge but
worked very slowly.
 Examples of 1st Generation
Computers are IBM 650, IBM 701,
ENIAC, UNIVAC1, etc....
Notes by Prof. Apurva Joshi
2. Second Generation Computers

 The Second Generation of Computers revolutionized as it started using the


technology of transistors instead of bulky vacuum tubes.
 Transistors are devices made of semiconductor materials that open or close a
circuit.
 These transistors were invented in the Bell Labs which made the Second
Generation Computer powerful and faster than the previous ones.
 Transistors made these computers smaller and generated less heat compared
to the vacuum tubes they replaced.
 The Second Generation of Computers also introduced the use of CPU, memory
and input/output units.
 The programming languages used for the second-generation computers were
FORTRAN (1956), ALGOL (1958), and COBOL (1959)

Notes by Prof. Apurva Joshi


Characteristics of Second-Generation
Computers

 The Second Generation computers used


the technology of Transistors.
 Machine language and Assembly Languages
were used for these computers.
 Magnetic core and magnetic tape/disk
were used for memory storage.
 The Second Generation Computers were
smaller in size, consumed less power and
generated less heat.
 Magnetic tape and punched cards were
used as input/output devices.
 Some of the examples are PDP-8, IBM1400
series, IBM 7090 and 7094, UNIVAC 1107,
CDC 3600, etc

Notes by Prof. Apurva Joshi


3. Third Generation Computers
 The evolution of Third Generation Computers took place with a shift from transistors
to integrated circuits also called IC.
 The Third Generation of Computers was known for being very fast and dependable.
 These computers used Integrated Circuits (ICs) made from silicon, known as silicon
chips. Each chip contains many tiny electronic parts, like transistors, registers, and
capacitors, all on a thin piece of silicon.
 This made computers in this generation more powerful and efficient with better
memory.
 During this time, programming languages like BASIC (Beginners All-purpose Symbolic
Instruction Code) were commonly used.
 Also, Minicomputers, which are smaller than mainframes but still powerful, were
introduced.
 Overall, this generation marked significant improvements in speed, reliability, and
capabilities of computers
Notes by Prof. Apurva Joshi
Characteristics of Third-Generation
Computers

 These computers were built using


Integrated Circuits (ICs).
 High-level programming languages
were used for programming on these
computers.
 Large magnetic core and magnetic
tape/disk were used for memory
storage.
 Magnetic tape, monitor, keyboard,
printer, etc were used as
input/output devices.
 Some of the examples of Third
Generation Computers are IBM 360,
IBM 370, PDP-11, NCR 395, B6500,
UNIVAC 1108, etc.

Notes by Prof. Apurva Joshi


4. Fourth Generation Computers

 The period from 1972 to 2010 is considered the period of the fourth generation of
computers.
 Microprocessor technology was used to develop the Fourth Generation of
Computers.
 The foremost advantage of these computers is that the microprocessor can contain
all the circuits required to perform arithmetic, logic, and control functions on one
chip.
 In the Fourth Generation, computers became very small in size and also became
portable.
 Technologies like multiprocessing, multiprogramming, time-sharing, operating
speed, and virtual memory were also introduced by then.
 During the fourth generation, private computers and computer networks became a
reality.

Notes by Prof. Apurva Joshi


Characteristics of Fourth-Generation
Computers

 The Fourth Generation Computers have


been developed using the technology of
Very-large-scale integration (VLSI) and the
microprocessor (VLSI has thousands of
transistors on a single microchip).
 Semiconductor memory such as RAM,
ROM, etc was used for memory storage.
 Input/output devices such as pointing
devices, optical scanning, keyboard,
monitor, printer, etc were introduced.
 Some examples of Fourth Generation
Computers are IBM PC, STAR 1000, APPLE
II, Apple Macintosh, Alter 8800, etc.

Notes by Prof. Apurva Joshi


Fifth Generation Of Computers

 The Fifth Generation of Computers has been built using the technology called
Artificial Intelligence (AI).
 This technology encourages computers to behave like humans. Some of the
applications of AI have been seen in features like voice recognition,
entertainment, etc.
 The speed of the Fifth Generation of Computers is the highest while the sizes
are the smallest.
 A big improvement has been noticed so far over the years in the various
generations of computers in the aspect of speed, accuracy dimensions, etc.

Notes by Prof. Apurva Joshi


Characteristics of Fifth Generation of
Computers
 The 5th Generation Computers have been
built based on artificial intelligence, use the
Ultra Large-Scale Integration (ULSI)
technology and parallel processing method
(ULSI has millions of transistors on a single
microchip and the Parallel processing method
uses two or more microprocessors to run
tasks simultaneously).
 These computers understand natural
language (human language).
 The Fifth-generation computers are portable
and smaller in size.
 Trackpad (or touchpad), touchscreen, pen,
speech input (recognize voice/speech), light
scanner, printer, keyboard, monitor, mouse,
etc are used as Input/Output devices.
 Examples of 5th Generation Computers are
Desktops, laptops, tablets, smartphones,
etc....
Notes by Prof. Apurva Joshi
History of Computer Generation
 The word ‘computer’ was first used in the 16th century for a person who used
to do calculations until the 20th century.
 People were hired as human computers to carry out all forms of calculations
and computations.
 By the end of the 19th century, the word ‘computer’ was used for the
machines that did calculations.
 Nowadays we use the word for the programmable digital devices that run on
electricity.
 Before computers were invented, sticks, stones, and bones were used as
counting tools. With the evolution of human intellect and the advancement of
technology, more computing devices were produced.
 There are mechanical calculators used by humans before computers.

Notes by Prof. Apurva Joshi


Some of the most famous mechanical
calculators are:

 Abacus
 Pascal’s Calculator
 Stepped Reckoner
 Arithmometer
 Comptometer & Comptograph
 Difference Engine
 Analytical Engine
 The Millionaire

Notes by Prof. Apurva Joshi


Some of the most famous mechanical
calculators are:
 Abacus
 The Chinese are said to have discovered the Abacus some 4,000 years ago. The abacus was built
using a wooden rack having metal rods with beads mounted on them. To perform the arithmetic
calculations, beads were moved by the abacus operator according to some rules.

 Napier’s Bones
 John Napier invented Napier’s Bones which was a manually operated calculating device. John used 9
different ivory strips or bones marked with numbers to multiply and divide with the help of this
calculating tool. The Napier’s Bone was also the first calculating tool to use decimal points.

 Pascaline
 First-generation calculator or machine for calculations that was ever developed in the history of
mankind was named Pascaline. A French mathematician-philosopher Blaise Pascal invented the
Pascaline between 1642 and 1644. This was the very first invention of such kind and therefore only
had the options of addition and subtraction and that too by entering the numbers by manipulating
its dials....

Notes by Prof. Apurva Joshi


Some of the most famous mechanical
calculators are:
 Stepped Reckoner or Leibnitz wheel
 A German mathematician-philosopher Gottfried Wilhelm Leibnitz developed the Stepped Reckoner
or Leibnitz wheel in 1673. This machine was technically an upgrade of Pascal’s invention. The
Stepped Reckoner or Leibnitz wheel was a digital mechanical calculator that was made of fluted
drums instead of gears.

 Difference Engine
 Charles Babbage, known as the “Father of Modern Computer designed the Difference engine in the
early 1820s. The Difference Engine was a mechanical computer that could perform simple
calculations. It was a steam-driven calculating machine designed to solve tables of numbers like
logarithm tables.

 Analytical Engine
 The Analytical Engine was also developed by Charles Babbage in the 1830s. This calculating machine
was a mechanical computer that used punch cards as input. These machines were capable of solving
any mathematical problem and storing information as a permanent memory.

Notes by Prof. Apurva Joshi


Some of the most famous mechanical
calculators are:
 Tabulating Machine
 Herman Hollerith, an American statistician invented the Tabulating Machine in the 1890s
which was a mechanical tabulator based on punch cards that was capable of tabulating
statistics and recording or sorting data or information.

 Differential Analyzer
 The Differential Analyzer was the first electronic computer introduced in the United States in
1930. It was an analog device invented by Vannevar Bush. This machine could perform 25
calculations in a few minutes.

 Mark I
 The major changes in the history of computers began in 1937 when Howard Aiken aimed to
invent a machine that could perform calculations of larger numbers. In 1944, IBM and Harvard
partnered to build the Mark I computer. The Mark 1 was the first programmable digital
computer.

Notes by Prof. Apurva Joshi


Classification of Computer

Notes by Prof. Apurva Joshi


Computer's classification based on Size

As per the size, a computer can be broadly classified as follows −


 Micro Computer
 Mini Computer
 Mainframe Computer
 Super Computer

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Computer's classification based on Capacity

As per the capacity, a computer can be broadly classified as follows −


 Analog Computer
 Digital computer
 Hybrid computer

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Computer's classification based on Purpose

As per the capacity, a computer can be broadly classified as follows −


 Special Purpose
 General Purpose

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Anatomy of computers

Notes by Prof. Apurva Joshi


Anatomy of Computers contd.

Notes by Prof. Apurva Joshi


Anatomy of computers contd.

Notes by Prof. Apurva Joshi


Input and Output Devices

Notes by Prof. Apurva Joshi


Input Devices

Notes by Prof. Apurva Joshi


Input Devices

Notes by Prof. Apurva Joshi


Output Devices

Notes by Prof. Apurva Joshi


Output Devices

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
Tasks performed by Computer

Notes by Prof. Apurva Joshi


Memory management of computer system

 Introduction to Memory Management


 Memory management is an essential function of modern operating systems,
responsible for allocating, deallocating, and organizing the system's memory
resources. This guide will explore the fundamental concepts of memory
management and discuss various memory management techniques.
 What is Memory Management?
 Memory management refers to the process of controlling and coordinating
computer memory, allocating portions called blocks to various running
programs to optimize overall system performance. Memory management also
involves deallocating memory when a program is no longer in use, ensuring
that memory resources are efficiently utilized.

Notes by Prof. Apurva Joshi


Types of Memory:

 CPU Registers: High-speed, temporary storage used to instruct other parts of


the OS.
 Cache Memory: Faster than primary memory, used to bridge the speed gap
between the CPU and main memory.
 Main (Primary) Memory: External memory processor working with active
programs and data.
 Secondary Memory: Largest storage capacity, usually external sources like
hard drives or USB flash drives

Notes by Prof. Apurva Joshi


Primary memory

 RAM (Random Access Memory):


 Volatile Memory: Data is lost when the power is turned off.
 ROM (Read-Only Memory):
 Non-Volatile Memory: Data is retained even when the power is off.

Notes by Prof. Apurva Joshi


Secondary Memory:
 Secondary memory is used for long-term data storage and is not directly accessible by the CPU.
 HDD (Hard Disk Drive):
 Uses magnetic storage to store and retrieve digital data.
 Larger storage capacity but slower than SSDs.
 SSD (Solid State Drive):
 Uses flash memory to store data.
 Faster and more reliable than HDDs but more expensive.
 Optical Discs:
 Includes CDs, DVDs, and Blu-ray discs.
 Used for storing media and software.
 USB Flash Drives:
 Portable storage devices using flash memory.
 Convenient for transferring data between computers.
 Cloud Storage:
 Internet-based storage solutions.
Allows access to data from anywhere with an internet connection
Notes by Prof. Apurva Joshi

Cache Memory:

 Cache memory is a small, high-speed memory located close to the CPU to


speed up access to frequently used data.
 L1 Cache: Integrated into the CPU, very fast but small in size.
 L2 Cache: Slightly larger and slower than L1, often located on the CPU chip.
 L3 Cache: Larger and slower than L2, shared among multiple CPU cores

Notes by Prof. Apurva Joshi


What is Computer Software?

 Computer software refers to instructions, programs, and data that enable a


computer system to perform specific tasks or functions.
 It encompasses various applications, operating systems, and utility programs,
allowing users to interact with and manipulate digital hardware.
 Software can range from simple applications like word processors and web
browsers to complex systems such as databases and video games.
 It is crucial in managing hardware resources, facilitating user experiences,
and executing diverse computing operations.

Notes by Prof. Apurva Joshi


Significance of Software in Modern
Computing
 Computer software plays a pivotal role in modern computing for several significant
reasons:
 Functionality: Software defines what a computer can do. It provides the tools,
applications, and operating systems that enable users to perform various tasks, from
word processing to complex data analysis.
 Flexibility: Software can be easily updated and adapted to changing needs. This
flexibility allows computers to evolve without requiring constant hardware upgrades.
 Efficiency: Optimized software can significantly enhance the performance of hardware.
Efficient algorithms and well-designed software can make computing processes faster
and more resource-efficient.
 Automation: Software automates repetitive tasks, boosts productivity, and minimizes
human error. This is crucial in manufacturing, finance, and healthcare.
 Connectivity: Software facilitates communication and connectivity. From internet
browsers to networking protocols, software enables the exchange of information
Notes by Prof. Apurva Joshi
globally.
Significance of Software in Modern
Computing
 Innovation: Software drives innovation by enabling the development of new applications,
services, and technologies. It’s the foundation for emerging fields like artificial
intelligence, virtual reality, and blockchain.
 Security: Software is essential for cybersecurity. Antivirus programs, firewalls, and
encryption software protect data and systems from threats and vulnerabilities.
 User Experience: Software defines the user interface and user experience, impacting how
individuals interact with computers and devices. Intuitive and user-friendly software is
crucial for adoption and satisfaction.
 Data Handling: Software manages data storage, retrieval, and processing. Databases, file
systems, and data analysis tools are essential for businesses and research.
 Global Impact: Software has a global reach, influencing economies, industries, and
societies. It powers critical infrastructure, healthcare systems, financial markets, etc.

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
1. System Software

 Computer operation relies on system software that manages hardware


resources and provides essential services to other applications.
 Operating Systems (OS): The core software that manages hardware
resources, provides a user interface, and runs other software. Examples
include Windows, macOS, Linux, and Unix.
 Device Drivers: Software that communicates with hardware devices like
printers, graphics cards, and network adapters, allowing them to function
correctly with the operating system.
 Utilities: Tools that perform various system-related tasks, such as disk
management, system maintenance, and security. Examples include antivirus
software, disk cleanup utilities, and system optimization tools.

Notes by Prof. Apurva Joshi


Application Software

 Application software includes programs designed to perform specific user tasks or functions.
 Word Processing Software: Used for creating, editing, and formatting text documents. Examples include
Microsoft Word, Google Docs, and LibreOffice Writer.
 Spreadsheet Software: Designed for creating, analyzing, and managing numerical data in tables. Examples
include Microsoft Excel, Google Sheets, and LibreOffice Calc.
 Presentation Software: Used to create multimedia presentations with slides, images, and animations.
Examples include Microsoft PowerPoint, Google Slides, and Apple Keynote.
 Database Software: Manages and organizes data, allowing users to store, retrieve, and manipulate
information. Examples include Microsoft Access, MySQL, and Oracle Database.
 Graphics and Design Software: Used for creating visual content, including images, illustrations, and
animations. Examples include Adobe Photoshop, Adobe Illustrator, and Blender.
 Web Browsers: Software for accessing and browsing websites on the internet. Examples include Google
Chrome, Mozilla Firefox, and Microsoft Edge.
 Email Clients: Applications for sending, receiving, and managing emails. Examples include Microsoft
Outlook, Mozilla Thunderbird, and Apple Mail.
 Media Players: There are various media players, including Windows Media Player, VLC Media Player, and
iTunes, that can play audio and video files.

Notes by Prof. Apurva Joshi


Programming Software

 Developers use programming software to create, debug, and test software


applications.
 Text Editors: Simple tools for writing and editing code, such as Notepad,
Visual Studio Code, and Sublime Text.
 Integrated Development Environments (IDEs): Comprehensive environments
that provide code editors, debuggers, and build tools. Examples include Visual
Studio, Eclipse, and PyCharm.
 Compilers and Interpreters: Software that translates high-level programming
languages into machine code. Examples include GCC (GNU Compiler
Collection), Python interpreter, and Java Virtual Machine (JVM).

Notes by Prof. Apurva Joshi


4. Enterprise Software

 Enterprise software helps businesses manage their operations.


 Enterprise Resource Planning (ERP) Software: Integrates and manages
various business processes, including finance, HR, and inventory management.
Examples include SAP, Oracle ERP, and Microsoft Dynamics.
 Customer Relationship Management (CRM) Software: Software platforms can
assist businesses in managing customer interactions and relationships. Some
examples of these platforms are Salesforce, HubSpot, and Zoho CRM.
 Business Intelligence (BI) Software: Provides tools for analyzing and
visualizing business data to make informed decisions. Examples include
Tableau, Power BI, and QlikView.

Notes by Prof. Apurva Joshi


5. Utility Software

 Utility software includes programs that perform specific, often low-level,


tasks to maintain or enhance system performance and functionality.
 File Compression Tools: Reduce the size of files and folders to save storage
space. Examples include WinZip, 7-Zip, and WinRAR.
 Backup and Recovery Software: Create data backups and restore them in
case of loss. Examples include Acronis True Image, EaseUS Todo Backup, and
Windows Backup.
 Security Software: This package protects against malware, viruses, and other
security threats. It includes antivirus software, anti-malware tools, and
firewalls. Some software examples in this package are Norton Antivirus,
McAfee, and Avast.

Notes by Prof. Apurva Joshi


Educational Software

 Educational institutions commonly use software designed for teaching and


learning, known as educational software.
 Educational Games: Interactive games that teach various subjects or skills
while entertaining. Examples include “Math Blaster” and “Carmen Sandiego.”
 E-learning Platforms: Online platforms that offer courses, lectures, and
tutorials. Examples include Coursera, edX, and Moodle.
 These categories encompass various software types, each serving specific
purposes and catering to diverse user needs. The software industry is
continually evolving, with new applications and tools emerging to meet the
demands of users in various domains.

Notes by Prof. Apurva Joshi


What is an Operating System?

 Operating System lies in the category of system software. It basically


manages all the resources of the computer. An operating system acts as an
interface between the software and different parts of the computer or the
computer hardware. The operating system is designed in such a way that it
can manage the overall resources and operations of the computer.
 Operating System is a fully integrated set of specialized programs that handle
all the operations of the computer. It controls and monitors the execution of
all other programs that reside in the computer, which also includes
application programs and other system software of the computer. Examples of
Operating Systems are Windows, Linux, Mac OS, etc.
 An Operating System (OS) is a collection of software that manages computer
hardware resources and provides common services for computer programs.
The operating system is the most important type of system software in a
computer system.
Notes by Prof. Apurva Joshi
What is an Operating System Used for?

 The operating system helps in improving the computer software as well as


hardware.
 Without OS, it became very difficult for any application to be user-friendly.
 The Operating System provides a user with an interface that makes any application
attractive and user-friendly.
 The operating System comes with a large number of device drivers that make OS
services reachable to the hardware environment.
 Each and every application present in the system requires the Operating System.
The operating system works as a communication channel between system
hardware and system software.
 The operating system helps an application with the hardware part without
knowing about the actual hardware configuration.
 It is one of the most important parts of the system and hence it is present in every
device, whether large or small device.

Notes by Prof. Apurva Joshi


What is an Operating System Used for?

Notes by Prof. Apurva Joshi


Objectives of Operating Systems

 Convenient to use: One of the objectives is to make the computer system more
convenient to use in an efficient manner.
 User Friendly: To make the computer system more interactive with a more
convenient interface for the users.
 Easy Access: To provide easy access to users for using resources by acting as an
intermediary between the hardware and its users.
 Management of Resources: For managing the resources of a computer in a better
and faster way.
 Controls and Monitoring: By keeping track of who is using which resource,
granting resource requests, and mediating conflicting requests from different
programs and users.
 Fair Sharing of Resources: Providing efficient and fair sharing of resources
between the users and programs.

Notes by Prof. Apurva Joshi


Examples of Operating Systems

 Windows (GUI-based, PC)


 GNU/Linux (Personal, Workstations, ISP, File, and print server, Three-tier
client/Server)
 macOS (Macintosh), used for Apple’s personal computers and workstations
(MacBook, iMac).
 Android (Google’s Operating System for smartphones/tablets/smartwatches)
 iOS (Apple’s OS for iPhone, iPad, and iPod Touch)

Notes by Prof. Apurva Joshi


What is a Computer Network?

 A computer network is a collection of interconnected devices that share


resources and information. These devices can include computers, servers,
printers, and other hardware. Networks allow for the efficient exchange of
data, enabling various applications such as email, file sharing, and internet
browsing.
 How Does a Computer Network Work?
 Basics building blocks of a Computer network are Nodes and Links. A Network
Node can be illustrated as Equipment for Data Communication like a Modem,
Router, etc., or Equipment of a Data Terminal like connecting two computers
or more. Link in Computer Networks can be defined as wires or cables or free
space of wireless networks.

Notes by Prof. Apurva Joshi


Types of Enterprise Computer Networks

 LAN: A Local Area Network (LAN) is a network that covers a small area, such
as an office or a home. LANs are typically used to connect computers and
other devices within a building or a campus.
 WAN: A Wide Area Network (WAN) is a network that covers a large geographic
area, such as a city, country, or even the entire world. WANs are used to
connect LANs together and are typically used for long-distance
communication.
 Cloud Networks: Cloud Networks can be visualized with a Wide Area Network
(WAN) as they can be hosted on public or private cloud service providers and
cloud networks are available if there is a demand. Cloud Networks consist of
Virtual Routers, Firewalls, etc.

Notes by Prof. Apurva Joshi


How to create and run C program using
CodeBlocks

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
How to compile and run C program in
CodeBlocks

Notes by Prof. Apurva Joshi


My First Program:

 #include <stdio.h>

 int main() {
 printf("Hello, World!\n");
 return 0;
 }

Notes by Prof. Apurva Joshi


Meaning of code

 #include <stdio.h>: This line includes the Standard Input Output library, which
is necessary for using the printf function.
 int main(): This is the main function where the execution of the program
begins.
 printf("Hello, World!\n");: This line prints "Hello, World!" to the console. The
\n is a newline character that moves the cursor to the next line.
 return 0;: This line ends the main function and returns 0 to the operating
system, indicating that the program finished successfully.

Notes by Prof. Apurva Joshi


Steps to Compile and Run:
 Write the code: Save the code in a file with a .c extension, for example, hello.c.
 Compile the code: Open your terminal or command prompt and navigate to the
directory where your file is saved. Use a C compiler like gcc to compile the code:

 gcc hello.c -o hello


 This command compiles hello.c and creates an executable named hello.
 Run the executable: Execute the compiled program by typing:

 ./hello
 You should see the output:

 Hello, World!
Notes by Prof. Apurva Joshi
Algorithms and Flowchart

 A programming algorithm is a process or formula for solving a problem.


 It involves a sequence of specified actions that describe how to perform a task,
which the computer executes consistently.
 An algorithm follows a procedure consisting of inputs and produces a result, known
as the output.
 Example:
Start
Read 3 numbers a,b,c
Compute sum = a+b+c
Compute average = sum/3
Print average value
Stop

Notes by Prof. Apurva Joshi


Advantages of algorithm

 It is a step-wise representation of a solution to a given problem, which makes it


easy to understand.
 An algorithm uses a definite procedure.
 It is not dependent on any programming language, so it is easy to understand for
anyone even without programming knowledge.
 Every step in an algorithm has its own logical sequence so it is easy to debug.
 By using algorithm, the problem is broken down into smaller pieces or steps
hence, it is easier for programmer to convert it into an actual program
 Disadvantages of algorithm.
Writing algorithm takes a long time.
An Algorithm is not a computer program, it is rather a concept of how a program
should be.
Notes by Prof. Apurva Joshi
Flowchart:

 In general, a flowchart is a diagram that uses different symbols to visually


present the flow of data.
 By looking at a flow chart one can understand the operations and sequence of
operations performed in a system.
 This is why flowchart is often considered as a blueprint of a design used for
solving a specific problem.

Notes by Prof. Apurva Joshi


Symbols in flowchart

Notes by Prof. Apurva Joshi


Notes by Prof. Apurva Joshi
Notes by Prof. Apurva Joshi
 Thank You

Notes by Prof. Apurva Joshi

You might also like