(IJCST-V8I5P11) :dr. Mamillapally Raghavender Sharma
(IJCST-V8I5P11) :dr. Mamillapally Raghavender Sharma
(IJCST-V8I5P11) :dr. Mamillapally Raghavender Sharma
ABSTRACT
The industry and society requirements and technologies have been steadily and rapidly increasing. The technological
advancement witnessed in the computer industry is the result of a long chain of immense and successful efforts made by two
major forces are: academia, and the industry. Organizational domains are increasingly opting for open source systems. Due to
that reason computers are used as control systems for a wide variety of industrial and consumer services. Computer systems have
conventionally been defined through their interfaces at a number of layered abstraction levels, each providing functional support
to its predecessor. Tremendous computer history was started with the invention of a machine called abacus by Chinese in around
before 3000 years in Babylonia. After that time period, conceptual changes were not made until 16th century. In the period, 19th
century Jacquard invented an automatic loom operated by a mechanism which was operated using punched cards technique. At
the same time, a device which was provision to modern computer developed by Charles Babbage a mathematician and computer
pioneer in same century. This provides a base for modern computer. More sophisticated electrical machines did specialized
analog calculations in the early 20th century. In this paper, we discuss main important rudimentary foundations of a traditional
and modern computer.
Keywords—Computer, Processor, Abacus, Jacquard Loom, Input, Process, Output, BIOS, Compiling, Optimization, algorithm,
Sophisticated, Flowchart
I. INTRODUCTION
The first known use of the word “computer” was in 1643 in components, and the performance specifies the behavior of
a book called “The Young Mans Gleanings”. Abacus also the computer system.
called a counting frame is used for to do systematic
calculations. After many inventions in 19th century Charles
Babbage developed his differential and analytical engine. This
device had provisions for inputting the data, performing
arithmetic operations, printing output results, and storing the
data. It resembles the exact architecture of recent computer.
That’s why he is called father of modern computer. We are all
familiar with calculations in our day-to-day life. We apply
mathematical operations like addition, subtraction,
multiplication, and division etc. and many other formulae for
calculations. Simple calculations take less time to complete.
But complex calculations take much longer time. Similarly
another factor is accuracy in calculations. So, man explored
with the idea to develop a machine, which can perform all
arithmetic calculation faster with full accuracy and perform
special tasks at a very high speed of operation. This gave birth
to a machine called ‘computer’. The term Computer is derived
from ‘compute’ which means ‘to calculate’. Fig. 1. Functional diagram of a generalized computer
You have already experienced the impact of computers in
our day to-day life. Now-a-days computers are used in every A computer can be compared with a magic box, which
field. Reservation of tickets in air lines and railways, payment serves different purpose to different people. During the
of telephone and electricity bills, deposits and withdrawals of processing the computer has to perform various functions
money from banks, business data processing, medical such as receives data (input), processes data (processing),
diagnosis, Weather forecasting, etc. are some of the areas and produces desired result (output) and stores results
where computer has become extremely useful. A different (storage) in the memory to retrieve in the future [1], [2]. The
definition of computer architecture is built on four basic computer gives impression that it is a calculating machine but
viewpoints. These are the structure, the organization, the really computer can do several jobs other than calculations.
implementation, and the performance. In this definition, the Though a computer can do several jobs, but it can’t do on its
structure defines the interconnection of various hardware own decision. A computer user should instruct the computer
components, the organization defines the dynamic interplay in order to achieve some specific goal. Moreover, a computer
and management of the various components, the is a combination of hardware and software, which are used for
implementation defines the detailed design of hardware processing and storing the data. Data, the plural form of
datum refers to raw material, observations, figures, and computer and makes it easier and more efficient to use the
statistics that are often without meaning. computer. In other hand, application software is designed to
perform people-related tasks such as payroll, inventory, and
• Inputting sales analysis. A programs by which perform the predefined
• Processing instruction in machine memory called firmware. Examples of
firmware are ROM, PROM, EPROM etc. And human beings
• Outputting who are used the computer are called human ware.
It gets the data through an input device, processes the data
using processor, and gives the desired output using output A. Advantagesand Disadvantages of computers
device. A computer can be defined as “A computer is a Computer plays a vital role in processing of data in an
versatile electronic device which takes the data from external organization or a field. Computers help in processing volume
world using input devices, processing that data into useful of data efficiently and accurately within short period of time
information with the help of a processor, and produce the [3].
results as our requirement.”
The characteristics which make a computer indispensable
In a computer terminology some technical terms are: are:
Table. 1. Technical terms 1. Speed
The computer is able to process the data and gives the
TERM MEANING output in fractions of seconds, such that required information
Data Set of basic raw facts is given to the user on time enabling the user to take right
decisions on right time. A powerful computer is capable of
Information Processed, meaningful data executing about 3 million calculations per second.
Instruction A command given to 2. Accuracy
computer in order to perform The accuracy of computer defines as which avoids errors
specific task in calculations and gives exact results. If in an output we get
Inputting Enter the data into computer errors, these errors are due to errors in instructions given by
the programmer, i.e. a computer follows garbage-in-garbage-
Processing Manipulation of information out principle.
Outputting Getting final results in the 3. Reliable
form of our desire after The output generated by the computer is very reliable, but
processing it is reliable only when the data, which is passing as input to
the computer and the program, which gives instructions are
Bus Group of Wires, used for correct.
transfer data between
registers. It can be divided 4. Storage Capacity
into three types: Data bus, The computer has a provision to store large volumes of
Control Bus, Address Bus data in the small storage devices, which have capacity to store
huge amounts of data and help the retrieval of data in an easy
Data Bus Used to move the Data in a task.
computer
5. Versatility
Address Bus To move Address or Memory Computers are very versatile machines. Computers are
location capable of performing almost many tasks at a time, provided
Control Bus To send Control Signals the task can be reduced to a series of logical steps.
between various parts of a 6. Atomicity
computer Once the instructions fed into computer it works
automatically without any human intervention until the
Every computer consists of basic elements such as completion of execution of program or meets logical
Hardware, Software, Firmware, and Human ware. Physical instructions to terminate the job.
components of a system are called as hardware. The hardware 7. Diligent
wound not work without set of programs. Hardware is little A computer is free from tiredness, lack of concentration,
different to any other complex piece of electronic machinery. fatigue, etc. It can work for hours without creating any error.
The set of programs which control the activities of computer If millions of calculations are to be performed, a computer
system or which may be processed on computer to do some will perform every calculation with the same accuracy. Due to
useful work is called as software. this capability it overpowers human being in routine type of
The software directs and guides the each part of computer work.
system including CPU. In other words, software means 8. Communication
collection of programs whose objective is to enhance the A computer communicates with other systems even in
capabilities of hardware. Software can be classified as: system remote places.
software, and application software. System software controls
and monitors the various activities and resources of a Disadvantages
Computers can success in every field of modern era. But Analog computers are used in situation where data not to be
computers have some limitations. transferred into bits.
Dependency: Computers cannot think on its own decision. Digital computers: Today most of all computers are come
Human beings should instruct them in order to make work under this category. These types of computers mainly
them. programmed for represent and store the data in discrete
values. Computers use binary system to store the data and
No I.Q: Computers cannot have an I.Q i.e. they cannot learn information. Although, human being enters the data in
from past experience on its own. decimal form computer can convert that data into binary form.
Environment: The operating environment of the computer They use digital circuits and are designed to operate on two
should be dust free and suitable. states, namely bits 1 and 0. They are analogous to states ON
and OFF. Data in this type of computers is represented as a
No Feeling: Computers have any feelings or emotions. And it series of 0s and 1s. Digital computers are suitable for complex
cannot make judgment on feeling, taste, experience, and computations and have higher processing speeds. Digital
knowledge unlike humans. computers are either general purpose computers or special
purpose ones. If there are discrete values in input values then
B. Classifications of computers digital computers are used which means data is transmitted
The classification of computers is based on the following for its operation in the form discrete signals (or discontinuous
four criteria [2], [4]. signal). Examples of digital computers include the Mac Book,
IBM PC, the Apple Macintosh as well as modern smart
1) According to purpose: according to purpose, phones.
computers divided into following two groups.
Hybrid computers: These computers are mainly used in AI
General purpose: These computers are theoretically used (Artificial Intelligence), robotics, and other computer aided
for any type of applications i.e. not only for specific goal but manufacturing such as process control. This category of
also for all purposes. These computers can be used in solving computers corporate into technology of both analog and
a business problem and also used to solve mathematical digital computers functions and operations. This category
equation with same accuracy and consistency. Most of the computers store and process analog signals using analog-
computers used now-a-days are general purpose digital digital converters and digital signals using digital-analog
computers. Personal computers, including desktops, converters. These computers are a combination of both digital
notebooks, smart phones and tablets, are all examples of and analog computers. In this type of computers, the digital
general-purpose computers. Computers that follow segments perform process control by conversion of analog
instructions for general requirements such as sales analysis, signals to digital ones. Example for a hybrid computer system
financial accounting, inventory and management information is a cement plant where all calculations are made by digital
etc. in modern era, almost all computers which are used in systems (digital computers) and accordingly action such as
fields such as commercial, educational, and the applications increase of certain material in the furnace and
are general-purpose are treated as general purpose computers. increase/decrease of fuel for temperature is performed by the
Special purpose: Computers which are used for to help of analog system.
do special tasks such as scientific, research applications,
weather forecasting, medical diagnostics etc. are comes under
special purpose computers. Examples for special purpose
computers are: home appliances, toys and games, cash
machines, and vehicle computers.
2) According to technology used: according to technology
(operational function) used computers are grouped into three
categories.
Analog computers: Analog computers are special purpose
computers which are programmed for measuring physical
quantities that represent and store the data in continuously
varying physical quantities such as electricity, voltage, or
frequency. These computers are mainly used in engineering,
and scientific applications. Example: thermometer, and
speedometer. Means a analog computer that performs
arithmetical operation by measurable quantities, such as
mechanical movement, the rotation of gears rather than by
number. The word analog is derived from the Greek ana-
Fig. 2. Computer types according to technology
logon, meaning "according to a ratio". These are almost
extinct. An analog computer can perform several 3) According to memory and size: according to this
mathematical operations simultaneously also. Everything we category, computers are divided into five types.
see and hear is change continuously. In Analog computers,
data is transmitted for its operation in the form of continuous Micro computers: Microcomputers are the smallest
signals. Examples of analog computer are Speedometer, category of computers consisting of a microprocessor and
resistance of capacitor, frequency of signal and voltage etc. associated storage and I/O elements. These are designed to be
used by single user oriented operating system i.e. one user per Personal Digital Assistants (PDAs): It is a handheld
a session. A computer with a microprocessor and its central computer and popularly known as a palmtop. It has a touch
processing unit is known as a microcomputer. Inside the screen and a memory card for storage of data. PDAs can also
microcomputer, the arithmetic and control unit is combined be used as portable audio players, web browsers and smart
on a single chip called a microprocessor. They do not occupy phones. Most of them can access the Internet by means of
much space. Microcomputers are considered to be two types; Bluetooth or Wi-Fi communication.
PC and work stations. PC varieties are desktop, tower,
portable computers that can run easy-to-use programs such as Tablet Computers: Tablets are mobile computers that are
word processing or spreadsheets. A monitor, a keyboard and very handy to use. They use the touch screen technology.
other similar input-output devices, computer memory in the Tablets come with an onscreen keyboard or use a stylus or a
form of RAM and a power supply unit come packaged in a digital pen. Apple’s iPad redefined the class of tablet
microcomputer. These computers can fit on desks or tables computers.
and prove to be the best choice for single-user tasks.
Large computers: These types of computers are having
Mini computers: Mini computers provide the facility of high storage capability and high operation capability to
more storage capacity and communication link between users. support many powerful peripheral devices. Example:
When compare with micro computers minicomputers fast in mainframe computers. Large organizations use mainframes
operation. These are designed for use multiple user oriented for highly critical applications such as bulk data processing
operating system. In terms of size and processing capacity, and ERP. Most of the mainframe computers have capacities to
minicomputers lie in between mainframes and host multiple operating systems and operate as a number of
microcomputers. Minicomputers are also called mid-range virtual machines. They can substitute for several small
systems or workstations. The term began to be popularly used servers. Mainframes are very large computers with a very
in the 1960s to refer to relatively smaller third generation high capacity of main store. Because they can process large
computers. They took up the space that would be needed for a amounts of data are very quickly; big companies, banks,
refrigerator or two and used transistor and core memory government departments as their main computer use them.
technologies. The 12-bit PDP-8 minicomputer of the Digital They can be linked into a network with smaller departmental
Equipment Corporation was the first successful computers. Microcomputers or with each-other. They act as
minicomputer. hosts of larger national and international communication
Wearable Computers: A record-setting step in the evolution networks, handling hundreds of users at same time. Some
of computers was the creation of wearable computers. These examples of mainframes are IBM 4381, ICL (International
computers can be worn on the body and are often used in the Computers Limited) 39 series and CDC (Control Data
study of behavior modeling and human health. Military and Corporation) cyber series.
health professionals have incorporated wearable computers Servers: They are computers designed to provide services to
into their daily routine, as a part of such studies. When the client machines in a computer network. They have larger
users’ hands and sensory organs are engaged in other storage capacities and powerful processors. Running on them
activities, wearable computers are of great help in tracking are programs that serve client requests and allocate resources
human actions. Wearable computers do not have to be turned like memory and time to client machines. Usually they are
on and off and remain in operation without user intervention. very large in size, as they have large processors and many
Medium computers: hard drives. They are designed to be fail-safe and resistant to
crash.
Desktops: A desktop is intended to be used on a single
location. The spare parts of a desktop computer are readily
available at relatively lower costs. Power consumption is not
as critical as that in laptops. Desktops are widely popular for
daily use in the workplace and households.
Laptops: Similar in operation to desktops, laptop computers
are miniaturized and optimized for mobile (portable) use.
Laptops run on a single battery or an external adapter that
charges the computer batteries. They are enabled with an
inbuilt keyboard, touch pad acting as a mouse and a liquid
crystal display. Their portability and capacity to operate on
battery power have proven to be of great help to mobile users.
Fig. 3. A computer server based sales processing system
Notebooks: They fall in the category of laptops, but are
inexpensive and relatively smaller in size. They had a smaller Extra large computers: In this category, computers are
feature set and lesser capacities in comparison to regular categorized by their very large and very processing speed.
laptops, at the time they came into the market. But with These are generally used for complex scientific applications.
passing time, notebooks too began featuring almost
Supercomputers: The highly calculation-intensive tasks can
everything that laptops had. By the end of 2008, notebooks
be effectively performed by means of supercomputers.
had begun to overtake laptop in terms of market share and
Quantum physics, mechanics, weather forecasting, molecular
sales. theory are best studied by means of supercomputers. Their
ability of parallel processing and their well-designed memory
hierarchy give the supercomputers, large transaction 6) CISC (Complex Instruction Set Computer)
processing powers. Examples of supercomputers are CARY A complex instruction set computer is a computer in
XMP-24 and NEC-500, and PARAM developed in India. which single instructions can execute several low-level
operations (such as a load from memory, an arithmetic
4) Harvard architecture computer operation, and a memory store) or are capable of multi-step
The Harvard architecture is computer with separate operations or addressing modes within single instructions.
storage and signal pathways for instructions and data. It CISC is most often used in automation devices whereas
contrasts with the von Neumann architecture, where RISC is used in video and image processing applications.
program instructions and data share the same memory and When microprocessors and microcontroller were first being
pathways. introduced, they were mostly CISC. This was largely because
of the lack of software support present for RISC development.
Some examples of CISC microprocessor instruction set
architectures (ISAs) include the Motorola 68000 (68K), the
DEC VAX, PDP-11, several generations of the Intel x86, and
8051.
7) RISC (Reduced Instruction Set Computer)
RISC-based machines execute one instruction per clock
cycle. The RISC architecture will need more working (RAM)
memory than CISC to hold values as it loads each instruction,
acts upon it, then loads the next one. The RISC instruction set
requires one to write more efficient software (e.g., compilers
or code) with fewer instructions. Examples of processors with
Fig. 4. Specimen Harward architecture the RISC architecture include MIPS, PowerPC, Atmel’s
AVR, the Microchip PIC processors, Arm processors, RISC-
Relatively pure Harvard architecture machines are used V, and all modern microprocessors have at least some
mostly in applications where trade-offs, like the cost and elements of RISC.
power savings from omitting caches, outweigh the
programming penalties from featuring distinct code and data C. Operating System Concepts
address spaces. The principal advantage of the pure Harvard In order to operate a computer an OS is must. An
architecture—simultaneous access to more than one memory operating system is a collection of programs that control the
system—has been reduced by modified Harvard processors operation of all hardware and other resources in the computer
using modern CPU cache systems. system. A program is collection statements to achieve desired
5) Von Neumann architecture result. It co-ordinates, and manages all resources of a
computer. User programs interact with operating system using
The Von Neumann architecture is a theoretical set of extended instructions. These instructions are called
computer design based on the concept of stored-program “system calls”. These system calls are used to create, delete
where programs and data are stored in the same memory. The and use various software objects that are manages by the
concept was designed by a mathematician John Von Operating systems. The following are common in any
Neumann in 1945 and currently serves as the foundation of Operating system. Various types of operating system
almost all modern computers. Neumann machine consists of a components are: Process, Files, System Calls, and the shell.
central processor with an arithmetic/logic unit and a control Booting Process means Load the OS into the Computer [5],
unit, a memory, mass storage and input and output. The von [6].
Neumann architecture, where program instructions and data
share the same memory and pathways. Types of Operating systems
Operating systems are basically capable to do all functions
but the way of processing or approach of the systems may
vary from one Operating System to another. The following
basic types of operating systems are
1. Batch Processing Systems
2. Interactive Operating systems
3. Multi-Programming Operating Systems
4. Multi-Processing Operating Systems
5. Multitasking systems
6. Multi-user Operating systems
7. Virtual storage systems
8. Multi processor OS
9. Network OS
Fig. 5. Neumann architecture computer
2) deciding which processes are to be loaded into memory Following are features of Windows-XP
when memory when memory space becomes available. 1) Developed Interface.
3) Allocating and Deallocating memory memory space is 2) Long File Name.
needed.
3) Windows Explorer.
Security Management: Operating System also provides us
Sharing of Files between Multiple Users, and also Provides 4) Games and Multimedia facility.
Security among users by using user names and passwords for 5) Similarity with the previous program.
login: Check Programs, Monitor Program, Basic input/output
System (BIOS) Program, Utility Programs, and File 6) Easy Postal Service.
Maintenance Programs. 7) 32-bit Multitasking.
I/O Management: One of the purposes of an operating
system is to hide the peculiarities of specific h/w devices from 8) Plug and hardware similarity.
the user. For Example: in UNIX. The peculiarities of I/O 9) Network Facility.
devices are hidden from the bulk of the O.S.
Examples of OS include: Windows versions, UNIX, LINUX, Basics of windows
MS-DOS (Disk Operating System). 1) Icon: Icons are small graphical images that can represent
Windows Introduction you computer’s Programs, files, folders and amongst other
Windows is software tools which help to do our work things. Folder and shortcut is type of ICON. The Folder is a
easily. It is easy to learn. Windows is a link between Dos and work as directory and shortcut work to execute the program.
us, which provides us the faculty to do all the work of DOS To activate an icon you double click (two click in quick work
without exercising in DOS. Windows is also known as succession) on it with the left mouse button, this will activate
graphical user interface (GUI). Windows is made by the icon and either start a program or open a file/folder. The
Microsoft Company. That is why it is called Ms- win-down icons on your desktop can be renamed by right clicking on
windows control ass the work of computer simply and them and selecting rename, similarly they can be deleted by
effectively. To do any work in previously popular operating right clicking on and selecting delete. You can easily create
system Dos, the commands of Dos had be written, they had to your own icons for your favorite programs, folders, etc
be kept in mind but windows has make it easier, whatever 2) Desktop: The vertical screen of windows XP is called
work is performed. Windows is an operating system for PC’s. Desktop. When we switch on CPU power, then booting
Windows 95 is one of the most popular versions of it. Which process of computer is started. After completing of booting
is manufactured by Microsoft Company of America in 1985? process the loading of windows is started. At the end screen
It is a single user multitasking operating system. It can do will be appear, called Desktop. There are many objects on the
business and personal job both in very efficient way. Desktop. Only useful objects are appearing on the Desktop.
Windows 98 is another version of windows. In this section we There are many objects are: My Computer Recycle Bin, My
will discuss about windows-XP. Actually windows are the network places, task Bare Start Menu, Files and Folders,
result of research work on GUL (Graphical User Interface). shortcuts. These objects are shows on the Desktop with the
Xerox Corporation did this research work after 1980. The first help of small pictures. The name of that objects is given
computer, which was developed by this corporation, is Xerox below the picture it is called icon of object. If necessary, then
other objects can be put on the Desktop.
Star, but GUI was popular when Apple computers made
Macintosh computer [11]. Some Permanent Icons of the Desktop
1. My Computer
The developments of Windows in different years are as
follows. 2. My Document
Table. 2. Traditional Microsoft Windows OSs 3. Internet Explorer
4. My Network Places
5. Recycle Bin
3) Taskbar: The bottom strip of Desktop is called
Taskbar. “Start” menu and other buttons are available, on the
Taskbar such as show Desktop, Launch Internet Explorer
Browser, Launch Outlook Explorer, Anti Virus, Sound Effect,
Volume, Clock etc. when we Start any Program or open any
Windows, a button related to that Windows will be appear on
the Taskbar. We can reach immediately on all started
programs with the help of Taskbar.
The Task Bar has following option are: (i)Start Button:
This button is used to open start menu. (ii)Quick Launch Bar:
You can add icons to this area and it provides quick access to
programs or documents even when the desktop is not visible.
(iii)Windows Tabs: These are used to switch between any E. Classification of memory system of a computer
open programs. Documents, etc. In our example we have two Memory means storage capability of a computer. Memory
windows open (word and excel). To change form one (storage devices) can be measured in computer with the
windows to another simply click on the corresponding following features [8].
windows tab clicking a second time on the same tab will • Speed
minimize the window. (iv)System Tray: The system tray • Volatility
displays icons for programs that are loaded into memory. (For
• Access method
Example – The volume control, Date and Time icon).
• Portability
• Cost and capacity
D. Computer apllications
The term Application refers to Software which is a set of
instructions or code written in a program for executing a task
or an operation in a Computer. Applications play a vital role
in a Computer as it is an end-user program that enables the
users to do many things in a system. The application
programs are designed and developed to run in a System
Software which is an Operating system. An Operating System
is system software that enables al the applications programs to
run and execute various tasks in a Computer system. The GUI
based applications carries out various tasks in a Computer like
creating documents, playing games, browsing and many more
[7].
1. Education
2. Communication
3. Entertainment
Fig. 7. Memory system categorization in a computer
4. Business application
A computer has high speed of calculation, diligence, Primary Memory
accuracy, reliability, or versatility which has made it an Primary Memory is also known as internal memory or main
integrated part in all business organizations. Computer is used memory. You can store and retrieve data much faster with
in business organizations for − primary memory compared to secondary memory. Primary
• Payroll calculations memory is more expensive than secondary memory. When
the computer is doing any job, the data that have to be
• Budgeting processed are stored in the primary memory. This data may
• Sales analysis come from an input device like keyboard or from a secondary
storage device like a floppy disk, memory card or pen drive
• Financial forecasting etc. The primary memory itself is implemented by two types
• Managing employee database of memory technologies. The first is called Random Access
• Maintenance of stocks, etc. Memory (RAM) and the other is read only memory (ROM).
A more appropriate name for RAM is RWM (Read Write
5. Publishing Memory), the CPU can write and read information from any
6. Banking primary memory location implemented using RAM. The other
Today, banking is almost totally dependent on computers. part of primary memory is implemented using ROM which
stands for Read Only Memory.
Banks provide the following facilities: Online accounting
facility, which includes checking current balance, making Random Access Memory (RAM): The primary storage is
deposits and overdrafts, checking interest charges, shares, and referred to as Random Access Memory (RAM) because it is
trustee records. ATM machines which are completely possible to randomly select and use any location of the
automated are making it even easier for customers to deal memory directly to store and retrieve data. As soon as the
with banks. computer is switched off, the contents of the primary memory
is lost because it is volatile in nature. It takes same time to any
07. Insurance address of the memory as the first address. It is also called
read/write memory. The storage of data and instructions
8. Healthcare inside the primary storage is temporary. It disappears from
9. Engineering Design RAM as soon as the power to the computer is switched off.
The memories, which lose their content on failure of power
10. Military
supply, are known as volatile memories. So now we can say
that RAM is volatile memory.
SRAM: Static Random Access Memory (Static RAM or
SRAM) is a type of RAM that holds data in a static form, that
is, as long as the memory has power. The term is pronounced It is used to store programs or data currently being executed
"S-RAM", not "sram". MOFSET (metal-oxide-semiconductor or temporary data frequently used by the CPU. It is also very
field-effect transistors) is a popular SRAM type. expensive to have bigger size of cache memory. Its size is
therefore, normally kept small.
DRAM: DRAM is a type of RAM that stores each bit of data
on a separate capacitor. This is an efficient way to store data Registers: The CPU processes data and instruction with high
in memory, because it requires less physical space to store the speed. There is also movement of data between various units
same amount of data than if it was stored statically. Therefore, of the computer. It is necessary to transfer the processed data
a DRAM chip can hold more data than an SRAM (static with high speed. So the computer uses a number of special
RAM) chip of the same size can. However, the capacitors in memory units called registers. They are not part of the main
DRAM need to constantly be refreshed to keep their charge, memory but they store data or information temporarily and
so DRAM requires more power than SRAM. DRAM is the pass it on as directed by the control unit.
most common type of memory found in personal computer
Secondary Storage (Auxiliary Memory): You are now clear
systems. While there are many types of DRAM available, the
that the operating speed of primary memory or main memory
most common type is synchronous DRAM SDRAM, which is
should be as fast as possible to cope up with the CPU speed.
a faster version of standard DRAM. This is the type of
These high-speed storage devices are very expensive and
memory most computers use for their main system memory.
hence the cost per bit of storage is also very high. Again, the
Read Only Memory (ROM): There is another memory in storage capacity of the main memory is also very limited.
computer, which is called Read Only Memory (ROM). The Often it is necessary to store hundreds of millions of bytes of
storage of program and data in the ROM is permanent. The data for the CPU to process. Therefore, additional memory is
ROM stores some standard processing programs supplied by required in all the computer systems. This memory is called
the manufacturers to operate the personal computer. The auxiliary memory or secondary storage. In this type of
ROM can only be read by the CPU but it cannot be changed. memory the cost per bit of storage is low. However, the
The basic input/output program is stored in the ROM that operating speed is slower than that of the primary memory.
examines and initializes the various equipments attached to Huge volume of data are stored here on permanent basis and
the PC, when the switch is turned ON. The memories, which transferred to the primary storage as and when required. Most
do not lose their content on failure of power supply, are widely used secondary storage devices are magnetic tapes,
known as non-volatile memories. ROM is non-volatile magnetic disks and floppy disks, Compact disks and Pen
memory. Various RAM technologies [7]: drives etc.,
PROM: There is another type of primary memory in CD: The CD-ROM format was developed by Japanese
computer, which is called Programmable Read Only Memory company Denon in 1982.Compact disc (CD) is a digital
(PROM). You know that it is not possible to modify or erase optical disc data storage format released in 1982 and co-
programs stored in ROM, but it is possible for you to store developed by Philips and Sony. The format was originally
your program in PROM chip. Once the programs are written developed to store and play only sound recordings but was
it cannot be changed and remain intact even if power is later adapted for storage of data (CD-ROM). Several other
switched off. Therefore, programs or instructions written in formats were further derived from these, including write-once
PROM or ROM cannot be erased or changed. audio and data storage (CD-R), rewritable media (CD-RW),
Video Compact Disc (VCD), Super Video Compact Disc
EPROM: This stands for Erasable Programmable Read Only
(SVCD), Photo CD, Picture CD, CD-i, and Enhanced Music
Memory, which overcome the problem of PROM and ROM.
CD. The first commercially available Audio CD player, the
EPROM chip can be programmed time and again by erasing
Sony CDP-101, was released October 1982 in Japan. Standard
the information stored earlier in it. Information stored in
CDs have a diameter of 120 millimeters (4.7 in) and can hold
EPROM can be erased by exposing it to ultraviolet light. This
up to about 80 minutes of uncompressed audio or about
memory can be reprogrammed using a special programming
700 MB of data. The Mini CD has various diameters ranging
facility. When the EPROM is in use, information can only be
from 60 to 80 millimeters (2.4 to 3.1 in); they are sometimes
read.
used for CD singles, storing up to 24 minutes of audio, or
EAPROM: This stands for Electrically Alterable delivering device drivers.
Programmable Read Only Memory. This concept is same as
DVD: DVD, short for Digital Versatile Disc, is also an optical
that of EPROM. The only difference is that the memory can
medium to store digital data. A standard DVD can hold 4.7
be altered using electrical signals. The whole of the memory
GB of data. So DVD is widely used to store large files like
need not be erased.
video and movies. The capacity is the biggest difference
Cache Memory: The speed of CPU is extremely high between CD and DVD.DVDs are similar to CDs and are also
compared to the access time of main memory. Therefore, the an optical disc storage device. These were developed
performance of CPU decreases due to the slow speed of main independently by Philips, Sony, Toshiba, and Panasonic in
memory. The decreases the mismatch in operating speed, a 1995. Prior to this, video and film were being recorded on
small memory chip is attached between CPU and Main Video CD (VCD) that was available in the market in 1993.
memory whose access time is very close to the processing Other formats that came out in the same year included
speed of CPU. It is called CACHE memory. CACHE Multimedia Compact Disc (MMCD) and Super Density (SD)
memories are accessed much faster than conventional RAM. disc. The difference in formats caused the companies to come
together and set up standards for maintaining one type of easily fit in a pocket or on a keychain (hence the name
format, which resulted in the formation of DVD. As prices of “keychain drive”).Nowadays flash drives can store several
DVDs went down, it causes VHS tapes to become obsolete by gigabytes of information. Since they are small in size but have
offering better technology. large storage capacities, flash drives have replaced most
previous portable data storage mediums such as floppy disks
Magnetic Tape
and removable hard disks like Zip disks. Because they have a
Magnetic tapes are used for large computers like mainframe
built-in USB connection, flash drives also don’t require a
computers where large volume of data is stored for a longer
special disk drive to be used. Instead, they can be used on any
time. In PCs also you can use tapes in the form of cassettes.
computer with a USB port, which nearly all modern
The cost of storing data in tapes is inexpensive. Tapes consist
computers have. Below is the diagram of a pen drive.
of magnetic materials that store data permanently. It can be
12.5mm to 25 mm wide plastic film-type and 500 meter to
F. Programming concepts
1200 meter long which is coated with magnetic material. The
deck is connected to the central processor and information is In order to communicate with others, and to express our
fed into or read from the tape through the processor. It is feelings with another a language is must. Some of the basic
similar to cassette tape recorder. This tape is a normal natural languages that we are familiar with are English, Hindi,
magnetic recording which is designed with a slender and Oriya etc. These are the languages used to communicate
magnetizable covering on an extended, plastic film of the thin among various categories of persons. But, how can you
strip. This is mainly used to back up huge data. Whenever the communicate with a computer? Computer will not understand
computer requires accessing a strip, first it will mount to any of these natural languages for transfer of data and
access the data. Once the data is allowed, then it will be instructions. So there is a programming language must so that
unmounted. The access time of memory will be slower within you could pass instructions to the computer to do specific job
magnetic strip as well as it will take a few minutes for so that a computer can understand. You must have heard
accessing a strip. names like FORTRAN, BASIC, and COBOL etc. These are
programming languages. So instructions or programs are
Magnetic Disk written in a particular language based on the type of task. As
You might have seen the gramophone record, which is an example, for scientific application FORTRAN and C
circular like a disk and coated with magnetic material. languages are used. On the other hand COBOL is used for
Magnetic disks used in computer are made on the same business applications [9].
principle. It rotates with very high speed inside the disk drive.
Data are stored on both the surface of the disk. Magnetic disks Computer Programming Languages
are most popular for direct access storage. Each disk consists There are two major types of programming languages.
of a number of invisible concentric circles called tracks. These are Low Level Languages and High Level Languages.
Collection of such tracks forms a sector. Information is Low Level languages are further divided in to Machine
recorded on tracks of a disk surface in the form of tiny language and Assembly language.
magnetic spots. The presence of a magnetic spot represents
one bit (1) and its absence represents zero bit (0). The
information stored in a disk can be read many times without
affecting the stored data. So, the reading operation is non-
destructive. But if you want to write a new data, then the
existing data is erased from the disk and new data is recorded.
The magnetic disks in the computer are circular plates
fabricated of plastic otherwise metal by magnetized material.
Frequently, two faces of the disk are utilized as well as many
disks may be stacked on one spindle by read or write heads
Fig. 8. Anatomy of programming languages
obtainable on every plane. All the disks in computer turn
jointly at high speed. The tracks in the computer are nothing Low Level Languages
but bits which are stored within the magnetized plane in spots These are efficient for the computer but very inefficient for
next to concentric circles. These are usually separated into programmers. This is also called as machine language. The
sections which are named as sectors. Machine Language is the only language that is directly
Flash drive (pen drive): Flash drives have many names — understood by the computer. It does not need any translator
jump drives, thumb drives, pen drives, and USB keychain program. The term low level means closeness to the way in
drives. Regardless of what you call them, they all refer to the which the machine has been built. Low level languages are
same thing, which is a small data storage device that uses machine oriented and require extensive knowledge of
flash memory and has a built-in USB connection. Flash drives computer hardware and its configuration. We also call it
are typically no more than two to three inches in length and machine code and it is written in the form of 1’s (one) and 0’s
less than an inch in width. Their size and shape may resemble (zero). These are called binary digits. When this sequence of
a thumb or a small pen (which is where the names “thumb codes is fed to the computer, it recognizes the codes and
drive” and “pen drive” come from).Flash drives are also very converts it into electrical signals needed to run it. For
thin, often having a depth of less than a centimeter. Because example, a program instruction may look like this:
of their small form factor, they are highly portable and can
1011000111101 Although, many users share the system, a user feels that the
It is not an easy language for you to learn because of its computer system is attending to him all the time.
difficult to understand. It is considered to the first generation
language. It is also difficult to debug the program written in
this language.
Assembly Language
It is the first step to improve the programming structure.
Some combination of letters can be used to substitute for
number of machine codes. The set of symbols and letters
forms the Assembly Language. A translator program is
required to translate the Assembly Language to machine
language. This translator program is called ‘Assembler’. It is
considered to be a second generation Language. Assembly
language codes are called mnemonics.
High-level languages
Programs developed in assembly language very slow and
tedious process. This problem overcomes by using high-level
programming language. These are machine independent.
Code which is written in high level language is easy to
implement and easy to understand for human beings.
they actually mean is that such researcher may have led the already discussed the possible construction of such
team who introduced the machine. We, therefore, see it more calculators, but he had been stymied by the limited output
appropriate to mention the machine and the place it was first torque of the ball-and-disk integrators.
introduced without linking that to a specific name. We believe
that such an approach is fair and should eliminate any Charles Babbage, an English mechanical engineer and
controversy about researchers and their names [11]. polymath, originated the concept of a programmable
computer. Considered the "father of the computer", he
conceptualized and invented the first mechanical computer in
A. Chronology of early computors the early 19th century. The input of programs and data was to
- 2500BC: abacus be provided to the machine via punched cards, a method
- 1614: logarithms discovered by John Napier being used at the time to direct mechanical looms such as the
- 1622: Invention of slide rule Jacquard loom. For output, the machine would have a printer,
- 1642: first mechanical calculator a curve plotter and a bell.
- Charles Babbage (University of Cambridge): 1812- The machine would also be able to punch numbers onto
“Difference Engine”. 1833-“analytical Engine” cards to be read in later. The Engine incorporated an
- 1890: first electro-mechanical punched card data arithmetic logic unit, control flow in the form of conditional
processing machine by Hollerith branching and loops, and integrated memory, making it the
- 1905: Vacuum tube/Triode invented first design for a general-purpose computer.
- 1939: ABC (Atanosoff & Berry Computer)- first
electronic digital computer B. Computer Generations
- 1941: first programmable computer- Z3(Zuse)
The main evolution of computer started from 16th century
- 1943: Harvard MARK-1 by Aiken and resulted in the form that we see today. The present day
- 1945: ENIAC computer, however, has also undergone rapid changes during
- 1945: stored program concept by John Von Neumann the last fifty years. Actually computer technology
- 1947: Transistor Invented advancement will be measured by computer generations. This
- 1949: EDSAC- world first stored program computer by period, during which the evolution of computer took place,
Wilkes and Wheeler can be divided into five distinct phases, basis of the type of
- 1954: first silicon switching circuits known as Generations of Computers [12].
- 1959: first IC
- 1964: IBM system based on ICs
- 1971: Intel 4004, first Microprocessor
- 1978: Intel 8086/8088 processor
- 1980: first VLSI chip
methods of using punch cards, paper tape, and magnetic tape with an operating system, which allowed the device to run
were used to enter data into these computers. First generation many different applications at one time with a central
computers relied on machine language, the lowest-level program that monitored the memory. Computers for the first
programming language understood by computers, to perform time became accessible to a mass audience because they were
operations, and they could only solve one problem at a time. smaller and cheaper than their predecessors. Examples of the
It would take operators days or even weeks to set-up a new third generation computers include IBM-360 series,
problem. Input was based on punched cards and paper tape, Honeywell-6000 series, PDP (Personal Data Processor) series,
and output was displayed on printouts. Examples of the first ICL 2900, TDC 316, and IBM-370/168.
generation computers include UNIVAC-Universal automatic
Computer (The UNIVAC was the first general-commercial Fourth Generation (1980’s)
purpose computer delivered to a business client, the U.S. The present day computers that you see today are the
Census Bureau in 1951, invented by J. Prosper Eckert and fourth generation computers that started around 1975. It uses
John Mauchly makers of ENIAC.), ENIAC- Electonic large scale Integrated Circuits (LSI) built on a single silicon
Numerical Integrator and Computer invented by J.P. Eckert chip called microprocessor. Due to the development of
and J.W. Mauchly. It is the first successful electronic microprocessor it is possible to place computer’s central
computer built during Second World War by U.S.) , EDVAC processing unit on a single chip. These computers are called
- Electronic discrete Variable Automatic computer), IBM-701 microcomputers.
(International Business Machines), and IBM-650. Later very large scale Integrated Circuits (VLSI) replaced
Second Generation Computers (1955-1964) LSIs. Thus the computer which was occupying a very large
room in earlier days can now be placed on a table. The
The second generation computers were used transistors
personal computer (PC) that you see in your college is a
instead of vacuum tubes. This made them far more compact Fourth Generation Computer. A GUI (Graphical User
than the first generation computers. Due to best properties of Interface) provides icons and menus to select particular
transistors these generation computers were more powerful, operation.
more reliable, less expensive, smaller in size, faster in
operation, and cooler to operate than first generation Examples are IBM 4341, PUP 11, STAR 1000, CRAY-X-MP
computers. Around 1955 a device called Transistor replaced (Super Computer), DEC 10, PDP 11, CRAY-1.
the bulky electric tubes in the first generation computer. It
was made of germanium semiconductor materials rather than
glass. John Bardeen, William Shockley, and Walter Houser
Brattain invented transistor at bell laboratories in 1947. They
shared Nobel Prize for this in 1956. Transistors are smaller
than electric tubes and have higher operating speed. They
have no filament and require no heating. Manufacturing cost
was also very low. Thus the size of the computer got reduced
considerably when compare to FG (First Generation)
computers. High level programming languages like
FORTRAN (Formulae Translation), COBOL (Common
Business Oriented Language), ALGOL (algorithmic
Language), and SNOBOL (StriNg Oriented and symbolic Fig. 12. A modern generalized computer system architecture
Language) were emerged in second generation.
Examples of the second generation computers include Fifth Generation (Late 1990’s)
Honeywell 400, IBM 1620, IBM 7094, CDC 1604, CDC These computers use optic fiber technology to handle
3600, and UNIVAC 1108. Artificial Intelligence, expert systems, robotics etc., these
computers have high processing speeds and are more reliable.
Third Generation Computers (1970’s) These are extremely reliable and employ the ULSI or the
The third generation computers were introduced in 1964. Ultra Large Scale Integration technology.
These computers differed from the first and the second
Examples include: Intel P 4, i 3 – i10 series computers,
generations simply by the fact that a new circuit element like
AMD (Advanced Micro Devices) Athlon.
IC’s (Integrated Circuits) was used. An integrated circuit is a
small device that can contain thousands and thousands of
devices like transistors, resistances and other circuit elements III. METHODS
that make up a computer. Jack Kilby and Robert Noyce are We know that computer is a machine that processes the data
credited with the invention of the Integrated Circuit or the IC according to given set of instructions, process the data into
chips. With the invention of IC’s, it became possible to fit information, and finally gives the output. In order to process
thousands of circuit elements into a small region and hence the data we must have to give the instructions to a computer
the size of the computers eventually became smaller and
with the help of input devices. Then it can process the data
smaller. These ICs are popularly known as Chips. Computers
of this generation were small in size, low cost, large memory into valuable information using processing devices. Finally it
and processing speed is very high. Instead of punched cards produces the desired output with help of output devices. After
and printouts, users interacted with third generation processing the data, information must be displayed on a
computers through keyboards and monitors and interfaced monitoring device (monitor). Then we can take the print by
printer through computer. The Computer mainly consists of
the functions input, process, output and storage. The Block B. Processing
diagram of a computer is [15], [16]: CPU:
The CPU is the most important element of a computer
system. The CPU is the brains of the computer where most
calculations take place. CPU abbreviated for Central
Processing Unit. Without it, we cannot imagine a computer. It
is the heart and brain of the computer. Its function is to fetch,
examine, and execute the instructions stored in the main
memory of a computer. All type of processing is done in CPU
only. Furthermore, it is divided into 3 parts: ALU, CU, and
MU. The clock speed of a computer CPU will be measured in
terms of Mega Hertz (MHz) or Million of cycles per second.
Clock is another important component of CPU which
measures and allocations a fixed time slot for processing each
and every micro-operation (smallest functional operation).
CPU speed also specified in terms of Million of instructions
per Second (MIPS) or Million of FLOting Point Operations
Fig. 13. Block diagram of a computer per second (MFLOPS) [18], [19].
All computer systems contain and perform following basic Arithmetic Logical Unit (ALU): After you enter data
operations: Input unit, CPU (Control unit, Main Memory and through the input device it is stored in the primary storage.
ALU), Storage unit, and output unit. The mathematical calculations of the data are performed by
Arithmetic Logical Unit. The major operations performed by
A. Inputting the ALU are addition, subtraction, multiplication, division,
logic and comparison. Data is transferred to ALU from
Input: storage unit when required. After processing the output is
In computing, an input device is a piece of equipment returned back to storage unit for further processing.
used to provide data and control signals to an information
processing system such as a computer or information
appliance. Examples of input devices include keyboards,
mouse, scanners, digital cameras, joysticks, and microphones.
This is the process of entering data of programs into a
computer. Therefore, the input unit takes data from us to the
computer in an organized manner for processing through an
input device such as keyboard, mouse, MICR, OCR, Etc.
[17]. Fig. 15. N-bit ALU structure ina computer
Fig. 14. Input devices Memory unit: Memory means storage of data and the
program. In computer’s memory both data and programs are
Examples: pointing devices (mouse, trackball, joystick, stored in the binary form. The binary system has only two
electronic pen, touch screen) values 0 and 1. These are called bits. As human beings we all
understand decimal system but the computer can only
Scanning devices: image scanner, OCR, OMR, MICR, and a understand binary system. It is because a large number of
bar code reader) integrated circuits inside the computer can be considered as
Digitizer: it is a device which converts (digitizes) pictures, switches, which can be made ON, or OFF. If a switch is ON it
maps, and drawings into digital form for future usage. It is considered 1 and if it is OFF it is 0. A number of switches
consists of a digitizing tablet (graphic tablet) associated with a in different states will give you a message like this:
stylus. 110101......10. So the computer takes input in the form of 0
and 1 and gives output in the same form, i.e., 0 and 1 only.
Every number in binary system can be converted to decimal
system and vice versa; for example, decimal number 9 means 1 Kilo Byte (KB) = 1024 Bytes(210)
1001. Therefore, it is the computer that takes information or 1 Mega Byte (MB) = 1024 KB
data in decimal form from you, converts it into binary form, 1 Giga Byte (GB) = 1024 MB
processes it, producing output in binary form and finally again 1 TeraByte (TB) = 1024 GB
converts the output to decimal form. A fundamental unit of 1 PetaByte (PB) = 1024 TB
memory system is bit and acronym for it is binary digit, which 1 ExaByte (EB) = 1024 PB
stands for one binary piece of information. This can be either 1 ZettaByte (ZB) = 1024 EB
0 or 1. Memory unit is made up of several small storage 1 YottaByte (YB) = 1024 ZB
locations called cells. Each of these 8 cells can store a fixed
Suppose a memory card size is 2 GB means that it can store
number of bits called word length (byte). Each cell has a
2GB = 2 x 1024 MB
unique number assigned to it called the address of the cell and
it is used to identify the cells. The address starts at 0 and goes = 2 x 1024 x 1024 KB
up to (N-1).Byte is used to store one character such as = 2 x 1024 x 1024 x 1024 Bytes
(alphabets (a-z),digits (0-9) or special symbols +,-,$,% = 2147483648 bytes
etc).You should know that the memory is like a large cabinet There are two kinds of computer memory: primary and
containing as many drawers as there are addresses of memory. secondary.
Each drawer contains a word and the address is written on Memory Hierarchy
outside of the drawer. It is defined as the range of memory and storage devices
within the computer system.
b) L2 cache: It takes more clock cycles to access than L1 the source code called the pre-processor. The pre-processor is
cache. at its core a text replacement program. For example, any
variable declared as #define variable text will have variable
c) L3 cache: It takes more clock cycles to access than L2 replaced with text. This preprocessed code is then passed into
cache. the compiler. Compiler strictly follows its syntax. Compiling
3) Main memory or RAM (Random Access Memory): It is a C program is a multi-stage process. At an overview level,
a type of the computer memory and is a hardware component. the process can be split into four separate stages:
It can be increased provided the operating system can handle • Preprocessing,
it. Typical PCs these days use 8 GB of RAM. It is accessed
• compilation,
slowly as compared to cache. The main memory in the
computer is nothing but, the memory unit in the CPU that • assemble, and
communicates directly. It is the main storage unit of the • linking.
computer. This memory is fast as well as large memory used Preprocessing
for storing the data throughout the operations of the computer.
This memory is made up of RAM as well as ROM. The first stage of compilation is called preprocessing. In
this stage, lines starting with a # character are interpreted by
4) Hard disk: A hard disk is a hardware component in a the preprocessor as preprocessor commands. These
computer. Data is kept permanently in this memory. Memory commands form a simple macro language with its own syntax
from hard disk is not directly accessed by the CPU, hence it is and semantics. This language is used to reduce repetition in
slower. As compared with RAM, hard disk is cheaper per bit. source code by providing functionality to inline files, define
macros, and to conditionally omit code.
5) Magnetic tape: Magnetic tape memory is usually used for
backing up large data. When the system needs to access a Compilation: -The second stage of compilation is
tape, it is first mounted to access the data. The memory access confusingly enough called compilation. In this stage, the
time is slower in magnetic tape and it usually takes few preprocessed code is translated to assembly instructions
minutes to access a tape. specific to the target processor architecture. These form an
intermediate human readable language. The existence of this
C. Outputting step allows for C code to contain inline assembly instructions
This is the process of producing results from the data for and for different assemblers to be used. Compilation is a
getting useful information n th form of either soft copy or process in which a program written in one language gets
hard copy. Similarly the output produced by the computer translated into another targeted language. If there are some
after processing must also be kept somewhere inside the errors, the compiler will detect them and report it.
computer before being given to you in human readable form
through the screen or printer. Again the output is also stored
inside the computer for further processing [20].
Examples: monitors (CRT, LCD, LD), printers (dot matrix
printers, inkjet printers, laser printers, drum printers, plotters)
4) Hexadecimal number system (base 16) applications, frameworks, or other software components.
Software development is a process of writing and maintaining
1) Binary Number System A Binary number system has the source code in a structured way. Therefore, software
only two digits, which are 0 and 1. Every number (value) development may include research, new development,
is represented with 0 and 1 in this number system. The base of prototyping, modification, reuse, re-engineering,
binary number system is 2, because it has only two digits. The maintenance, or any other activities that result in software
word binary derived from Latin word bini (double). Though products. A software development process (also known as a
decimal (No 3) is more frequently used in number software development methodology, model, or life cycle) is a
representation, binary is the number system form which the framework that is used to structure, plan, and control the
system/machine accepts. process of developing information systems [28], [29].
2) Octal number system octal number system has only A wide variety of such frameworks has evolved over the
eight (8) digits from 0 to 7. Every number (value) is years, each with its own recognized strengths and weaknesses.
represented with 0,1,2,3,4,5,6 and 7 in this number system. There are several different approaches to software
The base of octal number system is 8, because it has only 8 development: some take a more structured, engineering-based
digits. approach to develop business solutions, whereas others may
3) Decimal number system Decimal number system has take a more incremental approach, where software evolves as
only ten (10) digits from 0 to 9. Every number (value) is it is developed piece-by-piece.
represented with 0,1,2,3,4,5,6, 7, 8 and 9 in this number One system development methodology is not necessarily
system. The base of decimal number system is 10, because it suitable for use by all projects. Each of the available
has only 10 digits. methodologies is best suited to specific kinds of projects,
4) Hexadecimal number system A Hexadecimal number based on various technical, organizational, project and team
system has sixteen (16) alphanumeric values from 0 to 9 and considerations. Most methodologies share some combination
A to F. Every number (value) represents with 0, 1, 2, 3, 4, 5, of the following stages of software development:
6, 7, 8, 9, A, B, C, D, E and F in this number system. The
• Analyzing the problem
base of hexadecimal number system is 16, because it has 16
alphanumeric values. Here, we have 0 to 9, representing 0 – 9 • Market research
but from 10, we have A is 10, B is 11, C is 12, D is 13, E is 14
and F is 15. • Gathering requirements for the proposed business
solution
H. Developing a program • Devising a plan or design for the software-based
Program development - Computer Definition May refer to solution
the coding of an individual software program or to the • Implementation (coding) of the software
creation on an entire information system and all related
software. See programming and system development life • Testing the software
cycle [26], [27].
A program development process consists of various steps • Deployment
that are followed to develop a computer program. These steps • Maintenance and bug fixing
are followed in a sequence in order to develop a successful
and beneficial computer program. Following is the brief These stages are often referred to collectively as the
description about program development process. software development life-cycle, or SDLC. Different
approaches to software development may carry out these
stages in different orders, or devote more or less time to
Program Development Process
different stages. The level of detail of the documentation
A programmer has to go through the following stages to produced at each stage of software development may also
develop a computer program: vary. These stages may also be carried out in turn (a
“waterfall” based approach), or they may be repeated over
1. Defining and Analyzing The Problem various cycles or iterations (a more "extreme" approach). The
2. Designing The Algorithm more extreme approach usually involves less time spent on
planning and documentation, and more time spent on coding
3. Coding or Writing The Program and development of automated tests. More “extreme”
4. Test Execution approaches also promote continuous testing throughout the
development life-cycle, as well as having a working (or bug-
5. Debugging free) product at all times. More structured or “waterfall”
6. Final Documentation based approaches attempt to assess the majority of risks and
develop a detailed plan for the software before
Step by step details of the program development process implementation (coding) begins, and avoid significant design
follows: changes and re-coding in later stages of the software
development life-cycle planning. There are significant
I. Software development advantages and disadvantages to the various methodologies,
Software development is the process of conceiving, and the best approach to solving a problem using software
specifying, designing, programming, documenting, testing, will often depend on the type of problem. If the problem is
and bug fixing involved in creating and maintaining well understood and a solution can be effectively planned out
ahead of time, the more "waterfall" based approach may work Branch and bound algorithms
the best. If, on the other hand, the problem is unique (at least Branch and bound is used when we can evaluate each node
to the development team) and the structure of the software using the cost and utility functions. At each step we choose
solution cannot be easily envisioned, then a more "extreme" the best node to proceed further. Branch-and bound
incremental approach may work best. algorithms are implemented using a priority queue. The state-
space tree is built in a breadth-first manner.
J. Algorithms
Example: the 8-puzzle problem.
Definition:-The sequence of steps to perform in order to
solve a problem is known as an algorithm. In other words, an Divide and conquer algorithms
algorithm is a finite sequence of steps expressed for solving a These are methods of designing algorithms that (informally)
problem [30], [31]. proceed as follows:
Given an instance of the problem to be solved, split this into
Algorithms are used for calculations, data processing, and several smaller sub-instances (of the same problem),
many other fields. In computer computing, algorithms are independently solve each of the sub-instances and then
essential because they serve as the systematic procedures that combine the sub-instance solutions so as to yield a solution
computers require. Using the wrong algorithm or one that is for the original instance. With the divide-and-conquer
not clearly defined is like trying to cut a piece of plywood method the size of the problem instance is reduced by a factor
with a pair of scissors: although the job may get done, you (e.g. half the input size), while with the decrease-and-conquer
have to wonder how effective you were in completing it. Let method the size is reduced by a constant.
us follow an example to help us understand the concept of
algorithm in a better way. Let’s say that you have a friend Examples of divide-and-conquer algorithms: Computing an
arriving at the railway station, and your friend needs to get (a > 0, n a nonnegative integer) by recursion,
from the railway station to your house. Here are three Binary search in a sorted array (recursion),
different ways (algorithms) that you might give your friend Merge sort algorithm, Quick sort algorithm (recursion),
for getting to your home. Problems that would be difficult to The algorithm for solving the fake coin problem (recursion)
solve in entirety can be approached as a series of small,
Dynamic programming algorithms
solvable sub-problems [5].
The idea behind dynamic programming is to avoid this
1. The taxi/auto-rickshaw algorithm: pathology by obviating the requirement to calculate the same
Go to the taxi/auto-rickshaw stand. quantity twice. The method usually accomplishes this by
Get in a taxi/auto-rickshaw. maintaining a table of sub-instance results. Dynamic
Give the driver my address. Programming is a Bottom-Up Technique in which the
2. The call-me algorithm: smallest sub-instances are explicitly solved first and the
When your train arrives, call my mobile phone results of these used to construct solutions to progressively
Meet me outside the railway station. larger sub-instances. In contrast, Divide-and-Conquer is a
Top-Down Technique which logically progresses from the
3. The bus algorithm:
initial instance down to the smallest sub-instance via
Outside the railway station, catch bus.
Get off near house. intermediate sub-instances. Examples: Fibonacci numbers
Walk two blocks west to my house. computed by iteration, Warshall’s algorithm implemented by
iterations
All these three algorithms accomplish the same goal, but Divide-and-conquer Algorithms:
each algorithm does it in a different way. Each algorithm also Divide-and-conquer algorithms revolve around 3 steps:
has a different cost and a different travel time. Taking a divide, conquer, and combine. In the divide step, we divide
taxi/auto-rickshaw, for example, is the fastest way, but also the data into smaller, more manageable pieces. In the conquer
the most expensive. Taking the bus is definitely less step, we process each division by performing some operations
expensive, but a whole lot slower. You choose the algorithm on it. In the combine step, were combine the processed
based on the circumstances. In computer programming, there divisions. An example of the divide-and conquer algorithm is
are often many different algorithms to accomplish any given merge sort.
task. Each algorithm has advantages and disadvantages in
different situations. Greedy algorithms
The solution is constructed through a sequence of steps, each
Algorithm strategies expanding a partially constructed solution obtained so far. At
each step the choice must be locally optimal. This is the
There are a number of well-known algorithm strategies: central point of this technique. Examples: Minimal spanning
Recursive algorithm tree.
A combinatorial problem: Fibonacci numbers Brute force algorithms
Backtracking algorithms Brute force is a straightforward approach to solve a problem
The method is used for state-space search problems such as based on the problem’s statement and definitions of the
space search problems. The solving process solution is based concepts involved. It is considered as one of the easiest
on the construction of a state-space tree, whose nodes approach to apply and is useful for solving small – size
represent states, the root represents the initial state, and one or instances of a problem.
more leaves are goal states. Each edge is labeled with some Some examples of brute force algorithms are:
operator.