Friday, July 16, 2010

About The Java Technoogy


To date, the Java platform has attracted more than 6.5 million software developers. It's used in every major industry segment and has a presence in a wide range of devices, computers, and networks.

Java technology's versatility, efficiency, platform portability, and security make it the ideal technology for network computing. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

Java powers more than 4.5 billion devices including:

  • 850+ million PCs
  • 2.1 billion mobile phones and other handheld devices (source: Ovum)
  • 3.5 billion smart cards
  • Set-top boxes, printers, Web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, and more.

To see places of Java in Action in your daily life, explore java.com.

Why Software Developers Choose Java

Java has been tested, refined, extended, and proven by a dedicated community. And numbering more than 6.5 million developers, it's the largest and most active on the planet. With its versatilty, efficiency, and portability, Java has become invaluable to developers by enabling them to:

  • Write software on one platform and run it on virtually any other platform
  • Create programs to run within a Web browser and Web services
  • Develop server-side applications for online forums, stores, polls, HTML forms processing, and more
  • Combine applications or services using the Java language to create highly customized applications or services
  • Write powerful and efficient applications for mobile phones, remote processors, low-cost consumer products, and practically any other device with a digital heartbeat

Some Ways Software Developers Learn Java

Today, many colleges and universities offer courses in programming for the Java platform. In addition, developers can also enhance their Java programming skills by reading Sun's java.sun.com Web site, subscribing to Java technology-focused newsletters, using the Java Tutorial and the New to Java Programming Center, and signing up for Web, virtual, or instructor-led courses.

What Is JavaFX

JavaFX  logo JavaFX extends your web experience by delivering rich media and content across all the screens of your life. As users, you will be able to run JavaFX applications in a browser or drag and drop them onto the desktop. It's a seamless interface!

JavaFX is powered by Java: JavaFX extends the power of Java by allowing developers to use any Java library within JavaFX applications. This way developers can expand their capabilities in Java and make use of the revolutionary presentation technology that JavaFX provides to build engaging visual experiences.

Highlights of JavaFX:
  • Allows users to view JavaFX applications in a browser or break free of the browser by dragging and dropping the same application onto the desktop
  • Enables an efficient designer-to-developer workflow with Project Nile: designers can work in their tools of choice while collaborating with Web scripters who use the NetBeans IDE with JavaFX
  • Extends Java technology by enabling use of any Java library within a JavaFX application
  • Allows developers to integrate vector graphics, animation, audio, and video Web assets into a rich, interactive, immersive application

To learn more about JavaFX technology, visit javafx.com or java.sun.com/javafx web sites for more information.

Thursday, July 15, 2010

Programming In C++


Probably the best way to start learning a programming language is by writing a program. Therefore, here is our first program:


// my first program in C++

#include
using namespace std;

int main ()
{
cout << "Hello World!";
return 0;
}
(Hello World!)


The first panel (in light blue) shows the source code for our first program. The second one (in light gray) shows the result of the program once compiled and executed. To the left, the grey numbers represent the line numbers - these are not part of the program, and are shown here merely for informational purposes.

The way to edit and compile a program depends on the compiler you are using. Depending on whether it has a Development Interface or not and on its version. Consult the compilers section and the manual or help included with your compiler if you have doubts on how to compile a C++ console program.

The previous program is the typical program that programmer apprentices write for the first time, and its result is the printing on screen of the "Hello World!" sentence. It is one of the simplest programs that can be written in C++, but it already contains the fundamental components that every C++ program has. We are going to look line by line at the code we have just written:

// my first program in C++

This is a comment line. All lines beginning with two slash signs (//) are considered comments and do not have any effect on the behavior of the program. The programmer can use them to include short explanations or observations within the source code itself. In this case, the line is a brief description of what our program is.
#include

Lines beginning with a hash sign (#) are directives for the preprocessor. They are not regular code lines with expressions but indications for the compiler's preprocessor. In this case the directive #include tells the preprocessor to include the iostream standard file. This specific file (iostream) includes the declarations of the basic standard input-output library in C++, and it is included because its functionality is going to be used later in the program.
using namespace std;

All the elements of the standard C++ library are declared within what is called a namespace, the namespace with the name std. So in order to access its functionality we declare with this expression that we will be using these entities. This line is very frequent in C++ programs that use the standard library, and in fact it will be included in most of the source codes included in these tutorials.
int main ()

This line corresponds to the beginning of the definition of the main function. The main function is the point by where all C++ programs start their execution, independently of its location within the source code. It does not matter whether there are other functions with other names defined before or after it - the instructions contained within this function's definition will always be the first ones to be executed in any C++ program. For that same reason, it is essential that all C++ programs have a main function.

The word main is followed in the code by a pair of parentheses (()). That is because it is a function declaration: In C++, what differentiates a function declaration from other types of expressions are these parentheses that follow its name. Optionally, these parentheses may enclose a list of parameters within them.

Right after these parentheses we can find the body of the main function enclosed in braces ({}). What is contained within these braces is what the function does when it is executed.
cout << "Hello World!";

This line is a C++ statement. A statement is a simple or compound expression that can actually produce some effect. In fact, this statement performs the only action that generates a visible effect in our first program.

cout is the name of the standard output stream in C++, and the meaning of the entire statement is to insert a sequence of characters (in this case the Hello World sequence of characters) into the standard output stream (cout, which usually corresponds to the screen).

cout is declared in the iostream standard file within the std namespace, so that's why we needed to include that specific file and to declare that we were going to use this specific namespace earlier in our code.

Notice that the statement ends with a semicolon character (;). This character is used to mark the end of the statement and in fact it must be included at the end of all expression statements in all C++ programs (one of the most common syntax errors is indeed to forget to include some semicolon after a statement).
return 0;

The return statement causes the main function to finish. return may be followed by a return code (in our example is followed by the return code with a value of zero). A return code of 0 for the main function is generally interpreted as the program worked as expected without any errors during its execution. This is the most usual way to end a C++ console program.


You may have noticed that not all the lines of this program perform actions when the code is executed. There were lines containing only comments (those beginning by //). There were lines with directives for the compiler's preprocessor (those beginning by #). Then there were lines that began the declaration of a function (in this case, the main function) and, finally lines with statements (like the insertion into cout), which were all included within the block delimited by the braces ({}) of the main function.

The program has been structured in different lines in order to be more readable, but in C++, we do not have strict rules on how to separate instructions in different lines. For example, instead of

int main ()
{
cout << " Hello World!";
return 0;
}


We could have written:

int main () { cout << "Hello World!"; return 0; }


All in just one line and this would have had exactly the same meaning as the previous code.

In C++, the separation between statements is specified with an ending semicolon (;) at the end of each one, so the separation in different code lines does not matter at all for this purpose. We can write many statements per line or write a single statement that takes many code lines. The division of code in different lines serves only to make it more legible and schematic for the humans that may read it.

Let us add an additional instruction to our first program:


// my second program in C++

#include

using namespace std;

int main ()
{
cout << "Hello World! ";
cout << "I'm a C++ program";
return 0;
}
(Hello World! I'm a C++ program)


In this case, we performed two insertions into cout in two different statements. Once again, the separation in different lines of code has been done just to give greater readability to the program, since main could have been perfectly valid defined this way:

int main () { cout << " Hello World! "; cout << " I'm a C++ program "; return 0; } 


We were also free to divide the code into more lines if we considered it more convenient:

int main ()
{
cout << "Hello World!";
cout
<< "I'm a C++ program";
return 0;
}


And the result would again have been exactly the same as in the previous examples.

Preprocessor directives (those that begin by #) are out of this general rule since they are not statements. They are lines read and processed by the preprocessor and do not produce any code by themselves. Preprocessor directives must be specified in their own line and do not have to end with a semicolon (;).

Comments


Comments are parts of the source code disregarded by the compiler. They simply do nothing. Their purpose is only to allow the programmer to insert notes or descriptions embedded within the source code.

C++ supports two ways to insert comments:

1
2
// line comment
/* block comment */


The first of them, known as line comment, discards everything from where the pair of slash signs (//) is found up to the end of that same line. The second one, known as block comment, discards everything between the /* characters and the first appearance of the */ characters, with the possibility of including more than one line.
We are going to add comments to our second program:

/* my second program in C++
with more comments */


#include
using namespace std;

int main ()
{
cout << "Hello World! "; // prints Hello World!
cout << "I'm a C++ program"; // prints I'm a C++ program
return 0;
}
(Hello World! I'm a C++ program)


If you include comments within the source code of your programs without using the comment characters combinations //, /* or */, the compiler will take them as if they were C++ expressions, most likely causing one or several error messages when you compile it.

Wednesday, July 14, 2010

.."

C++ TIPS


Break and Continue Statements

A tutorial that tells about Break and Continue Statements in C++.

Goto Statement

A tutorial that tells about goto Statement in C++.

Classes

A tutorial that tells about Classes in C++.

Static Class Members

A tutorial that tells about Static Class Members in C++.

Constructors and Destructors

A tutorial that tells about Constructors and Destructors in C++.

Copy Constructor

A tutorial that tells about Copy Constructors in C++.

Dynamic Memory Allocation in Constructors

This tutorial demonstrates how you can dynamically allocate memory for member objects that are inside of a class.

Inheritance

A tutorial that tells about Inheritance in C++.

Constructors in Derived Class

A tutorial that tells about Constructors in Derived Class in C++.

Virtual Base Classes

A tutorial that tells about Virtual Base Classes in C++.

Pointers

A tutorial that tells about Pointers in C++.

This Pointer

A tutorial that tells about this Pointer in C++.

Arrays

A tutorial that tells about Arrays in C++.

Pointers and Arrays

A tutorial that tells about Pointers and Arrays in C++.

Preprocessor

A tutorial that tells about Preprocessors in C++.

Structures

A tutorial that tells about Structures in C++.

Functions

A tutorial that tells about Functions and how to pass parameters by value.

Call-By-Reference in Functions

A tutorial that tells about how to pass parameters, to a function, by reference.

Function Overloading

A tutorial that tells about a concept called Function Overloading.

Operator Overloading

This tutorial explains the concept of operator overloading. It also contains tutorials on how to overload unary and binary operators.

Type Conversion

Learn how to convert between basic to class, class to basic and class to class types.

Inline Function

A tutorial hat tells about Inline Functions.

Friend Function

A tutorial that tells about Friend Functions.

Virtual Functions

Learn how to use virtual functions and take advantage of dynamic
polymorphism, the essence of object oriented programming in C++.

If Statement

A tutorial that tells about execution of an if Statement.

Scope Resolution Operator

This tutorial tells about the scope resolution operator and its use for accessing class member names as well as hidden global names.

Conditional Operators and Switch Statements

A tutorial that tells about Conditional Operators and Switch Statements.

Iterations

A tutorial that tells about various available types of iterations and loops.

Recursion

A tutorial that tells about Recursion.

Exception Handling

A tutorial that tells about Exception Handling concepts.

Throw and Catch Mechanism

A tutorial that tells about Throw and Catch Mechanism in Exception Handling.

Exception Handling (continued)


A tutorial that tells few more concepts about Exception Handling.

Template

A tutorial that tells about a generic programming method called Templates.

Function Templates

A tutorial that tells about Function Templates.

Function Template Overloading

A tutorial that tells about Function Template Overloading.

Standard Library Functions

A tutorial that explains and lists many Standard Library Functions.

Standard Library Functions (continued - part1)

A tutorial that explains and lists many Standard Library Functions.

Standard Library Functions (continued - part2)

A tutorial that explains and lists many Standard Library Functions.

File Input/Output

A tutorial that tells about File Input/Output Operations.

File Manipulation

A tutorial that tells about File Manipulation.

Binary Tree - Inserting a Node

A tutorial that tells how to insert a node into Binary Search Tree.

Binary Tree - Searching a Node

A tutorial that tells how to search for a node in Binary Search Tree.

Binary Tree - Deleting a Node

A tutorial that tells how to delete a node from Binary Search Tree.

Graphs

A tutorial that tells about certain structures called Graphs.

Breadth First Search Algorithm


A tutorial that explains Breath First Search Algorithm which is used to traverse/search a graph/tree.

Depth First Search Algorithm


A tutorial that explains Depth First Search Algorithm which is used to traverse/search a graph/tree.

Kruskal's Algorithm


A tutorial that explains Kruskal's Algorithm.

Prim Algorithm


A tutorial that explains Prim Algorithm.

Address Calculation Sort


A tutorial that explains Address Calculation Sort.

Warshall's Algorithm

A tutorial that explains Warshall's Algorithm.

Priority Queues

A tutorial that explains about special kind of queues called Priority Queues.

Dijkstra Algorithm

A tutorial that explains the working of Dijkstra Algorithm.

C++ Datatypes Tutorial

A tutorial that tells about datatypes available in C++

C++ practically offers most of the necessary data types except for a basic data type string. This is a big trouble in C++ without such a good feature. Anyway, this c++ tutorial will discuss the basic data types necessary for C++ ...

C++ Array Tutorial

A tutorial that tells about Arrays and what's its importance in C++

C++ Arrays are the data structures which can be used to store consecutive values of the same data types. C++ Arrays can be declared for all c++ data types viz., int, float, double, char, struct, char etc., All the values are stored in consecutive memory locations. The values can be accessed by using the position of the stored value ...

C++ Class Tutorial

A tutorial that tells about class & how it can be created

A class in C++ is an encapsulation of data members and functions that manipulate the data. The class can also have some other important members which are architecturally important ...

Function Overloading Tutorial

A tutorial that tells about function overloading and how this concept is useful in creating C++ programs

Function overloading is the practice of declaring the same function with different signatures. The same function name will be used with different number of parameters and parameters of different type. But overloading of functions with different return types are not allowed ...

Static Functions Tutorial

A tutorial that talks about static functions and how it differs from normal functions

Static data types can be accessed without instantiation of the class in C++. This is applicable for static functions also ...

File I/O Tutorial

A tutorial that shows how to use File I/O classes and functions

File handling is an important part of all programs. Most of the applications will have their own features to save some data to the local disk and read data from the disk again. C++ File I/O classes simplify such file read/write operations for the programmer by providing easier to use classes...

Class Templates Tutorial

A tutorial that shows how to create class templates in C++

C++ Class Templates are used where we have multiple copies of code for different data types with the same logic. If a set of functions or classes have the same functionality for different data types, they becomes good candidates for being written as Templates ...

Overloading Operators Tutorial

A tutorial that explains the basics of operator overloading in c++

C++ overloading is the mechanism by which the language standard operators are used for customized operations of the classes. For example if we are trying to write a string class, we would very simply ask for "+" operator to handle string concatenation, "-" for removing one part of string from another etc ...

Dynamic Memory Allocation Tutorial

A tutorial that explains the fundamentals of memory allocation in a C++ program

So you have just finished your program and you would like to see it at work. Usually you press a combination of keys to compile and run it. But what actually happens when you press those keys ? The compilation process translates your code from C++ to machine language, which is the only language computers "understand". Then your application is given a certain amount of memory to use, which is divided into three segments as follows ...

Memory Leaks Tutorial

A tutorial that explains how a memory leak happens and gives some tips on how to avoid it

A memory leak is what happens when you forget to free a block of memory allocated with the new operator or when you make it impossible to do so. As a consequence your application may eventually run out of memory and may even cause the system to crash. I will now give you a few tips. Remember that code lines shown in red are the best alternative to each situation - they may be added or may even replace previous code ...

Tuesday, July 13, 2010

C Language Overview


The following information describes some of the changes that are specific to C language programs:

  • Start of changeHeader file changes. The z/TPF-compatible compilers do not allow header file names with $ characters.End of change
  • Start of changeDifferences between the IBM® C/C++ compiler and z/TPF-compatible compilers. For example, z/TPF-compatible compilers tend to be closer to ANSI compliance, while TPF 4.1 code, especially code that has not changed in a long time, will not be. You will probably have to change your application code based on what the results are when you compile your code with a z/TPF-compatible compiler. Some specific compiler differences are:
    • Start of changeThe GCC does not support trigraphs (under most circumstances) while the Systems/C and Systems/C++ compilers do support trigraphs.End of change
    • The GCC expects the backslash (\) character to be the very last character on the line when it is used as a line continuation character.
    End of change
  • 64-bit considerations:
    • With the z/TPF system, all C/C++ programs are compiled as 64 bit, which defines the size of a long data type as 8 bytes. With the TPF 4.1 system, all C/C++ programs are compiled as 32-bit, which defines the size of a long data type as 4 bytes. For both systems, the size of an integer data type is 4 bytes.

      To provide compatibility with the size of the fields contained in data structures that have corresponding assembler data areas (DSECTs), all long data types were changed to integer data types. As code was converted to 64 bit, selected fields were changed back to long data types as appropriate.

      You need to decide if the data type size change affects your applications and how you would like to make your changes.

    • Start of changeAnother 64-bit consideration is the use of pointers. When a C/C++ program is compiled as 64-bit, the size of a pointer data type is 8 bytes. Sometimes pointers are cast to integers for various reasons. To create code that is compatible for both 32-bit and 64-bit systems, change the casting from integer to long. The z/TPF-compatible compilers may produce a warning for pointers that are cast to integers.

      There might be some instances where you will continue to need a 4-byte pointer; for example, pointers to core blocks in the ECB cannot be increased to 8 bytes. To provide compatibility, a 31-bit pointer attribute called PTR32ATT and 31-bit pointer data types called __ptr32_t, __chptr32_t, and __uiptr32_t are provided.

      End of change
    • When a C/C++ program passes a pointer to static or constant data to an assembler program, the called assembler program must handle the pointer as a true 64-bit pointer unless the C/C++ program is loaded below the 2-GB bar.
  • With the TPF 4.1 system, the standard template library is supported by STLPort. With the z/TPF system, the standard template library is supported by the GNU standard C++ library (libstdc++).
  • Start of changeThe TPF 4.1 system supports floating point data only in hexadecimal floating point (HFP) format. However, ELF-compatible compilers (and the z/TPF system) support only binary floating point (BFP) format. You can use the following functions to migrate your floating point data, and to maintain single source applications that run under both the TPF 4.1 system and the z/TPF system:
    • tpf__fp_htob
    • tpf__fp_btoh
    • tpf__fp_hton
    • tpf__fp_ntoh
    • tpf__fp_bton
    • tpf__fp_ntob.
    End of change

Monday, July 12, 2010

Programming In C Language


The notes on these pages are for the courses in C Programming I used to teach in the Experimental College at the University of Washington in Seattle, WA. Normally these notes accompany fairly traditional classroom lecture presentations, but they are intended to be reasonably complete (more so, for that matter, than the lectures!) and should be usable as standalone tutorials.

I originally designed the first, Introductory course around The C Programming Language (2nd Edition) by Kernighan and Ritchie, and the notes were designed to complement that text, highlighting important points and explaining subtleties which might be lost on the general reader. Later, I rewrote the notes to stand on their own (in part because, in spite of the first set of notes, too many of my students found K&R a bit too technical for an informal, introductory course). Finally, I occasionally teach an Intermediate course, which covers the topics which tend to be skipped or glossed over in introductory courses (bitwise operators, structures, file I/O, etc.). The Intermediate course has its own set of notes.

All three sets of notes are available here. If you have a copy of K&R2 and would like a thorough treatment of the language, read K&R and the ``Notes to Accompany K&R'' side by side. If you're just getting your feet wet and would like a somewhat simpler introduction, read the ``Introductory Class Notes.'' If you have had an introduction to C (either here or elsewhere) and are now looking to fill in some of the missing pieces, read the ``Intermediate Class Notes.''

Of course, just reading a book or these notes won't really teach you C; you will also want to write and run your own programs, for practice and so that the language concepts will make some kind of practical sense. Most of my programming assignments (including review questions) are here as well, along with their solution sets. (No peeking at the answers until you've given the problems your best shot!)

These notes are arranged for the web in the usual hierarchy by section and subsection. If you want to read through all of them, without keeping track of your own stack to implement a depth-first tree traversal, just follow the ``read sequentially'' links at the bottom of each page.

Depending on your background, you might want to read one or both of the two preliminary handouts: one on programming in general, and one which reviews some math which is relevant to programming. (And there are some other miscellaneous handouts, too.)

One note about the HTML: these pages were produced automatically from the base manuscripts for my class notes, using a program of my own devising which is, all too typically, not (yet?) perfect. I apologize in advance for any formatting glitches. In particular, when you see ... or ... in the text, these do not represent bugs in your browser or accidental bugs in my markup; instead, these are my interim compromise way of representing superscripts and subscripts to you, since there's no way to do so in portable HTML.

Finally, I realize that reading these notes on the net is not always as convenient as it might be, particularly when the net is slow. Please realize, though, that the net is what it is, and that I have gone to a certain amount of effort to place these notes here at all. Please do not ask me to send you a set of these notes for browsing on your own machine, as I am currently unable to do so.

Sunday, July 11, 2010

C LANGUAGE AND ITS IMPORTANCE


The C programming language was developed by Dennis Ritchie at Bell Labs between 1968 and 1972 for Unix systems. Ritchie derived the features of C from the earlier language B, which is why he chose the name. Today, C has become one of the most popular languages. C's influence can be seen throughout many more recent programming languages, especially C++. Many of C's advantages are because of its age and commonality.

    Maturity

  1. C has been around for a very long time in terms of computer programming. Almost every aspect of the language, including tricks that weren't intended by the original developers, has been explored and clearly explained. There are a wealth of examples and reusable source code freely available on the Internet.
  2. Portability

  3. Today, there are very few platforms that do not have a C compiler. This means that, with some minor tinkering, almost any C program can be compiled to run on almost any platform. C originated as a language for writing computer system software but has since been used extensively for developing application software for portable platforms such as smartphones.
  4. Common Language

  5. Because C is so widely used and well understood, it is a great tool for expressing programming ideas in a way that others can comprehend, regardless of the language they are most familiar with. C can also be seen as archetypal for many later languages. Language constructs in C, such as "if" statements, "for" and "while" loops, and types of variables, can be found in many more modern languages, so ideas expressed in C can still be understood by program developers.
  6. Low-Level Power

  7. Although C is technically a high-level language, meaning it abstracts programming away from the basic machine code; it is one of the "lowest-level" high-level programming languages. C code exerts powerful, direct and close control over the machine. Because C is linked so closely with the machine, it provides methods for direct access to system components like the hard disk drive, optical drives and printers.
  8. Procedural Language

  9. C is a procedural programming language, not an object-oriented programming language. However, despite the wide use of object-oriented design in modern programming, many applications are still better suited to the procedural style of design, which often goes untaught to many many programmers, who focus exclusively on object-oriented design. Learning C provides a strong procedural background, which is a worthy skill set.
  10. Relationship to C+++

  11. C++ began as an extension to the C programming language, but it eventually developed into a fully object-oriented language of its own. However, because it shares the majority of its syntax and structure from C, it is a simple task to transition from C to C++, or from C++ to C.

Saturday, July 10, 2010

COMPUTER EDUCATION IMPORTANCE


Computers have changed the way we work, be it any profession. Therefore, it is only but natural the role of computers in education has been given a lot of prominence in the recent years. Computers play a vital role in every field. They aid industrial processes; they find applications in medicine; they are the heart of the software industry; they play a vital role in education. The uses of computers in education are manifold. Here, we shall discuss the important facets of the role of computers in education.

Role of Computers in Education
The computer technology has a deep impact on education. Computer education forms a part of the school and college curricula, as it is important for every individual today, to have the basic knowledge of computers. The advantages of computers in education include an efficient storage and rendition of information, quick information processing and very importantly the saving of paper. Know more about the importance of computer education.

Computer teaching plays a key role in the modern systems of education. Students find it easier to refer to the Internet than searching for information in fat reference books. The process of learning has gone beyond learning from prescribed textbooks. Today, aspirers can satiate their thirst for knowledge by means of the Internet. It is easier to store information on computers than maintaining hand-written notes. To know more on the subject, read about textbooks versus computer teaching.

Online education has revolutionized the education industry. The computer technology has made the dream of distance learning, a reality. Education is no more limited to classrooms. It has reached far and wide thanks to the computer technology. Physically distant locations have come close to each other only due to computer networking.

Computers facilitate an efficient storage and effective presentation of information. Presentation software like PowerPoint and animation software like Flash and others can be of great help to the teachers while delivering information. Computers can turn out being a brilliant aid in teaching. Computers facilitate an audio-visual representation of information, thus making the process of learning interactive and interesting. Computer-aided teaching adds a fun element to education.

Internet can play an important role in education. As it is an enormous information base, it can be harnessed for the retrieval of information on a wide variety of subjects. The Internet can be used to refer to information on various subjects to be taught to the students.

Moreover, computers facilitate an electronic format for storage of information, thereby saving paper. Homework and test assignments submitted as soft copies save paper. Electronically erasable memory devices can be used repeatedly. They offer a robust storage of data and reliable data retrieval. The computer technology thus eases the process of learning.

A life without computers would seem almost unimaginable for many. The importance of computers is evident today and having the perfect know-how of computers can only propel one’s career in the right direction. Today, computers are a part of almost every industry. They are no more limited to the software industry. They are widely used in networking, information access, data storage and the processing of information. So why not introduce computers early in education? Introducing computers early in education lays the foundation of most of the major competitive careers. Computers play a significant role in one’s personal and professional life.