Professional Documents
Culture Documents
Full Ebook of Foundations of Computing Pradeep K Sinha Online PDF All Chapter
Full Ebook of Foundations of Computing Pradeep K Sinha Online PDF All Chapter
Full Ebook of Foundations of Computing Pradeep K Sinha Online PDF All Chapter
Sinha
Visit to download the full and correct content document:
https://ebookmeta.com/product/foundations-of-computing-pradeep-k-sinha/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...
https://ebookmeta.com/product/handbook-of-pediatric-surgery-2nd-
edition-chandrasen-k-sinha/
https://ebookmeta.com/product/self-lubricating-composites-second-
edition-p-k-rohatgi-editor-emad-omrani-editor-pradeep-l-menezes-
editor/
https://ebookmeta.com/product/mainframe-experimentalism-early-
computing-and-the-foundations-of-the-digital-arts-hannah-higgins-
editor/
https://ebookmeta.com/product/cognitive-computing-for-risk-
management-1st-edition-sasmita-rani-samanta-pradeep-kumar-
mallick-prasant-kumar-pattnaik-jnyana-ranjan-mohanty-zdzislaw-
Cognitive Computing for Risk Management 1st Edition
Sasmita Rani Samanta Pradeep Kumar Mallick Prasant
Kumar Pattnaik Jnyana Ranjan Mohanty Zdzislaw Polkowski
https://ebookmeta.com/product/cognitive-computing-for-risk-
management-1st-edition-sasmita-rani-samanta-pradeep-kumar-
mallick-prasant-kumar-pattnaik-jnyana-ranjan-mohanty-zdzislaw-
polkowski/
https://ebookmeta.com/product/elementary-flight-dynamics-with-an-
introduction-to-bifurcation-and-continuation-methods-2nd-edition-
nandan-k-sinha/
https://ebookmeta.com/product/50-years-of-bat-research-
foundations-and-new-frontiers-1st-edition-burton-k-lim/
https://ebookmeta.com/product/indirect-tax-reform-in-
india-1947-to-gst-and-beyond-1st-edition-sinha-yashwant-
srivastava-vinay-k/
https://ebookmeta.com/product/institutional-grammar-foundations-
and-applications-for-institutional-analysis-christopher-k-frantz/
FOUNDATIONS OF
COMPUTING
Fifth Edition
Essential for
Computing Studies, Profession and Entrance
Examinations
FOUNDATIONS OF
COMPUTING
Fifth Edition
Essential for
Computing Studies, Profession and Entrance
Examinations
Pradeep K. Sinha
Priti Sinha
www.bpbonline.com
FIRST EDITION 2023
Copyright © BPB Publications, India
ISBN: 978-93-5551-254-3
Distributors:
BPB PUBLICATIONS
20, Ansari Road, Darya Ganj
New Delhi-110002
Ph: 23254990/23254991
MICRO MEDIA
Shop No. 5, Mahendra Chambers,
150 DN Rd. Next to Capital Cinema,
V.T. (C.S.T.) Station, MUMBAI-400 001
Ph: 22078296/22078297
DECCAN AGENCIES
4-3-329, Bank Street,
Hyderabad-500195
Ph: 24756967/24756400
Published by Manish Jain for BPB Publications, 20 Ansari Road, Darya Ganj, New
Delhi-110002 and Printed at Akash Press, New Delhi
www.bpbonline.com
Table of Contents
LETTER TO READERS
PREFACE
ABBREVIATIONS
CHAPTER 7: SOFTWARE
Basic Concepts and Terminologies
What is Software?
Relationship between Hardware and Software
Types of Software
Logical System Architecture
Firmware
Middleware
Acquiring Software
Buying Pre-written Software
Ordering Customized Software
Developing Customized Software
Downloading Public-domain Software
Software Development Life Cycle (SDLC)
Advantages of SDLC Model
Limitations of SDLC Model
Lightweight SDLC Models
Software Design Approaches
Software Implementation
Software Testing and Debugging
What are Testing and Debugging?
Types of Program Errors
Debugging a Program for Syntax Errors
Debugging a Program for Logic Errors
Software Testing Concepts
Testing Methodologies
Test-set-generation Techniques
Test-case-selection Techniques
Software Deployment
Changeover Operations
Changeover Methods
System Evaluation
Software Maintenance
Definition
Need for Software Maintenance
Types of Software Maintenance
Importance of Software Maintenance
Controlling Modifications
Tools for Effective Software Maintenance
Software Documentation
What is Documentation?
Need for Documentation
Forms of Documentation
Documentation Standard
Software Engineering
What is Software Engineering?
Need for Software Engineering
Goals of Software Engineering
Principles of Software Engineering
Some Popular Application Software Packages
Word-processing Package
Spreadsheet Package
Graphics Package
Personal-assistance Package
Education Software
Entertainment Software
Points to Remember
Questions
GLOSSARY
INDEX
Dear Reader,
A book that connects well with your thoughts and learning
process can be written undoubtedly by an author who
shares the same thoughts, understanding, and passion for
learning as yours.
Over three decades ago, I introduced my first book with a strong
conviction to the above statement. That commitment continues even
today. I am committed to writing quality books in Computer Science
and associated areas for my readers. To date, I have authored six
textbooks targeted towards this endeavor, and plan to author more
in future.
Wide popularity of my books clearly indicates the support that I have
received from my readers. I express my gratitude and regards to all
my readers for their support and feedback. Your support provides
greater strength and inspires me to work harder towards my
commitment. I look forward to your continued encouragement.
Yours truly,
Pradeep K. Sinha
January 2023
Preface
Audience
The current edition of Foundations of Computing is based on the
feedback from academia, industry, and candidates preparing for
entrance examinations.
Academia
Several academic institutions today offer degree/diploma/certificate
programs in Computer Science (CS),Computer Applications
(CA), Information Technology (IT), and other related areas.
Few examples of such programs are BE (CS), BE (IT), B.Tech (CS),
B.Tech (IT), MCA, MCS, MCM, M.Sc. (IT), BCA, BCS, B.Sc. (IT), DCA,
PGDCA, C-DAC's Pre-DAC and Diploma programs, and DOEACC
Certificate Courses.
The primary objective of these education programs is to impart
knowledge of the various topics in CS, CA, and IT to their students
to meet the industry's demand for IT professionals. Hence, these
programs include various foundation courses in CS, CA, and IT, such
as Computer Organization, Programming Fundamentals, Digital
Systems Design, Data Structures, Operating Systems, Software
Engineering, Computer Networks, and Information Security. Since
long time, both students and faculty members have wished for a
single comprehensive book that can provide a good coverage of the
essentials of these foundation courses in a consistent style.
Foundations of Computing is designed to meet this requirement of
academia.
Industry
Different IT professionals specialize in different areas. A few such
areas are System Analysis and Design, Application Programming,
System Programming, Data Science, Network Management, and
System Administration. A professional working in one such area
often needs the understanding of other areas for effective delivery of
his/her tasks. For example, a system administrator needs to refer to
topics in operating systems, networking, security, and computer
architecture to perform his/her job effectively. Similarly, an
application programmer needs to refer to topics in software
engineering, operating systems, security, networking, database
management, and computer architecture to develop good
applications. Often, IT professionals refer to the topics in other areas
for broadening their knowledge for their professional growth. This
requires them to refer to multiple books by different authors. Since
long time, they have desired to have a single book that covers all
these topics in sufficient depth. They expect the book to serve as a
good handbook (reference material) for various topics in CS, CA, and
IT to save them from the hassles of purchasing and referring to
multiple books. Foundations of Computing is designed to meet this
requirement of IT professionals.
Usages
Although, Foundations of Computing is suitable for a wide range of
readers, its four primary usages are as follows:
Textbook
Foundations of Computing is suitable for use as a textbook for the
various foundation courses taught in Master's, Bachelor's, Diploma,
and Certificate programs in Computer Science (CS), Computer
Applications (CA), and Information Technology (IT). Textbook style
of presentation of the topics covered in the book and the Lecture
Notes Presentation Slides included with the book make it suitable for
use as a textbook for such courses. Hence, we recommend its use as
a textbook for several foundation courses taught in CS, CA, and IT
programs.
Reference Book for Students
Where Foundations of Computing is not a prescribed textbook,
students will still find it useful to have it as a reference book. As the
book covers most of the important topics that students of CS, CA,
and IT programs learn during their education programs, they will
find it handy and useful as a reference book during the entire period.
The book will also serve as a good reference book after they
complete their education programs and enter into their professional
career. Hence, we recommend every student of CS, CA, and IT
programs to keep a copy of the book handy and refer to it whenever
required during and even after their education programs.
Reference Book for Professionals
As Foundations of Computing covers the important topics of IT
profession, IT professionals will find it a useful reference book for
addressing their needs. Hence, we recommend every IT professional
to keep a copy of the book and refer to it whenever required during
their professional career.
Preparation Book for Entrance Examination
Candidates
Candidates preparing for entrance examinations for admissions to
several educational institutions/programs and entrance tests for
many types of jobs will find the book handy and useful for preparing
for various topics of CS, CA, and IT. Such candidates will find the
book and its Lecture Notes Presentation Slides the most suitable
material for this purpose. Once they qualify in their desired
examination, they can use the book later as a good reference book
while pursuing their education programs or professional career.
Features
Overall Features
The layout, organization, and contents of the book are carefully
designed to present the various topics of foundation courses in CS,
CA, and IT in an interesting, logical, and informative manner. The
book does not concentrate on any particular computer system or
hardware. Instead, it discusses, in a general setting, the
organization, functions, programming, and usage principles
applicable to all types of computer systems.
All concepts presented in the book are illustrated with practical
examples whenever required. The book also contains numerous
diagrams for better illustration. These features enable the readers to
grasp the presented concepts easily and to use the book effectively
for self-study.
Each chapter contains a section on ‘Points to Remember’that
highlights the important points covered in the chapter.
Each chapter also contains a number of review questions that test
the understanding of the topics covered in the chapter.
The book contains a separate list of abbreviations used in the book,
and a glossary of important terms.
To make the contents interesting to read and easily understandable,
the style of presentation used throughout the book is motivational,
non-mathematical, and explanatory in nature.
The book contains a set of presentation slides for each chapter in
the form of Lecture Notes Presentation Slides. It can serve as lecture
aid, self-paced learning aid, and revision material.
All these features make the book ideal for all types of audience
mentioned earlier.
Contents
The book begins with an introduction to computers. Chapter 1
explains the characteristics of this versatile tool, and its evolution
from its early days to different types and forms in which it is
available today.
Chapter 2 deals with the internal data representation in computers
and the manner in which computers perform various basic
operations (comparison, sorting, addition, subtraction, multiplication,
division, etc.) on these data. It begins with the fundamental
concepts of number systems and examples of popular number
systems that are commonly used by computer professionals. It then
presents the popular coding schemes, which computers use to
record data internally.
Chapter 3 deals with the design of digital systems. It begins with an
introduction to Boolean algebra. It then explains how Boolean
algebra, logic gates and flip-flops are used to design digital circuits.
It illustrates the design of digital circuits (both combinational and
sequential) with suitable examples.
Chapter 4 presents an overview of computer system architecture. It
first introduces the basic functional units of a computer system and
then deals with the architectures of processor and memory.
Subsequently, it presents interconnection architectures for
interconnecting the processors, memory, and I/O units. It also deals
with multiprocessor system architectures.
Chapter 5 presents the terminologies, principles of operation, uses,
and trade-offs of different types of secondary storage devices. It also
describes memory storage devices, mass storage devices, RAID
storage, storage interfaces, various options available for processor-
to-storage connectivity (DAS, SAN, and NAS), data backup, and
Hierarchical Storage System (HSS).
Chapter 6 presents the structure and functioning of various types of
I/O devices. It also describes the commonly used types of I/O
interfaces for connecting I/O devices to computer systems.
Chapter 7 introduces the concept of software and explains the need
for both hardware and software for a computer to do useful job. It
describes the various types of software, and the different ways to
acquire or develop software. It presents Software Development Life
Cycle (SDLC) phases, software design approaches (top-down,
bottom-up, and out-of-the-middle), software testing methodologies,
software deployment methods, software maintenance, software
documentation, and software engineering. It also introduces some
popular application software packages.
Chapter 8 deals with the tools that are commonly used for planning
the logic of computer programs. These include flowcharts, decision
tables, and pseudocodes. It also presents the various types of data
structures used in programming. These include array, linked list,
stack, queue, hash table, tree, binary search tree, graph, and heap.
Chapter 9 deals with the programming languages that are commonly
used for writing computer programs. It describes the various
program development tools such as compiler, linker, interpreter,
intermediate language compiler and interpreter, preprocessor, and
postprocessor. It then explains how to choose a programming
language for coding an application.
Chapter 10 presents the need, functionalities, and major
components of an operating system. It deals with the basic design
principles of major components of an operating system, including
process management, memory management, file management,
device management, and command interpretation modules. It also
introduces some popular operating systems (Unix, MS-DOS, MS-
Windows, Linux, MacOS, iOS, WatchOS, Android OS), and some
special types of operating systems (real-time, network, and
distributed operating systems).
Chapter 11 deals with database and data science. It explains the
difference between data and information, and the process of
converting data into information. It describes data storage hierarchy,
standard methods of organizing data, difference between File
Management Systems (FMS) and Database Management Systems
(DBMS), and types of database systems. It also presents the basic
concepts of data science and the stages involved in finding useful
patterns in data to help decision makers make meaningful decisions.
Finally, it introduces the concept of data warehousing and data
mining, and explains the difference between them.
Chapter 12 deals with data communication technologies and their
use in building various types of computer networks. It describes the
techniques, channels, and devices, which communication systems
use to communicate data from one location to another. It then
describes the various types of computer networks, communication
protocols, internetworking tools, wireless communication
technologies, and wireless networks. It also describes a few
paradigms of distributed computing systems, such as grid computing
and cloud computing.
Chapter 13 describes the Internet, its various uses, and tools and
technologies available to the Internet users for making effective use
of the resources on the Internet. It also describes the Internet of
Things (IoT), the new generation of the Internet.
Chapter 14 explains multimedia computing systems and their
applications. It deals with the hardware and software requirements
for processing various multimedia data types (text, graphics,
animation, audio, and video), data compression techniques, and
multimedia synchronization techniques. It also introduces media
center computer, which is a popular electronic equipment used in
homes.
Chapter 15 deals with the security requirements of computer
systems and the various policies and mechanisms, which computer
systems use to deal with them. It describes potential attacks to
computer systems (passive and active type attacks), cryptography
(symmetric and asymmetric cryptosystems), authentication
mechanisms (in stand alone and networked systems), access control
mechanisms, digital signature, firewall, software piracy protection, e-
mail security, IPSec., Secure Socket Layer (SSL), Transport Layer
Security (TLS), Secure Electronic Transaction (SET), Public Key
Infrastructure (PKI), and steganography. It also presents the
guidelines for designing secure systems, and introduces cyber laws,
cyber forensics, and CERT (Computer Emergency Response Team).
Chapter 16 deals with a few popular application domains including e-
governance, geoinformatics, medical informatics, and bioinformatics.
Acknowledgement
A book of this type naturally evolves from a number of ideas from
previous books dealing with the subject matter presented in this
book. The authors express their thanks to all these authors, too
numerous to acknowledge individually.
We are indebted to all the readers and other experts who have used
the earlier editions of this book and have provided valuable inputs
about its contents. Their inputs have helped in gradually improving
the quality of the book from one edition to another.
We are thankful to Mr. Gaur Sunder for providing valuable inputs on
technical contents of the book. His inputs have helped in improving
the book's quality.
We are thankful to Mr. Akash Mondal and Mr. Harshit Poddar for
designing the cover of this edition of the book, and to Mr. Rajeev
Rudrakshi for his help in improving the quality of the Lecture Notes
Presentation Slides.
We are thankful to Mrs. Sushma Pawar, Mrs. Prajakta Kulkarni, Mrs.
Arpita Kulkarni and Mr. Sandeep Kesavan for their support activities.
We are also thankful to Mr. Manish Jain and other members of BPB
Publications for their support and help in publishing the work.
Finally, we would like to thank our son, Deeptanshu, for his loving
support and understanding during the entire period of this long
project.
We dedicate the book to our parents whose sacrifices, love, and
affection made us capable of carrying out such work.
Pradeep K. Sinha
Priti Sinha
January 2023
About Lecture Notes
Presentation Slides
Foundations of Computing is widely adopted as a textbook for
various courses in Computer Science, Computer Applications,
Computer Engineering, Information Technology, and related areas by
many universities, colleges, and training institutions. Faculty
members and students have praised the book's contents and its
presentation style. They have also provided valuable feedback to
increase its usefulness.
Need for lecture notes in the form of presentation slides, is an
important feedback received from many faculty members. On the
other hand, several students have requested for a quick review
material based on the book's contents to enable them to quickly
recall the knowledge gained from the book just before an
examination or interview.
To address these requirements, we have thoughtfully prepared and
included lecture notes presentation slides with the book. It contains
chapter-wise Portable Document Format (PDF) files. Each chapter's
PDF file has presentation slides covering the main points of that
chapter.
The lecture notes presentation slides is not a substitute for the
textbook. They complement each other. Hence, real benefits can be
derived when the book and lecture notes presentation slides are
used as mentioned here.
We believe that the book and the lecture notes presentation slides
together form the best instructional package currently available to
faculty members for teaching the topics covered in the book.
Use by Students
Students should primarily use the book for acquiring knowledge on
the topics covered. This is because the lecture notes presentation
slides cover only the main points and not full details and explanation
of the subject being dealt with. Hence, students can use the lecture
notes presentation slides to:
1. Browse through the main points of a chapter before going to
the class on the day that chapter is to be taught. This will
enable them to have better understanding of the topics being
taught in the class.
2. Review just before an examination or interview the main points
of the topics they have already learnt through the book.
Normally, students do not have sufficient time just before their
examination or interview to go through the contents of the
book.
How to Access the Lecture Notes Presentation
Slides
Follow the following steps to access the lecture notes presentation
slides:
1, 2, 3, 4, 5
1G First Generation
2G Second Generation
3D Three Dimensional
3G Third Generation
4G Fourth Generation
4GL Fourth Generation Language
5G Fifth Generation
5GL Fifth Generation Language
A
A Accumulator register
A/D Analog-to-Digital
ABC Atanasoff Berry Computer
ACL Access Control List
ACM Association for Computing Machinery
AHCI Advanced Host Controller Interface
AI Artificial Intelligence
AL Arbitrated Loop
ALGOL ALGOrithmic Language
ALU Arithmetic Logic Unit
AM Amplitude Modulation; Manufacturing
AMD Advanced Micro Devices
AMPS Advanced Mobile Phone System
ANSI American National Standards Institute
AOL America OnLine
APL A Programming Language
ARPANE Advanced Research Project Agency Network
T
AS Authentication Server
ASCII American Standard Code for Information Interchange
ASD Adaptive Software Development
ASP Agile Software Process
ATA Advanced Technology Attachment
ATM Automatic Teller Machine; Asynchronous Transfer Mode
B
B2B Business to Business
BARC Bhabha Atomic Research Centre
BASIC Beginners All-purpose Symbolic Instruction Code
BCD Binary Coded Decimal
BIOS Basic Input Output System
BIPS Billions of Instructions Per Second
B-ISDN Broadband ISDN
BLOBs Binary Large OBjects
BMP Basic Multilingual Plan
BNA Burroughs Network Architecture
BOT Beginning-Of-Tape
BPI Bytes Per Inch
BPS Bytes Per Second
BSD Berkeley Software Distribution
BSNL Bharat Sanchar Nigam Limited
C
C# C sharp
CA Certification Authority
CAD Computer Aided Design
CAE Computer Aided Engineering
CAM Computer Aided Manufacturing
CAN Campus Area Network
CASE Computer Aided Software Engineering
CAV Constant Angular Velocity
CBC Cipher Block Chaining
CBQ Content Based Querying
CBR Content Based Retrieval
CCITT Consultative Committee for International Telephony and
Telegraphy
CD Compact Disk
C-DAC Centre for Development of Advanced Computing
CDC Control Data Corporation
CDMA Code Division Multiple Access
CDPD Cellular Digital Packet Data
CD-R CD-Recordable
CD- Compact Disk Read Only Memory
ROM
CD-RW CD Read/Write
CERT Computer Emergency Response Team
CGA Color Graphics Adapter
CGI Common Gateway Interface
CHS Cylinder Head Sector
CISC Complex Instruction Set Computer
CL Command Language
CLI Common Language Infrastructure; Command Line
Interface
CLR Common Language Runtime
CLV Constant Linear Velocity
CNC Computer Numeric Control
COBOL COmmon Business Oriented Language
CODAS Conference On DAta SYstems Languages
YL
COM Computer Output Microfilm; Component Object Model
CORBA Common Object Request Broker Architecture
Another random document with
no related content on Scribd:
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law in
the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name
associated with the work. You can easily comply with the terms of
this agreement by keeping this work in the same format with its
attached full Project Gutenberg™ License when you share it without
charge with others.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the terms
of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
• You pay a royalty fee of 20% of the gross profits you derive from
the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth in
paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.