You are on page 1of 20



Computer programming (often shortened to programming or coding) is the process of

writing, testing, debugging/troubleshooting, and maintaining the source code of computer
programs. This source code is written in a programming language. The code may be a
modification of an existing source or something completely new. The purpose of
programming is to create a program that exhibits a certain desired behaviour
(customization). The process of writing source code often requires expertise in many
different subjects, including knowledge of the application domain, specialized algorithms
and formal logic.


The concept of devices that operate following a pre-defined set of instructions traces back
to Greek Mythology, notably Hephaestus and his mechanical servants. The Antikythera
mechanism was a calculator utilizing gears of various sizes and configuration to
determine its operation. The earliest known programmable machines (machines whose
behavior can be controlled and predicted with a set of instructions) were Al-Jazari's
programmable Automata in 1206. One of Al-Jazari's robots was originally a boat with
four automatic musicians that floated on a lake to entertain guests at royal drinking
parties. Programming this mechanism's behavior meant placing pegs and cams into a
wooden drum at specific locations. These would then bump into little levers that operate
a percussion instrument. The output of this device was a small drummer playing various
rhythms and drum patterns. Another sophisticated programmable machine by Al-Jazari
was the castle clock, notable for its concept of variables which the operator could
manipulate as necessary (i.e. the length of day and night). The Jacquard Loom, which
Joseph Marie Jacquard developed in 1801, uses a series of pasteboard cards with holes
punched in them. The hole pattern represented the pattern that the loom had to follow in
weaving cloth. The loom could produce entirely different weaves using different sets of
cards. Charles Babbage adopted the use of punched cards around 1830 to control his
Analytical Engine. The synthesis of numerical calculation, predetermined operation and
output, along with a way to organize and input instructions in a manner relatively easy for
humans to conceive and produce, led to the modern development of computer
programming. Development of computer programming accelerated through the Industrial


Whatever the approach to software development may be, the final program must satisfy
some fundamental properties. The following five properties are among the most relevant:

• Efficiency/performance: the amount of system resources a program consumes

(processor time, memory space, slow devices such as disks, network bandwidth
and to some extent even user interaction): the less, the better. This also includes
correct disposal of some resources, such as cleaning up temporary files and lack
of memory leaks.
• Reliability: how often the results of a program are correct. This depends on
conceptual correctness of algorithms, and minimization of programming mistakes,
such as mistakes in resource management (e.g. buffer overflows and race
conditions) and logic errors (such as division by zero).
• Robustness: how well a program anticipates problems not due to programmer
error. This includes situations such as incorrect, inappropriate or corrupt data,
unavailability of needed resources such as memory, operating system services and
network connections, and user error.
• Usability: the ergonomics of a program: the ease with which a person can use the
program for its intended purpose, or in some cases even unanticipated purposes.
Such issues can make or break its success even regardless of other issues. This
involves a wide range of textual, graphical and sometimes hardware elements that
improve the clarity, intuitiveness, cohesiveness and completeness of a program's
user interface.
• Portability: the range of computer hardware and operating system platforms on
which the source code of a program can be compiled/interpreted and run. This
depends on differences in the programming facilities provided by the different
platforms, including hardware and operating system resources, expected
behaviour of the hardware and operating system, and availability of platform
specific compilers (and sometimes libraries) for the language of the source code.


The academic field and the engineering practice of computer programming are both
largely concerned with discovering and implementing the most efficient algorithms for a
given class of problem. For this purpose, algorithms are classified into orders using so-
called Big O notation, O(n), which expresses resource use, such as execution time or
memory consumption, in terms of the size of an input. Expert programmers are familiar
with a variety of well-established algorithms and their respective complexities and use
this knowledge to choose algorithms that are best suited to the circumstances.


The first step in most formal software development projects is requirements analysis,
followed by testing to determine value modeling, implementation, and failure elimination
(debugging). There exist a lot of differing approaches for each of those tasks. One
approach popular for requirements analysis is Use Case analysis.

Popular modeling techniques include Object-Oriented Analysis and Design (OOAD) and
Model-Driven Architecture (MDA). The Unified Modeling Language (UML) is a
notation used for both OOAD and MDA.

A similar technique used for database design is Entity-Relationship Modeling (ER


Implementation techniques include imperative languages (object-oriented or procedural),

functional languages, and logic languages.


It is very difficult to determine what are the most popular of modern programming
languages. Some languages are very popular for particular kinds of applications (e.g.,
COBOL is still strong in the corporate data center, often on large mainframes,
FORTRAN in engineering applications, scripting languages in web development, and C
in embedded applications), while some languages are regularly used to write many
different kinds of applications.

Methods of measuring language popularity include: counting the number of job

advertisements that mention the language, the number of books teaching the language
that are sold (this overestimates the importance of newer languages), and estimates of the
number of existing lines of code written in the language (this underestimates the number
of users of business languages such as COBOL).


Debugging is a very important task in the software development process, because an

incorrect program can have significant consequences for its users. Some languages are
more prone to some kinds of faults because their specification does not require compilers
to perform as much checking as other languages. Use of a static analysis tool can help
detect some possible problems.

Debugging is often done with IDEs like Visual Studio, NetBeans, and Eclipse.
Standalone debuggers like gdb are also used, and these often provide less of a visual
environment, usually using a command line.


Microsoft Word is Microsoft's word processing software. It was first released in 1983
under the name Multi-Tool Word for Xenix systems.[1][2][3] Versions were later written
for several other platforms including IBM PCs running DOS (1983), the Apple
Macintosh (1984), SCO UNIX, OS/2 and Microsoft Windows (1989). It is a component
of the Microsoft Office system; however, it is also sold as a standalone product and
included in Microsoft Works Suite. Beginning with the 2003 version, the branding was
revised to emphasize Word's identity as a component within the Office suite; Microsoft
began calling it Microsoft Office Word instead of merely Microsoft Word. The latest
releases are Word 2007 for Windows and Word 2008 for Mac OS X.

File extension

Microsoft Word's native file formats are denoted either by a .doc or .docx file extension.

Although the ".doc" extension has been used in many different versions of Word, it
actually encompasses five distinct file formats:

1. Word for DOS

2. Word for Windows 1 and 2; Word 4 and 5 for Mac
3. Word 6 and Word 95 for Windows; Word 6 for Mac
4. Word 97, 2000, 2002 and 2003 for Windows; Word 98, 2001, X, and 2004 for
5. Word 2007 for Windows; Word 2008 for Mac
The newer ".docx" extension signifies the Office Open XML international standard for
office documents and is used by Word 2007 for Windows, Word 2008 for the Macintosh,
as well as by a growing number of applications from other vendors.

Microsoft Word

Microsoft Office Word 2007 in Windows Vista

Developer(s) Microsoft
12.0.6425.1000 (2007 SP2) / April 28,
Stable release
Operating system Microsoft Windows
Type Word processor
License Proprietary EULA
Website Microsoft Word Windows
FEATURES AND FLAWS is the master template from which all Word documents are created. It is one
of the most important files in Microsoft Word. It determines the margin defaults as well
as the layout of the text and font defaults. Although is already set with certain
defaults, the user can change to new defaults. This will change other
documents that were created using the template and saved with the option to
automatically update the formatting styles.


Like other Microsoft Office documents, Word files can include advanced macros and
even embedded programs. The language was originally WordBasic, but changed to
Visual Basic for Applications as of Word 97.

This extensive functionality can also be used to run and propagate viruses in documents.
The tendency for people to exchange Word documents via email, USB key, and floppy
makes this an especially attractive vector. A prominent example is the Melissa worm, but
countless others have existed in the wild. Some anti-virus software can detect and clean
common macro viruses, and firewalls may prevent worms from transmitting themselves
to other systems.

These Macro viruses are the only known cross-platform threats between Windows and
Macintosh computers and they were the only infection vectors to affect any Mac OS X
system up until the advent of video codec trojans in 2007. Microsoft's released patches
for Word X and Word 2004 effectively eliminated the Macro problem on the Mac by

Word's macro security setting, which regulates when macros may execute, can be
adjusted by the user, but in the most recent versions of Word, is set to HIGH by default,
generally reducing the risk from macro-based viruses, which have become uncommon.

Layout issues

As of Word 2007 for Windows (and Word 2004 for Macintosh), the program has been
unable to handle ligatures defined in TrueType fonts: those ligature glyphs with Unicode
codepoints may be inserted manually, but are not recognized by Word for what they are,
breaking spellchecking, while custom ligatures present in the font are not accessible at
all. Other layout deficiencies of Word include the inability to set crop marks or thin
spaces. Various third-party workaround utilities have been developed.[39] Similarly,
combining diacritics are handled poorly: Word 2003 has "improved support", but many
diacritics are still misplaced, even if a precomposed glyph is present in the font.
Additionally, as of Word 2002, Word does automatic font substitution when it finds a
character in a document that does not exist in the font specified. It is impossible to
deactivate this, making it very difficult to spot when a glyph used is missing from the
font in use. Also irritating: If "Mirror margins" or "Different odd and even" are enabled,
Word will not allow you to freshly begin page numbering an even page after a section
break (and vice versa). Instead it inserts a mandatory blank page which can't be removed.

In Word 2004 for Macintosh, complex scripts support was inferior even to Word 97, and
Word does not support Apple Advanced Typography features like ligatures or glyph

Bullets and numbering

Users report that Word's bulleting and numbering system is highly problematic.
Particularly troublesome is Word's system for restarting numbering. However, the Bullets
and Numbering system has been significantly overhauled for Office 2007, which is
intended to reduce the severity of these problems. For example, Office 2007 cannot align
tabs for multi-leveled numbered lists, although this is a basic functionality in Often, items in a list will be inexplicably separated from their list
number by one to three tabs, rendering outlines unreadable. These problems cannot be
resolved even by expert users. Even basic dragging and dropping words is usually
impossible. Bullet and numbering problems in Word include: bullet characters are often
changed and altered, indentation is changed within the same list, and bullet point or
number sequence can belong to an entirely different nests within the same sequence.

Creating tables

Users can also create tables in MS Word. Depending on the version, Word can perform
simple calculations. Formulae are supported as well.


AutoSummarize highlights passages or phrases that it considers valuable. The amount of

text to be retained can be specified by the user as a percentage of the current amount of

According to Ron Fein of the Word 97 team, Auto Summarize cuts wordy copy to the
bone by counting words and ranking sentences. First, AutoSummarize identifies the most
common words in the document (barring "a" and "the" and the like) and assigns a "score"
to each word--the more frequently a word is used, the higher the score. Then, it
"averages" each sentence by adding the scores of its words and dividing the sum by the
number of words in the sentence--the higher the average, the higher the rank of the
sentence. "It's like the ratio of wheat to chaff," explains Fein.

In Microsoft Office 2003, AutoCorrect items added by the user cease working when text
from sources outside the document are pasted in.

Sub and superscript issues

In any of the Microsoft word packages, it is impossible to display superscript exactly

lying above subscript. It can only be done using the equation editor.


Microsoft Excel (full name Microsoft Office Excel) is a spreadsheet-application written

and distributed by Microsoft for Microsoft Windows and Mac OS X. It features
calculation, graphing tools, pivot tables and a macro programming language called VBA
(Visual Basic for Applications). It has been the most widely used spreadsheet application
available for these platforms since version 5 in 1993

EXCEL 2000 EXCEL 2003

File formats
Excel Spreadsheet
Filename extension .xls

Internet media type application/

Uniform Type Identifier[3]

Developed by Microsoft
Type of format Spreadsheet
Microsoft Excel up until 2007 version used a proprietary binary file format called Binary
Interchange File Format (BIFF) as its primary format. Excel 2007 uses Office Open XML
as its primary file format, an XML-based format that followed after a previous XML-
based format called "XML Spreadsheet" ("XMLSS"), first introduced in Excel 2002.The
latter format is not able to encode VBA macros.

Although supporting and encouraging the use of new XML-based formats as

replacements, Excel 2007 remained backwards-compatible with the traditional, binary
formats. In addition, most versions of Microsoft Excel can read CSV, DBF, SYLK, DIF,
and other legacy formats. Support for some older file formats were removed in Excel
2007 . The file formats were mainly from DOS based programs.

Standard file-extensions

Format Extension Description

Main spreadsheet format which holds data in worksheets, charts,
Spreadsheet .xls
and macros
Add-in .xla Adds custom functionality; written in VBA
Toolbar .xlb
Chart .xlc
Dialog .xld
Archive .xlk
Add-in .xll
Adds custom functionality; written in C++/C, Visual Basic,
(DLL) Fortran, etc. and compiled in to a special dynamic-link library
Macro .xlm
Template .xlt
Module .xlv
Workspace .xlw Arrangement of the windows of multiple Workbooks

Microsoft PowerPoint is a presentation program developed by Microsoft. It is part of the
Microsoft Office suite, and runs on Microsoft Windows and the Mac OS X computer
operating systems. The Windows version can also run on the Linux operating system,
under the Wine compatibility layer.
PowerPoint is widely used by business people, educators, students, and trainers and
among the most prevalent forms of persuasive technology. Beginning with Microsoft
Office 2003, Microsoft revised the branding to emphasize PowerPoint's place within the
office suite, calling it Microsoft Office PowerPoint instead of just Microsoft PowerPoint.
The current versions are Microsoft Office PowerPoint 2007 for Windows and 2008 for

Microsoft PowerPoint

Microsoft PowerPoint 2007 in Windows Vista.

Developer(s) Microsoft
12.0.6425.1000 (2007 SP2) / April 28,
Stable release
Operating system Microsoft Windows
Type Presentation
License Proprietary
Website Microsoft Office PowerPoint


PowerPoint presentations consist of a number of individual pages or "slides". The "slide"

analogy is a reference to the slide projector, a device that has become obsolete due to the
use of PowerPoint and other presentation software. Slides may contain text, graphics,
movies, and other objects, which may be arranged freely on the slide. PowerPoint,
however, facilitates the use of a consistent style in a presentation using a template or
"Slide Master".

The presentation can be printed, displayed live on a computer, or navigated through at the
command of the presenter. For larger audiences the computer display is often projected
using a video projector. Slides can also form the basis of webcasts.

PowerPoint provides three types of movements:

1. Entrance, emphasis, and exit of elements on a slide itself are controlled by what
PowerPoint calls Custom Animations
2. Transitions, on the other hand are movements between slides. These can be
animated in a variety of ways
3. Custom animation can be used to create small story boards by animating pictures
to enter, exit or move

With callouts, speech bubbles with edited text can be sent on and off to create speech.
The overall design of a presentation can be controlled with a master slide; and the overall
structure, extending to the text on each slide, can be edited using a primitive outliner.

Presentations can be saved and run in any of the file formats: the 2003 default .ppt
(presentation), .pps (PowerPoint Show) or .pot (template). In PowerPoint 2007 and Mac
OS X 2008 versions, the XML-based file formats .pptx, .ppsx and .potx have been
introduced, along with the macro-enabled file formats .pptm, .potm, .ppsm.

File formats
PowerPoint Presentation
Filename extension .ppt, .pptx, .pps, or .ppsx
Internet media type

Uniform Type[8]
Developed by Microsoft
Type of format Presentation

The binary format specification has been available from Microsoft on request, but since
February 2008 the .ppt format specification can be freely downloaded and implemented
under the Microsoft Open Specification Promise patent licensing.

In Microsoft Office 2007 the binary file formats were replaced as the default format by
the new XML based Office Open XML formats, which are published as an open
standard. Nevertheless, they are not complete as there are binary blobs inside of the XML
files, and several pieces of behaviour are not specified but refer to the observed behaviour
of specific versions of Microsoft products.


C Language C++ Language

1. C is procedure oriented language 1. c++ is object oriented language
and gives importance to and gives importance to
procedure that is functions rather object that is data
than data.

2. c is middle 2. c++ is high level language

level language.

3. c does not has a class/object 3. c++ provides data

concept encapsulation,data
c++ support all c syntax.

4. Actually c is a procedural 4. c++ is an object oriented

programming language which programming
cann't face the real world problem. language which eliminate some
It has some drawback pitfall of conventional or
like a global data is shared by all procedural programming language. It
function and if in a is a concept or
large program it is find out approach for designing a new
difficult that which function software. It is nothing to do
uses which data. with any programming language
although a programming
language which support the oops
concept to make it easier
to implement.

5. in c we use #include<stdio.h>as 5. in c++

iclusion file. we use #include<iostreame>as
c is a topdown approach inclusion file.
c++ is bottom up approach

6. In C memory allocation is done 6. in C++ it is done through new

with malloc statement. keyword.
memory is in C++
deallocated in C using free deallocation takes place through
statement . delete.
c doesn't support operator c++ support operator overloading

7. C identifiers cannot start with two or more 7. In C++ identifiers are not allowed to contain
consecutive underscores, but may contain them two or more consecutive underscores in any
in other positions. position.

8. c the data can pass through the 8. c++ the data is hide in the
fuction to fuction. fuction and the data is stolen
through the external function.

Operating system (commonly abbreviated to either OS or O/S) is an interface between

hardware and user; it is responsible for the management and coordination of activities
and the sharing of the resources of the computer. The operating system acts as a host for
applications that are run on the machine. As a host, one of the purposes of an operating
system 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, including handheld computers, desktop computers,
supercomputers, and even video game consoles, use an operating system of some type.
Some of the oldest models may however use an embedded operating system, that may be
contained on a compact disk or other data storage device.

Operating systems offer a number of services to application programs and users.

Applications access these services through application programming interfaces (APIs) or
system calls. By invoking these interfaces, the application can request a service from the
operating system, pass parameters, and receive the results of the operation. Users may
also interact with the operating system with some kind of software user interface (UI) like
typing commands by using command line interface (CLI) or using a graphical user
interface (GUI, commonly pronounced “gooey”). For hand-held and desktop computers,
the user interface is generally considered part of the operating system. On large multi-
user systems like Unix and Unix-like systems, the user interface is generally
implemented as an application program that runs outside the operating system. (Whether
the user interface should be included as part of the operating system is a point of

A layer structure showing where the Operating System is located on generally used
software systems on desktops.

Operating system :
Operating systems can be classified as follows:

 multi-user : Allows two or more users to run programs at the same time.
Some operating systems permit hundreds or even thousands of concurrent users.
 multiprocessing : Supports running a program on more than one CPU.
 multitasking : Allows more than one program to run concurrently.
 multithreading : Allows different parts of a single program to run
 real time: Responds to input instantly. General-purpose operating systems,
such as DOS and UNIX, are not real-time.


1. Solaris

The SUN Microsystems Solaris Operating System in earlier releases defaulted to (non-
journaled or non-logging) UFS for bootable and supplementary file systems. Solaris (as
most Operating Systems based upon Open Standards and/or Open Source) defaulted to,
supported, and extended UFS.

Support for other file systems and significant enhancements were added over time,
including Veritas Software Corp. (Journaling) VxFS, SUN Microsystems (Clustering)
QFS, SUN Microsystems (Journaling) UFS, and SUN Microsystems (open source,
poolable, 128-bit, compressible, and error-correcting) ZFS.

Kernel extensions were added to Solaris to allow for bootable Veritas VxFS operation.
Logging or Journaling was added to UFS in SUN's Solaris 7. Releases of Solaris 10,
Solaris Express, OpenSolaris, and other Open Source variants of Solaris Operating
System later supported bootable ZFS.

Logical Volume Management allows for spanning a file system across multiple devices
for the purpose of adding redundancy, capacity, and/or throughput. Legacy environments
in Solaris may use Solaris Volume Manager (formerly known as Solstice DiskSuite.)
Multiple operating systems (including Solaris) may use Veritas Volume Manager.
Modern Solaris based Operating Systems eclipse the need for Volume Management
through leveraging virtual storage pools in ZFS.
2. Linux

Many Linux distributions support some or all of ext2, ext3, ext4, ReiserFS, Reiser4, JFS ,
XFS , GFS, GFS2, OCFS, OCFS2, and NILFS. The ext file systems, namely ext2, ext3
and ext4 are based on the original Linux file system. Others have been developed by
companies to meet their specific needs, hobbyists, or adapted from UNIX, Microsoft
Windows, and other operating systems. Linux has full support for XFS and JFS, along
with FAT (the MS-DOS file system), and HFS which is the primary file system for the

In recent years support for Microsoft Windows NT's NTFS file system has appeared in
Linux, and is now comparable to the support available for other native UNIX file
systems. ISO 9660 and Universal Disk Format (UDF) are supported which are standard
file systems used on CDs, DVDs, and BluRay discs. It is possible to install Linux on the
majority of these file systems. Unlike other operating systems, Linux and UNIX allow
any file system to be used regardless of the media it is stored in, whether it is a hard
drive, a disc (CD,DVD...), an USB key, or even contained within a file located on another
file system.

3. Microsoft Windows

Microsoft Windows currently supports NTFS and FAT file systems, along with network
file systems shared from other computers, and the ISO 9660 and UDF filesystems used
for CDs, DVDs, and other optical discs such as BluRay. Under Windows each file system
is usually limited in application to certain media, for example CDs must use ISO 9660 or
UDF, and as of Windows Vista, NTFS is the only file system which the operating system
can be installed on. Windows Embedded CE 6.0, Windows Vista Service Pack 1, and
Windows Server 2008 support ExFAT, a file system more suitable for flash drives.

4. Mac OS X

Mac OS X supports HFS+ with journaling as its primary file system. It is derived from
the Hierarchical File System of the earlier Mac OS. Mac OS X has facilities to read and
write FAT, NTFS (only read, although an open-source cross plataform implementation
known as NTFS 3G provides read-write support to Microsoft Windows NTFS file system
for Mac OS X users.), UDF, and other file systems, but cannot be installed to them. Due
to its UNIX heritage Mac OS X now supports virtually all the file systems supported by
the UNIX VFS. Recently Apple Inc. started work on porting Sun Microsystem's ZFS
filesystem to Mac OS X and preliminary support is already available in Mac OS X 10.5.

5. Unix and Unix-like operating systems

Ken Thompson wrote B, mainly based on BCPL, which he used to write Unix, based on
his experience in the MULTICS project. B was replaced by C, and Unix developed into a
large, complex family of inter-related operating systems which have been influential in
every modern operating system (see History).

The Unix-like family is a diverse group of operating systems, with several major sub-
categories including System V, BSD, and Linux. The name "UNIX" is a trademark of
The Open Group which licenses it for use with any operating system that has been shown
to conform to their definitions. "Unix-like" is commonly used to refer to the large set of
operating systems which resemble the original Unix.

Unix-like systems run on a wide variety of machine architectures. They are used heavily
for servers in business, as well as workstations in academic and engineering
environments. Free software Unix variants, such as GNU, Linux and BSD, are popular in
these areas.

Market share statistics for freely available operating systems are usually inaccurate since
most free operating systems are not purchased, making usage under-represented. On the
other hand, market share statistics based on total downloads of free operating systems are
often inflated, as there is no economic disincentive to acquire multiple operating systems
so users can download multiple systems, test them, and decide which they like best.

Some Unix variants like HP's HP-UX and IBM's AIX are designed to run only on that
vendor's hardware. Others, such as Solaris, can run on multiple types of hardware,
including x86 servers and PCs. Apple's Mac OS X, a hybrid kernel-based BSD variant
derived from NeXTSTEP, Mach, and FreeBSD, has replaced Apple's earlier (non-Unix)
Mac OS.

Unix interoperability was sought by establishing the POSIX standard. The POSIX
standard can be applied to any operating system, although it was originally created for
various Unix variants.
79, Avenue Park,
Bhopal, 100781

DATE: 7th July 2008

The General Manager,

Infosys Co. Ltd,
10 Alba Point,
Indore, M.P.

Subject: Application For The Post Of Senior Engineer

Dear Sir,
With reference to your advertisement published in “The Hindu” dated 28th June 2008 for
the post of senior engineer, I would like to offer myself for the post of the same.

I am a B.E. in Electronics & Communication branch from Rajiv Gandhi Technical

University, Bhopal. I have won certificates for excellence.

Your organization is well reputated one and its my honour to be the part of such
organization. I have no prejudice salary expectation. I hope that I will fulfill your
Expectation and will promise to serve you to the best of my ability.

I am herewith enclosing my detailed resume for your convenience. I hope that you will
grant me an interview soon.

Thank you,

Yours sincerely,

( )
Rahul Argal


CONTACT NO. +91755-2774302, +919826828597
Email id

10th CBSE 2000 85% DPS, Bhopal
12th CBSE 2002 83% DPS, Bhopal
B.E. [ECE] 2007 82% IES, IPS Academy,


 Two year experience with TCS Co., Ltd

 Has worked as a Engineer trainee with BSNL