SlideShare a Scribd company logo
1 of 53
C++
Presentation
BY : ASHNA
Index:
• Chapter – 1 Computer Overview
• Chapter – 2 Working With Operating System
• Chapter – 3 Data Representation
• Chapter – 4 Microprocessor Basics: Input, Output and
Memory Devices
• Chapter – 5 General OOP Concepts
Chapter – 1 Computer Overview
 1.1 Introduction
 1.2 Computers are Everywhere
 1.3 What is a Computer?
 1.4 Functioning of a Computer
 1.5 The Generations of Modern Computer
 1.6 Types of Computers
Index
1.1 Introduction!
Computers have made great inroads in our everyday life and thinking. They
are put to use for all sorts of applications ranging from complex
calculations in the field of frontline research, engineering simulations down
to teaching, printing books and recreational games. Any task that can be
carried out systematically, can be performed by a computer. It is essential
for every education person today to know about a computer, its strength, its
weaknesses and its internal structure.
1.2 Computers are Everywhere
It’s almost impossible to imagine that we could live without computers.
They are not just those devices you have sitting on your desk, they are
found in everyday items that we use without thinking about it. Today,
almost anything can be done using computers. You can order a pizza using
your computer, your parents can work from home with the help of
their computer, you can watch movies and videos through the computer,
you can listen to music through your computer, you can read novels and
books through e-books, you can play games, you can also contact people
and talk to them through your computer etc. But these are just but a few
things that can be done with the help of computers. Computers are also
found in many of the machines we use all the time. You might find
computer chips controlling your washing machine, your oven and
other household appliances. But they also control cars, trains, trucks and
other vehicles. They can even be worn! When you look, you’ll find them
almost everywhere.
1.3 What is a Computer?
A computer is an electronic device that manipulates information, or data. It has the
ability to store, retrieve, and process data. You probably already know that you can
use a computer to type documents, send email, play games, and browse the Web.
You can also use it to edit or create spreadsheets, presentations, and even videos.
1.4 Functioning of a Computer
A typical digital computer consists of:
a) A central processor unit (CPU)
b) A memory
c) Input/output (1/0) ports
The memory serves as a place to store Instructions, the coded pieces of information that direct the activities of the CPU, and Data, the coded pieces of information that are processed by the CPU. A group
of logically related instructions stored in memory is referred to as a Program. The CPU "reads" each instruction from memory in a logically determined sequence, and uses it to initiate processing actions.
If the program sequence is coherent and logical, processing the program will produce intelligible and useful results. The memory is also used to store the data to be manipulated, as well as the instructions
that direct that manipulation The program must be organized such that the CPU does not read a non-instruction word when it expects to see an instruction. The CPU can rapidly access any data stored in
memory; but often the memory is not large enough to store the entire data bank required for a particular application. The problem can be resolved by providing the computer with one or more Input
Ports. The CPU can address these ports and input the data contained there. The addition of input ports enables the computer to receive information from external equipment (such as a paper tape reader
or floppy disk) at high rates of speed and in large volumes. A computer also requires one or more Output Ports that permit the CPU to communicate the result of its processing to the outside world. The
output may go to a display, for use by a human operator, to a peripheral device that produces "hardcopy," such as a line-printer, to a peripheral storage device, such as a floppy disk unit, or the output may
constitute process control signals that direct the operations of another system, such as an automated assembly line. Like input ports, output ports are addressable. The input and output ports together
permit the processor to communicate with the outside world. The CPU unifies the system. It controls the functions performed by the other components. The CPU must be able to fetch instructions from
memory, decode their binary contents and execute them. It must also be able to reference memory and 1/0 ports as necessary in the execution of instructions. In addition, the CPU should be able to
recognize and respond to certain external control signals, such as INTERRUPT and WAIT requests. The functional units within a CPU that enable it to perform these functions are described below.
1.5 The Generations of a Modern Computer
1.5.1 First Generation (1940-1956) Vacuum Tubes:
The first computers used vacuum tubes for circuitry and magnetic drums for memory, and were often enormous, taking up
entire rooms. They were very expensive to operate and in addition to using a great deal of electricity, generated a lot of
heat, which was often the cause of malfunctions. First generation computers relied on machine language, the lowest-level
programming language understood by computers, to perform operations, and they could only solve one problem at a time.
Input was based on punched cards and paper tape, and output was displayed on printouts. The UNIVAC
and ENIAC computers are examples of first-generation computing devices. The UNIVAC was the first commercial
computer delivered to a business client, the U.S. Census Bureau in 1951.
1.5.2 Second Generation (1956-1963) Transistors
Transistors replaced vacuum tubes and ushered in the second generation of computers. The transistor was invented in
1947 but did not see widespread use in computers until the late 1950s. The transistor was far superior to the vacuum
tube, allowing computers to become smaller, faster, cheaper, more energy-efficient and more reliable than their first-
generation predecessors. Though the transistor still generated a great deal of heat that subjected the computer to damage,
it was a vast improvement over the vacuum tube. Second-generation computers still relied on punched cards for input
and printouts for output. Second-generation computers moved from cryptic binary machine language to symbolic,
or assembly, languages, which allowed programmers to specify instructions in words. High-level programming languages
were also being developed at this time, such as early versions of COBOL and FORTRAN. These were also the first
computers that stored their instructions in their memory, which moved from a magnetic drum to magnetic core
technology. The first computers of this generation were developed for the atomic energy industry.
1.5.3 Third Generation (1964-1971) Integrated Circuits
The development of the integrated circuit was the hallmark of the third generation of computers. Transistors were
miniaturized and placed on silicon chips, called semiconductors, which drastically increased the speed and efficiency of
computers. Instead of punched cards and printouts, users interacted with third generation computers
through keyboards and monitors and interfaced with an operating system, which allowed the device to run many
different applications at one time with a central program that monitored the memory. Computers for the first time
became accessible to a mass audience because they were smaller and cheaper than their predecessors.
1.5.4 Fourth Generation (1971-Present) Microprocessors
The microprocessor brought the fourth generation of computers, as thousands of integrated circuits were built onto a
single silicon chip. What in the first generation filled an entire room could now fit in the palm of the hand. The Intel
4004 chip, developed in 1971, located all the components of the computer—from the central processing unit and memory
to input/output controls—on a single chip. In 1981 IBM introduced its first computer for the home user, and in
1984 Apple introduced the Macintosh. Microprocessors also moved out of the realm of desktop computers and into many
areas of life as more and more everyday products began to use microprocessors. As these small computers became more
powerful, they could be linked together to form networks, which eventually led to the development of the Internet.
Fourth generation computers also saw the development of GUIs, the mouse and handheld devices.
1.5.5 Fifth Generation (Present and Beyond) Artificial
Intelligence
Fifth generation computing devices, based on artificial intelligence, are still in development, though there are some
applications, such as voice recognition, that are being used today. The use of parallel processing and superconductors is
helping to make artificial intelligence a reality. Quantum computation and molecular and nanotechnology will radically
change the face of computers in years to come. The goal of fifth-generation computing is to develop devices that respond
to natural language input and are capable of learning and self-organization.
1.6 Types of Computers
Sr. No. Type Specifications
1 PC (Personal Computer) It is a single user computer system having moderately
powerful microprocessor
2 WorkStation It is also a single user computer system which is similar to
personal computer but have more powerful microprocessor.
3 Mini Computer It is a multi-user computer system which is capable of
supporting hundreds of users simultaneously.
4 Main Frame It is a multi-user computer system which is capable of
supporting hundreds of users simultaneously. Software
technology is different from minicomputer.
5 Supercomputer It is an extremely fast computer which can execute
hundreds of millions of instructions per second.
Chapter 2 – Working with Operating System
 2.1 Introduction
 2.2 Introduction to Windows 7 Operating System
 2.3 Directory Structure of Windows OS
 2.4 Explore your Computer
 2.5 Starting and Closing Programs
 2.6 Managing Files and Folders
 2.7 Creating Shortcuts
 2.8 Shutting Down The Computer
 2.9 Types of Software
 2.10 The Need of Operating System
 2.11 Types of Services
 2.12 Operating System’s Functions
 2.13 Processor Management
 2.14 Storage Management
 2.15 Information Management
 2.16 Some Commonly used Operating Systems
Index:
2.1 Introduction!
An operating system (OS) is the software component of a
computer system that is responsible for the management and
coordination of activities and the sharing of the resources of the
computer. The OS acts as a host for application programs that
are run on the machine. As a host, one of the purposes of an OS
is to handle the details of the operation of the hardware. This
relieves application programs from having to manage these
details and makes it easier to write applications. Almost all
computers use an OS of some type.
2.2 Introduction to Windows 7 Operating System
Windows 7 (codenamed Vienna and also known as Blackcomb[8]) is a personal
computer operating system developed by Microsoft. It is a part of Windows NT family
of operating systems. Windows 7 was released to manufacturing on July 22,
2009,[9] and became generally available on October 22, 2009,[10] less than three years
after the release of its predecessor, Windows Vista. Windows
7's server counterpart, Windows Server 2008 R2, was released at the same time.
Windows 7 was primarily intended to be an incremental upgrade to the operating
system, intending to address Windows Vista's critical reception (such as performance
improvements), while maintaining hardware and software compatibility. Windows 7
continued improvements on Windows Aero (the user interface introduced in Windows
Vista) with the addition of a redesigned taskbar that allows applications to be "pinned"
to it, and new window management features. Other new features were added to the
operating system, including libraries, the new file sharing system Home Group, and
support for multi-touch input. A new "Action Center" interface was also added to
provide an overview of system security and maintenance information, and tweaks were
made to the User Account Control system to make it less intrusive. Windows 7 also
shipped with updated versions of several stock applications, including Internet Explorer
8, Windows Media Player, and Windows Media Center.
2.3 Directory Structure of Windows OS
Directory Description
C: Root of the system drive
PerfLogs Windows performance logs
Program Files
32-bit architecture: 32-bit user
applications
64-bit architecture: 64-bit user
applications
Program Files (x86)
32-bit architecture: absent
64-bit architecture: 32-bit user
applications
ProgramData Global application data
Users User folders
Public Shared user folders
Windows System files
Boot Boot loader files
System32 System kernel and drivers
2.4 Explore your Computer
To begin exploring your computer, perform the following: Click Start to bring up the Window shown below, and then click
My Computer. After clicking MY Computer, you will see the Window below. Exploring Your Computer This is what is
shown on my desktop computer, yours may be different. We all have a C‐drive and a CD or DVD drive but I have 4 hard
drives. Page 2 of 7 Exploring Your Computer In the figure below, this is what I’d see if I double‐clicked my C‐drive. It
contains both Folders and Files. In this figure, I’ve double‐clicked my D‐drive. I’m looking for a folder labeled Pictures.
Page 3 of 7 Exploring Your Computer In the figure below, I’ve double‐clicked a folder on my D‐drive. Here I’m viewing
the contents of the Africa folder in the Filmstrip view. You can see that I’ve renamed my files to Africa 01, Africa 02, etc.
Page 4 of 7 Exploring Your Computer Here’s a folder where the files still have the original Filenames as created by the
camera. This view is the Thumbnail View. Page 5 of 7 Exploring Your Computer Here, is the same folder as shown
above with Windows XP configured to show File Extensions. Notice that all extensions are JPG except for a video
which is an AVI. Without file extensions showing, it’s difficult to tell what type of file you’re looking at. If you were to
double‐click a file, technically its icon, any one of a number of things can happen depending on your computer’s setup
and the software you have installed. This is a subject for another time. FILENAMES When an image is saved, the
camera assigns it a filename so you can identify it later. Filenames have two parts, an 8‐character filename and a
3‐characterextension. Think of them as first and last names. The name is unique to each file, and the extension,
separated from the name by a period, identifies the file’s format. For example, a JPG extension means it’s a JPEG
image file, and TIF means it’s a TIFF image file. File Names and Extensions can be in lower or upper case Extensions
play another important role. An extension can be associated with a program on your system so if you double‐click a file,
the associated program opens. Also, when you use an application program to open files, it often lists only those files
with extensions that it can open. (You can list other file types Page 6 of 7 Exploring Your Computer Page 7 of 7 but is
usually requires an additional step or two.) If you change the extension, your system may no longer know what to do
with the file. The first four characters in an image file’s name, called free characters, can only be uppercase letters A– Z.
The last four characters form a number between 0001 and 9999 and are called the file number. Canon uses the first
four free characters IMG_ followed by the file number, Nikon uses DSCN, and Sony uses DSC0. Once transferred to
your computer, you can rename images with longer and more descriptive names.
2.5 Starting and Closing Programs
-Open an Application via the Desktop
Let’s review a few concepts we covered on a previous lessons.
The Desktop is the image you see when your computer powers on. Located
on your Desktop are Icons and these Icons are graphic images that when
clicked will Open or “start” a program. Placed on your Desktop is an Icon to
a commonly played card game called Solitaire. We will use this application to
practice Opening and Closing an application.
Click on the Solitaire Icon to open the application.
-Close an Application
After clicking on the Solitaire Icon, the application will Open or start. A screen
similar to below will appear. On the screen in the upper right corner is a red X
: . Click on the to close the application. Closing the application will stop
or end the program, putting it away.
2.6 Managing Files and Folders
I know - being organized can be boring, but after you have created countless amounts of files, stored all over your
computer and you have 754 "New Folders, you'll see the point in being organized!
Just like with everything else in your house, it is nice to know where to find things.
Your windows operating system even makes things easy for you by giving you several pre-made folders like "My
Documents" and inside that folder, you will find "My Music", "My Pictures" etc. Of course you can make your own
folders for pictures and music files, too, if you want.
Double-click your "My Documents"
Icon on your desktop
- and you will see all the folders already provided for you.
When you want to save a document or a file you have created, you have several choices to where you want to save it.
Double-click your "My Computer" icon on the desktop
The window will be showing you YOUR drives. The picture above is just an example.
Some computers will have a D: drive under the section of hard disk drives (sometimes called a Data drive) - like in my
example above. If you have one, I suggest to you to use that drive for storage. If you DON'T have a D: drive use the
"My Documents" folder.
If you have a D: drive, you can store you files in folders you create.
WARNING
Your "My Documents" folder is a system folder. You can store files, create new sub folders inside it, and even back-up
(make a copy) of that whole folder to another location, just don't move that folder to any other location on your
computer! If you remove it or move it somewhere else, you'll might mess up your system!
2.7 Creating Shortcuts
To create a shortcut on the desktop to other objects (such
as a folder or computer), follow these steps:
Use My Computer or Windows Explorer to locate the object to
which you want to create a shortcut.
Right-click the object, and then click Create shortcut.
Drag the new shortcut to an open area on the desktop.
2.8 Shutting Down the Computer
Use the Shut down button on the Start menu
To turn off your computer using the Start menu, click
the Start button , and then, in the lower-right corner of the Start
menu, click Shut down.
When you click Shut down, your computer closes all open programs,
along with Windows itself, and then completely turns off your computer
and display. Shutting down doesn't save your work, so you must save
your files first.
Click the arrow next to the Shut down button for more options.
2.9 Types of Software
The term 'software' refers to the set of electronic program instructions or data a computer
processor reads in order to perform a task or operation. In contrast, the term 'hardware' refers to
the physical components that you can see and touch, such as the computer hard drive, mouse,
and keyboard.
Software can be categorized according to what it is designed to accomplish. There are two main
types of software: systems software and application software.
Systems Software
Systems software includes the programs that are dedicated to managing the computer itself,
such as the operating system, file management utilities, and disk operating system (or DOS).
The operating system manages the computer hardware resources in addition to applications and
data. Without systems software installed in our computers we would have to type the instructions
for everything we wanted the computer to do!
Applications Software
Application software, or simply applications, are often called productivity programs or end-
user programs because they enable the user to complete tasks such as creating documents,
spreadsheets, databases, and publications, doing online research, sending email, designing
graphics, running businesses, and even playing games! Application software is specific to the
task it is designed for and can be as simple as a calculator application or as complex as a word
processing application.
2.10 The Need of Operating System
Your computer's operating system (OS) manages all of
the software and hardware on the computer. Most of the
time, there are many different computer programs running
at the same time, and they all need to access your
computer's central processing unit (CPU), memory, and
storage.
2.11 Types of Services
1. Program Execution: The purpose of computer system is to allow the users to execute programs in an efficient manner. The operating
system provides an environment where the user can conveniently run these programs. The user does not have to worry about
the memory allocation or de-allocation or any other thing because these things are taken care of by the operating system.
2. I/O Operations: Each program requires an input and after processing the input submitted by user it produces output. This involves the use
of I/O devices. The operating system hides the user from all these details of underlying hardware for the I/O. So the operating system makes
the users convenient to run programs by providing I/O functions. The I/O service cannot be provided by user-level programs and it must be
provided by the operating system.
3. File System Manipulation: While working on the computer, generally a user is required to manipulate various types of files like as opening
a file, saving a file and deleting a file from the storage disk. This is an important task that is also performed by the operating system. Thus
operating system makes it easier for the user programs to accomplish their task by providing the file system manipulation service. This service
is performed by the 'Secondary Storage Management' a part of the operating system.
4. Communication: Operating system performs the communication among various types of processes in the form of shared memory. In
multitasking environment, the processes need to communicate with each other and to exchange their information. These processes are
created under a hierarchical structure where the main process is known as parent process and the sub processes are known as child
processes.
5. Error Detection: Operating system also deals with hardware problems. To avoid hardware problems the operating system constantly
monitors the system for detecting the errors and fixing these errors (if found). The main function of operating system is to detect the errors like
bad sectors on hard disk, memory overflow and errors related to I/O devices. After detecting the errors, operating system takes an appropriate
action for consistent computing.
6. Resource allocation: In the multitasking environment, when multiple jobs are running at a time, it is the responsibility of an operating
system to allocate the required resources (like as CPU, main memory, tape drive or secondary storage etc.) to each process for its better
utilization. For this purpose various types of algorithms are implemented such as process scheduling, CPU scheduling, disk scheduling etc.
7. Accounting: Operating system keeps an account of all the resources accessed by each process or user. In multitasking, accounting
enhances the system performance with the allocation of resources to each process ensuring the satisfaction to each process.
8. Protection System: If a computer system has multiple users and allows the concurrent execution of multiple processes, then the various
processes must be protected from one another's activities.
2.12 Operating System’s Functions
The basic functions of an operating system are:
-Booting the computer.
-Performs basic computer tasks example, managing the various
peripheral devices like mouse and keyboard.
-Provides a user interface, e.g. command line, graphical user interface
(GUI).
-Handles system resources such as computer's memory and sharing
of the central processing unit (CPU) time by various applications or
peripheral devices.
-Provides file management which refers to the way that the operating
system manipulates, stores, retrieves and saves data.
2.13 Processor Management
Process management is an integral part of any modern-day
operating system (OS). The OS must allocate resources to
processes, enable processes to share and exchange
information, protect the resources of each process from other
processes and enable synchronization among processes.
2.14 Storage Management
The term storage management encompasses the technologies
and processes organizations use to maximize or improve the
performance of their data storage resources. It is a broad category that
includes virtualization, replication, mirroring, security, compression,
traffic analysis, process automation, storage provisioning and related
techniques.
By some estimates, the amount of digital information stored in the
world's computer systems is doubling every year. As a result,
organizations feel constant pressure to expand their storage capacity.
However, doubling a company's storage capacity every year is an
expensive proposition. In order to reduce some of those costs and
improve the capabilities and security of their storage solutions,
organizations turn to a variety of storage management solutions.
2.15 Information Management
Information management (IM) concerns a cycle of
organizational activity: the acquisition of
information from one or more sources, the
custodianship and the distribution of that
information to those who need it, and its ultimate
disposition through archiving or deletion.
2.16 Some Commonly used Operating Systems
Examples of popular modern operating systems
include Android, BlackBerry 10, BSD, Chrome OS,
iOS, Linux, OS X, QNX, Microsoft Windows, Windows
Phone, and z/OS. The first eight of these examples
share roots in UNIX.
Chapter 3 – Data Representation
 3.1 Introduction
 3.2 Digital Number Systems
 3.3 Number Conversions
 3.4 Binary Representation of Integers
 3.5 Binary Representation of Real Numbers
 3.6 Representing Characters in Memory
 3.7 ISCII
 3.8 UNICODE
Index:
3.1 Introduction
 Early computer systems used electrical switches and when electrical switches were
replaced by less mechanical devices such as vacuum tubes, than the transistor, the
integrated circuit, the concept of switching on and off remained with computers but a
representation of the on/off behavior of computers had to be made.
 The term, digital, in computing and electronics applies to converting real-world information
to binary numeric form.
 The binary (base-2) number system represents two discreet values using two symbols or
digits -- 0 and 1.
 Because this is relatively simple to implement in electronic circuitries made up of switches,
the binary system maps on quite easily to all modern digital computers.
 The binary number system, where a zero symbolizes no electrical current (OFF) and a one
represents electrical current exists (ON) developed and became the standard means of
representing internal computer workings.
 By combining a series of these 0s and 1s (OFF/ON), the computer is capable of
representing a number of complex things.
 All computer data (alpha-numeric symbols and characters, audio, graphics and video) are
represented or encoded using sequences of binary digits that are interpreted according to
appropriate software.
 Below are some simple examples illustrating how binary numbers may be used to
represent different data according to different interpretive systems.
3.2 Digital Number Systems
A digital system can understand positional number system only where
there are only a few symbols called digits and these symbols represent
different values depending on the position they occupy in the number. A
value of each digit in a number can be determined using. The digit. The
position of the digit in the number.
3.3 Number Conversions
There are many methods or techniques which can be used to convert
numbers from one base to another.
 Decimal to Other Base System
 Other Base System to Decimal
 Other Base System to Non-Decimal
 Shortcut method - Binary to Octal
 Shortcut method - Octal to Binary
 Shortcut method - Binary to Hexadecimal
 Shortcut method - Hexadecimal to Binary
3.4 Binary Representation of Integers
When working with any kind of digital electronics in which numbers are
being represented, it is important to understand the different ways
numbers are represented in these systems. Almost without fail,
numbers are represented by two voltage levels which can represent a
one or a zero (an interesting exception to this rule is the new memory
device recently announced by Intel which uses one of four possible
voltage levels, thereby increasing the amount of information that can
be stored in a given space). The number system based on ones and
zeroes is called the binary system (because there are only two
possible digits).
3.5 Binary Representation of Real Numbers
Representing (or encoding) a number means to express it
in binary form. Representing numbers in a computer is necessary in
order for it to be able to store and manipulate them. However, the
problem is that a mathematical number can be infinite (as great as
desired), but the representation of a number in a computer must
occupy a predefined number of bits. The key, then, is being able to
predefine a number of bits, and how to interpret them, so that they can
represent the figure as efficiently as possible. For this reason, it would
be foolish to use 16 bits to encode a character (65536 possibilities)
when less than 256 bits are typically used.
3.6 Representing Characters in Memory
 The data in a computer are not recognized with the help of
alphabets.
 To represent the data there are many code representation available.
 These codes are called alphanumeric codes.
 It has 26 lower case characters, 25 uppercase characters, 10 digits,
7 punctuation marks and anywhere from 20 to 40 other characters.
 The various code formats are available:
○ ASCII (American Standard Code for Information Interchange)
○ ISCII (Indian Script Code for Information Interchange)
○ UNICODE
3.7 ISCII
Indian Script Code for Information Interchange (ISCII) is a coding
scheme for representing various writing systems of India. It encodes
the main Indic scripts and a Roman transliteration. The supported
scripts are: Assamese, Bengali
(Bangla), Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya
, Tamil, and Telugu. ISCII does not encode the writing systems of India
based on Arabic, but its writing system switching codes nonetheless
provide for Kashmiri, Sindhi, Urdu, Persian, Pashto andArabic. The
Arabic-based writing systems were subsequently encoded in
the PASCII encoding.
3.8 UNICODE
Unicode is a computing industry standard for the consistent encoding,
representation, and handling of text expressed in most of the
world's writing systems. Developed in conjunction with the Universal
Character Set standard and published as The Unicode Standard, the
latest version of Unicode contains a repertoire of more than
120,000 characters covering 129 modern and historic scripts, as well
as multiple symbol sets. The standard consists of a set of code charts
for visual reference, an encoding method and set of
standard character encodings, a set of reference data files, and a
number of related items, such as character properties, rules for
normalization, decomposition, collation, rendering,
and bidirectional display order (for the correct display of text containing
both right-to-left scripts, such as Arabic and Hebrew, and left-to-right
scripts).[1] As of June 2015, the most recent version is Unicode 8.0.
The standard is maintained by the Unicode Consortium.
Chapter 4 – Microprocessor Basics: Input, Output and
Memory Devices
 4.1 Introduction
 4.2 Microprocessor Basics
 4.3 Input Devices
 4.4 Output Devices
 4.5 The Memory Devices
 4.6 Ports
Index:
4.1 Introduction
Computers have made great inroads in our everyday life and thinking.
They are put to use for all sorts of applications ranging from complex
calculations in the field or front line research, engineering simulations
down to teaching, printing books and recreational games. The ease
with which computes can process data, store and retrieve it painlessly
have made them inevitable in office and business environments. The
areas of applications of computers are confined only by limitations on
human creativity and imagination.
4.2 Microprocessor Basics
4.3 Input Devices
In computing, an input device is a peripheral (piece of computer
hardware equipment) 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, mice, scanners, digital cameras and joysticks.
Many input devices can be classified according to:
Modality of input (e.g. mechanical motion, audio, visual, etc.) whether
the input is discrete (e.g. key presses) or continuous (e.g. a mouse's
position, though digitized into a discrete quantity, is fast enough to be
considered continuous) the number of degrees of freedom involved
(e.g. two-dimensional traditional mice, or three-dimensional navigators
designed for CAD applications).
4.4 Output Devices
An output device is any piece of computer hardware equipment used
to communicate the results of data processing carried out by
an information processing system (such as a computer) which
converts the electronically generated information into human-readable
form. Some types of output are text, graphics, tactile,[4] audio,
and video. Text consists of characters (letters, numbers, punctuation
marks, or any other symbol requiring one byte of computer storage
space) that are used to create words, sentences, and paragraphs.
Graphics are digital representations of non-text information such as
drawings, charts, photographs, and animation (a series of still images
in rapid sequence that gives the illusion of motion). Tactile output such
as raised line drawings may be useful for some individuals who are
blind. Audio is music, speech, or any other sound. Video consists of
images played back at speeds to provide the appearance of full
motion.
4.5 The Memory Devices
A memory is just like a human brain. It is used to store data and
instruction. Computer memory is the storage space in computer where
data is to be processed and instructions required for processing are
stored.
The memory is divided into large number of small parts. Each part is
called cell. Each location or cell has a unique address which varies
from zero to memory size minus one.
For example if computer has 64k words, then this memory unit has 64
* 1024=65536 memory location. The address of these locations varies
from 0 to 65535.
Memory is primarily of two types
Internal Memory - cache memory and primary/main memory
External Memory - magnetic disk / optical disk etc.
4.6 Ports
In computer hardware, a port serves as an interface between the computer and other
computers or peripheral devices. In computer terms, a port generally refers to the
female part of connection. Computer ports have many uses, to connect
a monitor, webcam, speakers, or other peripheral devices. On the physical layer, a
computer port is a specialized outlet on a piece of equipment to which
a plug or cable connects. Electronically, the several conductors where the port and cable
contacts connect, provide a method to transfer signals between devices.
 Types of ports
 Digital Visual Interface
 DisplayPort
 E-Sata
 IEEE 1394 interface (FireWire)
 PS/2
 Serial
 VGA
 SCSI
 HDMI
 Audioport
Chapter 5 – General OOP Concepts
 5.1 Introduction
 5.2 Evolution of Software
 5.3 Programming Paradigms
 5.4 Basic Concepts of OOP
 5.5 Advantages and Disadvantages of OOP
Index:
5.1 Introduction
With the rapidly changing world and the highly competitive and
versatile nature of industry, the operations are becoming more and
more complex. In view of increasing complexity of software systems,
the software industry and software engineer continuously look for the
new approaches to software design and development. The increased
complexity had become the chief problem with computer programs in
traditional languages. The latest programming approach, Object-
Oriented Programming (OOP), offers a new and powerful way to cope
with this complexity.
5.2 Evolution of Software
The aim of software evolution would be to implement (and revalidate) the
possible major changes to the system without being able a priori to predict
how user requirements will evolve. The existing larger system is never
complete and continues to evolve. As it evolves, the complexity of the system
will grow unless there is a better solution available to solve these issues. The
main objectives of software evolution are ensuring the reliability and flexibility
of the system. During the 20 years past, the lifespan of a system could be on
average 6–10 years. However, it was recently found that a system should be
evolved once every few months to ensure it is adapted to the real-world
environment. This is due to the rapid growth of World Wide Web and Internet
Resources that make it easier for users to find related information. The idea
of software evolution leads to open source development as anybody could
download the source codes and hence modify it. The positive impact in this
case is large amounts of new ideas would be discovered and generated that
aims the system to have better improvement in variety choices.
5.3 Programming Paradigms
A programming paradigm is a fundamental style of computer
programming, serving as a way of building the structure and elements
of computer programs. Capabilities and styles of various programming
languages are defined by their supported programming paradigms;
some programming languages are designed to follow only one
paradigm, while others support multiple paradigms.
Programming paradigms that are often distinguished
include imperative, declarative, functional, object-
oriented, procedural, logic and symbolic programming.[1][2][3] With
different paradigms, programs can be seen and built in different ways;
for example, in object-oriented programming, a program is a collection
of objects interacting in explicitly defined ways, while in declarative
programming the computer is told only what the problem is, not how to
actually solve it.
5.4 Basic Concepts of OOP
Object Oriented programming is a programming style that is associated with the
concept of OBJECTS, having data fields and related member functions.
Objects are instances of classes and are used to interact amongst each other to
create applications. Instance means, the object of class on which we are currently
working. C++ can be said to be as C language with classes. In C++ everything
revolves around object of class, which have their methods & data members.
C++ can be said to be as C language with classes. In C++ everything revolves
around object of class, which have their methods & data members.
 Objects
 Classes
 Abstraction
 Encapsulation
 Inheritance
 Overloading
 Exception Handling
5.5 Advantages and Disadvantages of OOP
Object Oriented Programming has great advantages over other programming styles:
 Code Reuse and Recycling: Objects created for Object Oriented Programs can easily be reused in other programs.
 Encapsulation (part 1): Once an Object is created, knowledge of its implementation is not necessary for its use. In older programs,
coders needed understand the details of a piece of code before using it (in this or another program).
 Encapsulation (part 2): Objects have the ability to hide certain parts of themselves from programmers. This prevents programmers
from tampering with values they shouldn't. Additionally, the object controls how one interacts with it, preventing other kinds of errors.
For example, a programmer (or another program) cannot set the width of a window to -400.
 Design Benefits: Large programs are very difficult to write. Object Oriented Programs force designers to go through an extensive
planning phase, which makes for better designs with less flaws. In addition, once a program reaches a certain size, Object Oriented
Programs are actually easier to program than non-Object Oriented ones.
 Software Maintenance: Programs are not disposable. Legacy code must be dealt with on a daily basis, either to be improved upon
(for a new version of an exist piece of software) or made to work with newer computers and software. An Object Oriented Program is
much easier to modify and maintain than a non-Object Oriented Program. So although a lot of work is spent before the program is
written, less work is needed to maintain it over time.
Object Oriented Programming has several disadvantages which made it unpopular in the early years.
 Size: Object Oriented programs are much larger than other programs. In the early days of computing, space on hard drives, floppy
drives and in memory was at a premium. Today we do not have these restrictions.
 Effort: Object Oriented programs require a lot of work to create. Specifically, a great deal of planning goes into an object oriented
program well before a single piece of code is ever written. Initially, this early effort was felt by many to be a waste of time. In addition,
because the programs were larger (see above) coders spent more time actually writing the program.
 Speed: Object Oriented programs are slower than other programs, partially because of their size. Other aspects of Object Oriented
Programs also demand more system resources, thus slowing the program down.
Computer Science PowerPoint Presentation

More Related Content

What's hot

Chapter 1 introduction to computers
Chapter 1   introduction to computersChapter 1   introduction to computers
Chapter 1 introduction to computers
haider ali
 
Classification of computers (- Minicomputers) (Microcomputers)
Classification of computers (- Minicomputers) (Microcomputers)Classification of computers (- Minicomputers) (Microcomputers)
Classification of computers (- Minicomputers) (Microcomputers)
Maryam Fida
 
Peripheral devices
Peripheral     devicesPeripheral     devices
Peripheral devices
Annie Farooq
 

What's hot (20)

Types of Computer
Types of ComputerTypes of Computer
Types of Computer
 
Cpu ppt cse
Cpu ppt cseCpu ppt cse
Cpu ppt cse
 
Chapter 1 introduction to computers
Chapter 1   introduction to computersChapter 1   introduction to computers
Chapter 1 introduction to computers
 
An introduction to Computer Technology
An introduction to Computer TechnologyAn introduction to Computer Technology
An introduction to Computer Technology
 
Basics of computer applications
Basics of computer applicationsBasics of computer applications
Basics of computer applications
 
Classification of computers (- Minicomputers) (Microcomputers)
Classification of computers (- Minicomputers) (Microcomputers)Classification of computers (- Minicomputers) (Microcomputers)
Classification of computers (- Minicomputers) (Microcomputers)
 
Different Types of Computer
Different Types of ComputerDifferent Types of Computer
Different Types of Computer
 
CLASSIFICATION OF COMPUTERS
CLASSIFICATION OF COMPUTERSCLASSIFICATION OF COMPUTERS
CLASSIFICATION OF COMPUTERS
 
Classification of computers
Classification of computersClassification of computers
Classification of computers
 
Kids computer-programming
Kids computer-programmingKids computer-programming
Kids computer-programming
 
Computer fundamentals
Computer fundamentalsComputer fundamentals
Computer fundamentals
 
Types of computer
Types of computerTypes of computer
Types of computer
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating Systems
 
Peripheral devices
Peripheral     devicesPeripheral     devices
Peripheral devices
 
Classification of Computers
Classification of ComputersClassification of Computers
Classification of Computers
 
Parts of a Computer
Parts of a ComputerParts of a Computer
Parts of a Computer
 
Motherboard ppt
Motherboard pptMotherboard ppt
Motherboard ppt
 
types of computer
types of computer types of computer
types of computer
 
Intro to Bits, Bytes, and Storage
Intro to Bits, Bytes, and StorageIntro to Bits, Bytes, and Storage
Intro to Bits, Bytes, and Storage
 
Introduction and brief history of computers
Introduction and brief history of computersIntroduction and brief history of computers
Introduction and brief history of computers
 

Similar to Computer Science PowerPoint Presentation

What is a computer
What is a computerWhat is a computer
What is a computer
Ofun Emma
 
The Deal
The DealThe Deal
The Deal
adhaval
 

Similar to Computer Science PowerPoint Presentation (20)

Neetu IT Assignment
Neetu IT AssignmentNeetu IT Assignment
Neetu IT Assignment
 
What is a computer
What is a computerWhat is a computer
What is a computer
 
Computer organization
Computer organizationComputer organization
Computer organization
 
Reduce course notes class xi
Reduce course notes class xiReduce course notes class xi
Reduce course notes class xi
 
Atharva Patil_28_9th lilies_Computer Project2.pptx
Atharva Patil_28_9th lilies_Computer Project2.pptxAtharva Patil_28_9th lilies_Computer Project2.pptx
Atharva Patil_28_9th lilies_Computer Project2.pptx
 
Information Technology for Managers - Basics
Information Technology for Managers - BasicsInformation Technology for Managers - Basics
Information Technology for Managers - Basics
 
Module 1.pptx
Module 1.pptxModule 1.pptx
Module 1.pptx
 
Tm 1st mod
Tm 1st modTm 1st mod
Tm 1st mod
 
Day 1
Day   1Day   1
Day 1
 
Advanced Computer Architecture
Advanced Computer ArchitectureAdvanced Computer Architecture
Advanced Computer Architecture
 
Digital Fluency
Digital FluencyDigital Fluency
Digital Fluency
 
UNit 1sbhejsjejdhdhdjjejejdhejjjdjdhdhheh.pptx
UNit 1sbhejsjejdhdhdjjejejdhejjjdjdhdhheh.pptxUNit 1sbhejsjejdhdhdjjejejdhejjjdjdhdhheh.pptx
UNit 1sbhejsjejdhdhdjjejejdhejjjdjdhdhheh.pptx
 
Evolution and classification of computers
Evolution and classification of computersEvolution and classification of computers
Evolution and classification of computers
 
Vicky gharu
Vicky gharuVicky gharu
Vicky gharu
 
Information technology
Information technologyInformation technology
Information technology
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
 
Computer Science Class 11 India PPT
Computer Science Class 11 India PPTComputer Science Class 11 India PPT
Computer Science Class 11 India PPT
 
CSA
CSACSA
CSA
 
The Deal
The DealThe Deal
The Deal
 
COMPUTER.docx
COMPUTER.docxCOMPUTER.docx
COMPUTER.docx
 

More from Ashna Rajput

More from Ashna Rajput (9)

Ambition
Ambition Ambition
Ambition
 
Physics Project
Physics ProjectPhysics Project
Physics Project
 
Sets PowerPoint Presentation
Sets PowerPoint PresentationSets PowerPoint Presentation
Sets PowerPoint Presentation
 
HTML PowerPoint Presentation
HTML PowerPoint PresentationHTML PowerPoint Presentation
HTML PowerPoint Presentation
 
Health PowerPoint Presentation
Health PowerPoint PresentationHealth PowerPoint Presentation
Health PowerPoint Presentation
 
Effects of global warming on weather
Effects of global warming on weatherEffects of global warming on weather
Effects of global warming on weather
 
Chemistry Project
Chemistry ProjectChemistry Project
Chemistry Project
 
Chemistry
Chemistry  Chemistry
Chemistry
 
Information Technology
Information TechnologyInformation Technology
Information Technology
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Computer Science PowerPoint Presentation

  • 2. Index: • Chapter – 1 Computer Overview • Chapter – 2 Working With Operating System • Chapter – 3 Data Representation • Chapter – 4 Microprocessor Basics: Input, Output and Memory Devices • Chapter – 5 General OOP Concepts
  • 3. Chapter – 1 Computer Overview  1.1 Introduction  1.2 Computers are Everywhere  1.3 What is a Computer?  1.4 Functioning of a Computer  1.5 The Generations of Modern Computer  1.6 Types of Computers Index
  • 4. 1.1 Introduction! Computers have made great inroads in our everyday life and thinking. They are put to use for all sorts of applications ranging from complex calculations in the field of frontline research, engineering simulations down to teaching, printing books and recreational games. Any task that can be carried out systematically, can be performed by a computer. It is essential for every education person today to know about a computer, its strength, its weaknesses and its internal structure.
  • 5. 1.2 Computers are Everywhere It’s almost impossible to imagine that we could live without computers. They are not just those devices you have sitting on your desk, they are found in everyday items that we use without thinking about it. Today, almost anything can be done using computers. You can order a pizza using your computer, your parents can work from home with the help of their computer, you can watch movies and videos through the computer, you can listen to music through your computer, you can read novels and books through e-books, you can play games, you can also contact people and talk to them through your computer etc. But these are just but a few things that can be done with the help of computers. Computers are also found in many of the machines we use all the time. You might find computer chips controlling your washing machine, your oven and other household appliances. But they also control cars, trains, trucks and other vehicles. They can even be worn! When you look, you’ll find them almost everywhere.
  • 6. 1.3 What is a Computer? A computer is an electronic device that manipulates information, or data. It has the ability to store, retrieve, and process data. You probably already know that you can use a computer to type documents, send email, play games, and browse the Web. You can also use it to edit or create spreadsheets, presentations, and even videos.
  • 7. 1.4 Functioning of a Computer A typical digital computer consists of: a) A central processor unit (CPU) b) A memory c) Input/output (1/0) ports The memory serves as a place to store Instructions, the coded pieces of information that direct the activities of the CPU, and Data, the coded pieces of information that are processed by the CPU. A group of logically related instructions stored in memory is referred to as a Program. The CPU "reads" each instruction from memory in a logically determined sequence, and uses it to initiate processing actions. If the program sequence is coherent and logical, processing the program will produce intelligible and useful results. The memory is also used to store the data to be manipulated, as well as the instructions that direct that manipulation The program must be organized such that the CPU does not read a non-instruction word when it expects to see an instruction. The CPU can rapidly access any data stored in memory; but often the memory is not large enough to store the entire data bank required for a particular application. The problem can be resolved by providing the computer with one or more Input Ports. The CPU can address these ports and input the data contained there. The addition of input ports enables the computer to receive information from external equipment (such as a paper tape reader or floppy disk) at high rates of speed and in large volumes. A computer also requires one or more Output Ports that permit the CPU to communicate the result of its processing to the outside world. The output may go to a display, for use by a human operator, to a peripheral device that produces "hardcopy," such as a line-printer, to a peripheral storage device, such as a floppy disk unit, or the output may constitute process control signals that direct the operations of another system, such as an automated assembly line. Like input ports, output ports are addressable. The input and output ports together permit the processor to communicate with the outside world. The CPU unifies the system. It controls the functions performed by the other components. The CPU must be able to fetch instructions from memory, decode their binary contents and execute them. It must also be able to reference memory and 1/0 ports as necessary in the execution of instructions. In addition, the CPU should be able to recognize and respond to certain external control signals, such as INTERRUPT and WAIT requests. The functional units within a CPU that enable it to perform these functions are described below.
  • 8. 1.5 The Generations of a Modern Computer 1.5.1 First Generation (1940-1956) Vacuum Tubes: The first computers used vacuum tubes for circuitry and magnetic drums for memory, and were often enormous, taking up entire rooms. They were very expensive to operate and in addition to using a great deal of electricity, generated a lot of heat, which was often the cause of malfunctions. First generation computers relied on machine language, the lowest-level programming language understood by computers, to perform operations, and they could only solve one problem at a time. Input was based on punched cards and paper tape, and output was displayed on printouts. The UNIVAC and ENIAC computers are examples of first-generation computing devices. The UNIVAC was the first commercial computer delivered to a business client, the U.S. Census Bureau in 1951.
  • 9. 1.5.2 Second Generation (1956-1963) Transistors Transistors replaced vacuum tubes and ushered in the second generation of computers. The transistor was invented in 1947 but did not see widespread use in computers until the late 1950s. The transistor was far superior to the vacuum tube, allowing computers to become smaller, faster, cheaper, more energy-efficient and more reliable than their first- generation predecessors. Though the transistor still generated a great deal of heat that subjected the computer to damage, it was a vast improvement over the vacuum tube. Second-generation computers still relied on punched cards for input and printouts for output. Second-generation computers moved from cryptic binary machine language to symbolic, or assembly, languages, which allowed programmers to specify instructions in words. High-level programming languages were also being developed at this time, such as early versions of COBOL and FORTRAN. These were also the first computers that stored their instructions in their memory, which moved from a magnetic drum to magnetic core technology. The first computers of this generation were developed for the atomic energy industry.
  • 10. 1.5.3 Third Generation (1964-1971) Integrated Circuits The development of the integrated circuit was the hallmark of the third generation of computers. Transistors were miniaturized and placed on silicon chips, called semiconductors, which drastically increased the speed and efficiency of computers. Instead of punched cards and printouts, users interacted with third generation computers through keyboards and monitors and interfaced with an operating system, which allowed the device to run many different applications at one time with a central program that monitored the memory. Computers for the first time became accessible to a mass audience because they were smaller and cheaper than their predecessors.
  • 11. 1.5.4 Fourth Generation (1971-Present) Microprocessors The microprocessor brought the fourth generation of computers, as thousands of integrated circuits were built onto a single silicon chip. What in the first generation filled an entire room could now fit in the palm of the hand. The Intel 4004 chip, developed in 1971, located all the components of the computer—from the central processing unit and memory to input/output controls—on a single chip. In 1981 IBM introduced its first computer for the home user, and in 1984 Apple introduced the Macintosh. Microprocessors also moved out of the realm of desktop computers and into many areas of life as more and more everyday products began to use microprocessors. As these small computers became more powerful, they could be linked together to form networks, which eventually led to the development of the Internet. Fourth generation computers also saw the development of GUIs, the mouse and handheld devices.
  • 12. 1.5.5 Fifth Generation (Present and Beyond) Artificial Intelligence Fifth generation computing devices, based on artificial intelligence, are still in development, though there are some applications, such as voice recognition, that are being used today. The use of parallel processing and superconductors is helping to make artificial intelligence a reality. Quantum computation and molecular and nanotechnology will radically change the face of computers in years to come. The goal of fifth-generation computing is to develop devices that respond to natural language input and are capable of learning and self-organization.
  • 13. 1.6 Types of Computers Sr. No. Type Specifications 1 PC (Personal Computer) It is a single user computer system having moderately powerful microprocessor 2 WorkStation It is also a single user computer system which is similar to personal computer but have more powerful microprocessor. 3 Mini Computer It is a multi-user computer system which is capable of supporting hundreds of users simultaneously. 4 Main Frame It is a multi-user computer system which is capable of supporting hundreds of users simultaneously. Software technology is different from minicomputer. 5 Supercomputer It is an extremely fast computer which can execute hundreds of millions of instructions per second.
  • 14. Chapter 2 – Working with Operating System  2.1 Introduction  2.2 Introduction to Windows 7 Operating System  2.3 Directory Structure of Windows OS  2.4 Explore your Computer  2.5 Starting and Closing Programs  2.6 Managing Files and Folders  2.7 Creating Shortcuts  2.8 Shutting Down The Computer  2.9 Types of Software  2.10 The Need of Operating System  2.11 Types of Services  2.12 Operating System’s Functions  2.13 Processor Management  2.14 Storage Management  2.15 Information Management  2.16 Some Commonly used Operating Systems Index:
  • 15. 2.1 Introduction! An operating system (OS) is the software component of a computer system that is responsible for the management and coordination of activities and the sharing of the resources of the computer. The OS acts as a host for application programs that are run on the machine. As a host, one of the purposes of an OS is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers use an OS of some type.
  • 16. 2.2 Introduction to Windows 7 Operating System Windows 7 (codenamed Vienna and also known as Blackcomb[8]) is a personal computer operating system developed by Microsoft. It is a part of Windows NT family of operating systems. Windows 7 was released to manufacturing on July 22, 2009,[9] and became generally available on October 22, 2009,[10] less than three years after the release of its predecessor, Windows Vista. Windows 7's server counterpart, Windows Server 2008 R2, was released at the same time. Windows 7 was primarily intended to be an incremental upgrade to the operating system, intending to address Windows Vista's critical reception (such as performance improvements), while maintaining hardware and software compatibility. Windows 7 continued improvements on Windows Aero (the user interface introduced in Windows Vista) with the addition of a redesigned taskbar that allows applications to be "pinned" to it, and new window management features. Other new features were added to the operating system, including libraries, the new file sharing system Home Group, and support for multi-touch input. A new "Action Center" interface was also added to provide an overview of system security and maintenance information, and tweaks were made to the User Account Control system to make it less intrusive. Windows 7 also shipped with updated versions of several stock applications, including Internet Explorer 8, Windows Media Player, and Windows Media Center.
  • 17. 2.3 Directory Structure of Windows OS Directory Description C: Root of the system drive PerfLogs Windows performance logs Program Files 32-bit architecture: 32-bit user applications 64-bit architecture: 64-bit user applications Program Files (x86) 32-bit architecture: absent 64-bit architecture: 32-bit user applications ProgramData Global application data Users User folders Public Shared user folders Windows System files Boot Boot loader files System32 System kernel and drivers
  • 18. 2.4 Explore your Computer To begin exploring your computer, perform the following: Click Start to bring up the Window shown below, and then click My Computer. After clicking MY Computer, you will see the Window below. Exploring Your Computer This is what is shown on my desktop computer, yours may be different. We all have a C‐drive and a CD or DVD drive but I have 4 hard drives. Page 2 of 7 Exploring Your Computer In the figure below, this is what I’d see if I double‐clicked my C‐drive. It contains both Folders and Files. In this figure, I’ve double‐clicked my D‐drive. I’m looking for a folder labeled Pictures. Page 3 of 7 Exploring Your Computer In the figure below, I’ve double‐clicked a folder on my D‐drive. Here I’m viewing the contents of the Africa folder in the Filmstrip view. You can see that I’ve renamed my files to Africa 01, Africa 02, etc. Page 4 of 7 Exploring Your Computer Here’s a folder where the files still have the original Filenames as created by the camera. This view is the Thumbnail View. Page 5 of 7 Exploring Your Computer Here, is the same folder as shown above with Windows XP configured to show File Extensions. Notice that all extensions are JPG except for a video which is an AVI. Without file extensions showing, it’s difficult to tell what type of file you’re looking at. If you were to double‐click a file, technically its icon, any one of a number of things can happen depending on your computer’s setup and the software you have installed. This is a subject for another time. FILENAMES When an image is saved, the camera assigns it a filename so you can identify it later. Filenames have two parts, an 8‐character filename and a 3‐characterextension. Think of them as first and last names. The name is unique to each file, and the extension, separated from the name by a period, identifies the file’s format. For example, a JPG extension means it’s a JPEG image file, and TIF means it’s a TIFF image file. File Names and Extensions can be in lower or upper case Extensions play another important role. An extension can be associated with a program on your system so if you double‐click a file, the associated program opens. Also, when you use an application program to open files, it often lists only those files with extensions that it can open. (You can list other file types Page 6 of 7 Exploring Your Computer Page 7 of 7 but is usually requires an additional step or two.) If you change the extension, your system may no longer know what to do with the file. The first four characters in an image file’s name, called free characters, can only be uppercase letters A– Z. The last four characters form a number between 0001 and 9999 and are called the file number. Canon uses the first four free characters IMG_ followed by the file number, Nikon uses DSCN, and Sony uses DSC0. Once transferred to your computer, you can rename images with longer and more descriptive names.
  • 19. 2.5 Starting and Closing Programs -Open an Application via the Desktop Let’s review a few concepts we covered on a previous lessons. The Desktop is the image you see when your computer powers on. Located on your Desktop are Icons and these Icons are graphic images that when clicked will Open or “start” a program. Placed on your Desktop is an Icon to a commonly played card game called Solitaire. We will use this application to practice Opening and Closing an application. Click on the Solitaire Icon to open the application. -Close an Application After clicking on the Solitaire Icon, the application will Open or start. A screen similar to below will appear. On the screen in the upper right corner is a red X : . Click on the to close the application. Closing the application will stop or end the program, putting it away.
  • 20. 2.6 Managing Files and Folders I know - being organized can be boring, but after you have created countless amounts of files, stored all over your computer and you have 754 "New Folders, you'll see the point in being organized! Just like with everything else in your house, it is nice to know where to find things. Your windows operating system even makes things easy for you by giving you several pre-made folders like "My Documents" and inside that folder, you will find "My Music", "My Pictures" etc. Of course you can make your own folders for pictures and music files, too, if you want. Double-click your "My Documents" Icon on your desktop - and you will see all the folders already provided for you. When you want to save a document or a file you have created, you have several choices to where you want to save it. Double-click your "My Computer" icon on the desktop The window will be showing you YOUR drives. The picture above is just an example. Some computers will have a D: drive under the section of hard disk drives (sometimes called a Data drive) - like in my example above. If you have one, I suggest to you to use that drive for storage. If you DON'T have a D: drive use the "My Documents" folder. If you have a D: drive, you can store you files in folders you create. WARNING Your "My Documents" folder is a system folder. You can store files, create new sub folders inside it, and even back-up (make a copy) of that whole folder to another location, just don't move that folder to any other location on your computer! If you remove it or move it somewhere else, you'll might mess up your system!
  • 21. 2.7 Creating Shortcuts To create a shortcut on the desktop to other objects (such as a folder or computer), follow these steps: Use My Computer or Windows Explorer to locate the object to which you want to create a shortcut. Right-click the object, and then click Create shortcut. Drag the new shortcut to an open area on the desktop.
  • 22. 2.8 Shutting Down the Computer Use the Shut down button on the Start menu To turn off your computer using the Start menu, click the Start button , and then, in the lower-right corner of the Start menu, click Shut down. When you click Shut down, your computer closes all open programs, along with Windows itself, and then completely turns off your computer and display. Shutting down doesn't save your work, so you must save your files first. Click the arrow next to the Shut down button for more options.
  • 23. 2.9 Types of Software The term 'software' refers to the set of electronic program instructions or data a computer processor reads in order to perform a task or operation. In contrast, the term 'hardware' refers to the physical components that you can see and touch, such as the computer hard drive, mouse, and keyboard. Software can be categorized according to what it is designed to accomplish. There are two main types of software: systems software and application software. Systems Software Systems software includes the programs that are dedicated to managing the computer itself, such as the operating system, file management utilities, and disk operating system (or DOS). The operating system manages the computer hardware resources in addition to applications and data. Without systems software installed in our computers we would have to type the instructions for everything we wanted the computer to do! Applications Software Application software, or simply applications, are often called productivity programs or end- user programs because they enable the user to complete tasks such as creating documents, spreadsheets, databases, and publications, doing online research, sending email, designing graphics, running businesses, and even playing games! Application software is specific to the task it is designed for and can be as simple as a calculator application or as complex as a word processing application.
  • 24. 2.10 The Need of Operating System Your computer's operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are many different computer programs running at the same time, and they all need to access your computer's central processing unit (CPU), memory, and storage.
  • 25. 2.11 Types of Services 1. Program Execution: The purpose of computer system is to allow the users to execute programs in an efficient manner. The operating system provides an environment where the user can conveniently run these programs. The user does not have to worry about the memory allocation or de-allocation or any other thing because these things are taken care of by the operating system. 2. I/O Operations: Each program requires an input and after processing the input submitted by user it produces output. This involves the use of I/O devices. The operating system hides the user from all these details of underlying hardware for the I/O. So the operating system makes the users convenient to run programs by providing I/O functions. The I/O service cannot be provided by user-level programs and it must be provided by the operating system. 3. File System Manipulation: While working on the computer, generally a user is required to manipulate various types of files like as opening a file, saving a file and deleting a file from the storage disk. This is an important task that is also performed by the operating system. Thus operating system makes it easier for the user programs to accomplish their task by providing the file system manipulation service. This service is performed by the 'Secondary Storage Management' a part of the operating system. 4. Communication: Operating system performs the communication among various types of processes in the form of shared memory. In multitasking environment, the processes need to communicate with each other and to exchange their information. These processes are created under a hierarchical structure where the main process is known as parent process and the sub processes are known as child processes. 5. Error Detection: Operating system also deals with hardware problems. To avoid hardware problems the operating system constantly monitors the system for detecting the errors and fixing these errors (if found). The main function of operating system is to detect the errors like bad sectors on hard disk, memory overflow and errors related to I/O devices. After detecting the errors, operating system takes an appropriate action for consistent computing. 6. Resource allocation: In the multitasking environment, when multiple jobs are running at a time, it is the responsibility of an operating system to allocate the required resources (like as CPU, main memory, tape drive or secondary storage etc.) to each process for its better utilization. For this purpose various types of algorithms are implemented such as process scheduling, CPU scheduling, disk scheduling etc. 7. Accounting: Operating system keeps an account of all the resources accessed by each process or user. In multitasking, accounting enhances the system performance with the allocation of resources to each process ensuring the satisfaction to each process. 8. Protection System: If a computer system has multiple users and allows the concurrent execution of multiple processes, then the various processes must be protected from one another's activities.
  • 26. 2.12 Operating System’s Functions The basic functions of an operating system are: -Booting the computer. -Performs basic computer tasks example, managing the various peripheral devices like mouse and keyboard. -Provides a user interface, e.g. command line, graphical user interface (GUI). -Handles system resources such as computer's memory and sharing of the central processing unit (CPU) time by various applications or peripheral devices. -Provides file management which refers to the way that the operating system manipulates, stores, retrieves and saves data.
  • 27. 2.13 Processor Management Process management is an integral part of any modern-day operating system (OS). The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronization among processes.
  • 28. 2.14 Storage Management The term storage management encompasses the technologies and processes organizations use to maximize or improve the performance of their data storage resources. It is a broad category that includes virtualization, replication, mirroring, security, compression, traffic analysis, process automation, storage provisioning and related techniques. By some estimates, the amount of digital information stored in the world's computer systems is doubling every year. As a result, organizations feel constant pressure to expand their storage capacity. However, doubling a company's storage capacity every year is an expensive proposition. In order to reduce some of those costs and improve the capabilities and security of their storage solutions, organizations turn to a variety of storage management solutions.
  • 29. 2.15 Information Management Information management (IM) concerns a cycle of organizational activity: the acquisition of information from one or more sources, the custodianship and the distribution of that information to those who need it, and its ultimate disposition through archiving or deletion.
  • 30. 2.16 Some Commonly used Operating Systems Examples of popular modern operating systems include Android, BlackBerry 10, BSD, Chrome OS, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and z/OS. The first eight of these examples share roots in UNIX.
  • 31. Chapter 3 – Data Representation  3.1 Introduction  3.2 Digital Number Systems  3.3 Number Conversions  3.4 Binary Representation of Integers  3.5 Binary Representation of Real Numbers  3.6 Representing Characters in Memory  3.7 ISCII  3.8 UNICODE Index:
  • 32. 3.1 Introduction  Early computer systems used electrical switches and when electrical switches were replaced by less mechanical devices such as vacuum tubes, than the transistor, the integrated circuit, the concept of switching on and off remained with computers but a representation of the on/off behavior of computers had to be made.  The term, digital, in computing and electronics applies to converting real-world information to binary numeric form.  The binary (base-2) number system represents two discreet values using two symbols or digits -- 0 and 1.  Because this is relatively simple to implement in electronic circuitries made up of switches, the binary system maps on quite easily to all modern digital computers.  The binary number system, where a zero symbolizes no electrical current (OFF) and a one represents electrical current exists (ON) developed and became the standard means of representing internal computer workings.  By combining a series of these 0s and 1s (OFF/ON), the computer is capable of representing a number of complex things.  All computer data (alpha-numeric symbols and characters, audio, graphics and video) are represented or encoded using sequences of binary digits that are interpreted according to appropriate software.  Below are some simple examples illustrating how binary numbers may be used to represent different data according to different interpretive systems.
  • 33. 3.2 Digital Number Systems A digital system can understand positional number system only where there are only a few symbols called digits and these symbols represent different values depending on the position they occupy in the number. A value of each digit in a number can be determined using. The digit. The position of the digit in the number.
  • 34. 3.3 Number Conversions There are many methods or techniques which can be used to convert numbers from one base to another.  Decimal to Other Base System  Other Base System to Decimal  Other Base System to Non-Decimal  Shortcut method - Binary to Octal  Shortcut method - Octal to Binary  Shortcut method - Binary to Hexadecimal  Shortcut method - Hexadecimal to Binary
  • 35. 3.4 Binary Representation of Integers When working with any kind of digital electronics in which numbers are being represented, it is important to understand the different ways numbers are represented in these systems. Almost without fail, numbers are represented by two voltage levels which can represent a one or a zero (an interesting exception to this rule is the new memory device recently announced by Intel which uses one of four possible voltage levels, thereby increasing the amount of information that can be stored in a given space). The number system based on ones and zeroes is called the binary system (because there are only two possible digits).
  • 36. 3.5 Binary Representation of Real Numbers Representing (or encoding) a number means to express it in binary form. Representing numbers in a computer is necessary in order for it to be able to store and manipulate them. However, the problem is that a mathematical number can be infinite (as great as desired), but the representation of a number in a computer must occupy a predefined number of bits. The key, then, is being able to predefine a number of bits, and how to interpret them, so that they can represent the figure as efficiently as possible. For this reason, it would be foolish to use 16 bits to encode a character (65536 possibilities) when less than 256 bits are typically used.
  • 37. 3.6 Representing Characters in Memory  The data in a computer are not recognized with the help of alphabets.  To represent the data there are many code representation available.  These codes are called alphanumeric codes.  It has 26 lower case characters, 25 uppercase characters, 10 digits, 7 punctuation marks and anywhere from 20 to 40 other characters.  The various code formats are available: ○ ASCII (American Standard Code for Information Interchange) ○ ISCII (Indian Script Code for Information Interchange) ○ UNICODE
  • 38. 3.7 ISCII Indian Script Code for Information Interchange (ISCII) is a coding scheme for representing various writing systems of India. It encodes the main Indic scripts and a Roman transliteration. The supported scripts are: Assamese, Bengali (Bangla), Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya , Tamil, and Telugu. ISCII does not encode the writing systems of India based on Arabic, but its writing system switching codes nonetheless provide for Kashmiri, Sindhi, Urdu, Persian, Pashto andArabic. The Arabic-based writing systems were subsequently encoded in the PASCII encoding.
  • 39. 3.8 UNICODE Unicode is a computing industry standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. Developed in conjunction with the Universal Character Set standard and published as The Unicode Standard, the latest version of Unicode contains a repertoire of more than 120,000 characters covering 129 modern and historic scripts, as well as multiple symbol sets. The standard consists of a set of code charts for visual reference, an encoding method and set of standard character encodings, a set of reference data files, and a number of related items, such as character properties, rules for normalization, decomposition, collation, rendering, and bidirectional display order (for the correct display of text containing both right-to-left scripts, such as Arabic and Hebrew, and left-to-right scripts).[1] As of June 2015, the most recent version is Unicode 8.0. The standard is maintained by the Unicode Consortium.
  • 40. Chapter 4 – Microprocessor Basics: Input, Output and Memory Devices  4.1 Introduction  4.2 Microprocessor Basics  4.3 Input Devices  4.4 Output Devices  4.5 The Memory Devices  4.6 Ports Index:
  • 41. 4.1 Introduction Computers have made great inroads in our everyday life and thinking. They are put to use for all sorts of applications ranging from complex calculations in the field or front line research, engineering simulations down to teaching, printing books and recreational games. The ease with which computes can process data, store and retrieve it painlessly have made them inevitable in office and business environments. The areas of applications of computers are confined only by limitations on human creativity and imagination.
  • 43. 4.3 Input Devices In computing, an input device is a peripheral (piece of computer hardware equipment) 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, mice, scanners, digital cameras and joysticks. Many input devices can be classified according to: Modality of input (e.g. mechanical motion, audio, visual, etc.) whether the input is discrete (e.g. key presses) or continuous (e.g. a mouse's position, though digitized into a discrete quantity, is fast enough to be considered continuous) the number of degrees of freedom involved (e.g. two-dimensional traditional mice, or three-dimensional navigators designed for CAD applications).
  • 44. 4.4 Output Devices An output device is any piece of computer hardware equipment used to communicate the results of data processing carried out by an information processing system (such as a computer) which converts the electronically generated information into human-readable form. Some types of output are text, graphics, tactile,[4] audio, and video. Text consists of characters (letters, numbers, punctuation marks, or any other symbol requiring one byte of computer storage space) that are used to create words, sentences, and paragraphs. Graphics are digital representations of non-text information such as drawings, charts, photographs, and animation (a series of still images in rapid sequence that gives the illusion of motion). Tactile output such as raised line drawings may be useful for some individuals who are blind. Audio is music, speech, or any other sound. Video consists of images played back at speeds to provide the appearance of full motion.
  • 45. 4.5 The Memory Devices A memory is just like a human brain. It is used to store data and instruction. Computer memory is the storage space in computer where data is to be processed and instructions required for processing are stored. The memory is divided into large number of small parts. Each part is called cell. Each location or cell has a unique address which varies from zero to memory size minus one. For example if computer has 64k words, then this memory unit has 64 * 1024=65536 memory location. The address of these locations varies from 0 to 65535. Memory is primarily of two types Internal Memory - cache memory and primary/main memory External Memory - magnetic disk / optical disk etc.
  • 46. 4.6 Ports In computer hardware, a port serves as an interface between the computer and other computers or peripheral devices. In computer terms, a port generally refers to the female part of connection. Computer ports have many uses, to connect a monitor, webcam, speakers, or other peripheral devices. On the physical layer, a computer port is a specialized outlet on a piece of equipment to which a plug or cable connects. Electronically, the several conductors where the port and cable contacts connect, provide a method to transfer signals between devices.  Types of ports  Digital Visual Interface  DisplayPort  E-Sata  IEEE 1394 interface (FireWire)  PS/2  Serial  VGA  SCSI  HDMI  Audioport
  • 47. Chapter 5 – General OOP Concepts  5.1 Introduction  5.2 Evolution of Software  5.3 Programming Paradigms  5.4 Basic Concepts of OOP  5.5 Advantages and Disadvantages of OOP Index:
  • 48. 5.1 Introduction With the rapidly changing world and the highly competitive and versatile nature of industry, the operations are becoming more and more complex. In view of increasing complexity of software systems, the software industry and software engineer continuously look for the new approaches to software design and development. The increased complexity had become the chief problem with computer programs in traditional languages. The latest programming approach, Object- Oriented Programming (OOP), offers a new and powerful way to cope with this complexity.
  • 49. 5.2 Evolution of Software The aim of software evolution would be to implement (and revalidate) the possible major changes to the system without being able a priori to predict how user requirements will evolve. The existing larger system is never complete and continues to evolve. As it evolves, the complexity of the system will grow unless there is a better solution available to solve these issues. The main objectives of software evolution are ensuring the reliability and flexibility of the system. During the 20 years past, the lifespan of a system could be on average 6–10 years. However, it was recently found that a system should be evolved once every few months to ensure it is adapted to the real-world environment. This is due to the rapid growth of World Wide Web and Internet Resources that make it easier for users to find related information. The idea of software evolution leads to open source development as anybody could download the source codes and hence modify it. The positive impact in this case is large amounts of new ideas would be discovered and generated that aims the system to have better improvement in variety choices.
  • 50. 5.3 Programming Paradigms A programming paradigm is a fundamental style of computer programming, serving as a way of building the structure and elements of computer programs. Capabilities and styles of various programming languages are defined by their supported programming paradigms; some programming languages are designed to follow only one paradigm, while others support multiple paradigms. Programming paradigms that are often distinguished include imperative, declarative, functional, object- oriented, procedural, logic and symbolic programming.[1][2][3] With different paradigms, programs can be seen and built in different ways; for example, in object-oriented programming, a program is a collection of objects interacting in explicitly defined ways, while in declarative programming the computer is told only what the problem is, not how to actually solve it.
  • 51. 5.4 Basic Concepts of OOP Object Oriented programming is a programming style that is associated with the concept of OBJECTS, having data fields and related member functions. Objects are instances of classes and are used to interact amongst each other to create applications. Instance means, the object of class on which we are currently working. C++ can be said to be as C language with classes. In C++ everything revolves around object of class, which have their methods & data members. C++ can be said to be as C language with classes. In C++ everything revolves around object of class, which have their methods & data members.  Objects  Classes  Abstraction  Encapsulation  Inheritance  Overloading  Exception Handling
  • 52. 5.5 Advantages and Disadvantages of OOP Object Oriented Programming has great advantages over other programming styles:  Code Reuse and Recycling: Objects created for Object Oriented Programs can easily be reused in other programs.  Encapsulation (part 1): Once an Object is created, knowledge of its implementation is not necessary for its use. In older programs, coders needed understand the details of a piece of code before using it (in this or another program).  Encapsulation (part 2): Objects have the ability to hide certain parts of themselves from programmers. This prevents programmers from tampering with values they shouldn't. Additionally, the object controls how one interacts with it, preventing other kinds of errors. For example, a programmer (or another program) cannot set the width of a window to -400.  Design Benefits: Large programs are very difficult to write. Object Oriented Programs force designers to go through an extensive planning phase, which makes for better designs with less flaws. In addition, once a program reaches a certain size, Object Oriented Programs are actually easier to program than non-Object Oriented ones.  Software Maintenance: Programs are not disposable. Legacy code must be dealt with on a daily basis, either to be improved upon (for a new version of an exist piece of software) or made to work with newer computers and software. An Object Oriented Program is much easier to modify and maintain than a non-Object Oriented Program. So although a lot of work is spent before the program is written, less work is needed to maintain it over time. Object Oriented Programming has several disadvantages which made it unpopular in the early years.  Size: Object Oriented programs are much larger than other programs. In the early days of computing, space on hard drives, floppy drives and in memory was at a premium. Today we do not have these restrictions.  Effort: Object Oriented programs require a lot of work to create. Specifically, a great deal of planning goes into an object oriented program well before a single piece of code is ever written. Initially, this early effort was felt by many to be a waste of time. In addition, because the programs were larger (see above) coders spent more time actually writing the program.  Speed: Object Oriented programs are slower than other programs, partially because of their size. Other aspects of Object Oriented Programs also demand more system resources, thus slowing the program down.