Online Quiz Is A Software Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

ONLINE QUIZ is a software in which we specify some questions, timer runs for the given time and within that period one has to answer all those questions, some buttons are present at the bottom of the window like start, previous, next and finish.

When we click start button the test get starts, you will have to answer 25 questions within 10 minutes.

If you do not wish to answer any particular question you can move to next question by pressing next or if you wish to move to previous question that you had skipped you can make this move by previous.

The environment used for this project is JAVA. This project is based on core JAVA. The software used for this java SDK1.7, Window7 operating system.


This concept of online test fulfils the following requirements:

It provides less expensive as well as effective method of performing examinations.

It provides facilities for students to answer question only with a single click.

It saves time as well as money.

It lessens student's and teacher's frustration.


Across the globe: This project finds its application in conducting examination over the globe.

Student's needs: It saves time as well as money. It lessens student's frustration.



Feasibility study defines all the requirements to performance characteristics of system.

For system to be feasible, the design needs to undertake various factors or performance requirements by which the system will be operated.

A feasibility study is short, focused study which aims at selecting the best system that meets performance requirements. Information is gathered regarding the general requirements of the proposed system.

If feasibility study is to serve as the decision document, it answers a number of questions.


Is it beneficial?

Does it save time and money?

Can it be integrated with other systems already in place?

Planning resources is a very vast concept and we are beginners, thus including each and every aspects of web, Integrate and automate them in every respect was not feasible for us. Hence we perform feasibility study to make our project compatible for present environment. The concept of Online Test is newer. The project is built with the help of JAVA technology which is reliable and efficient platform to work upon. This concept saves time and lessens teacher's and student's frustration.

2 .1.1 Technical feasibility

Technical feasibility takes of the all the issues concerned with the design and the development part of the project. It concerns itself with the software, hardware and the platform related issues. The following are the technical specifications for our project.

The project would require a lot of space for storage of static as well as dynamic content.

As the number of project available increases the space required for storing them increases.

2.1.2 Economic feasibility

It provides an efficient and reliable platform to work upon.

It saves time and is thus a faster means of examination.

It is less costly than the other means of examination.


Software Requirements

Operating System : Window 2000/XP/7

Front End : JAVA sdk1.5

Hardware Requirements

Machine : Pentium 4 and above

Speed : 233 MHz and above

Hard Disk : 10GB

RAM : 256MB



3.1.1 Administrator module

The administration process can be complex and must be properly planned and managed to ensure a successful project. Administrators are a professional team trained to follow a project plan that has been designed specifically for you. Administrator develops software and enhances it process. Administrator in online test project based on Core Java enters questions and answers in an array. He created software for online test in which he created a window which is partitioned into four parts: North, South, East, and West. North Window: He has provided a Welcome note for the user with user name and timer runs after clicking start button. South Window: He has created buttons to start the test, to move to the next question, to finish the test and two buttons to navigate back to previous or next question after finishing the test to check the answers. East window: Questions are displayed in this window. West window: Options are given in this window with check boxes, check boxes are checked for the correct answer. Entering Questions and Answers

While creating software for online test, He has entered questions only in an array and placed them to the East window. And options to choose correct answer are in West window.

1. Enter questions for test

2. Enter answer options for Users

3. Check questions and Display

3.1.2 User module

User only has to enter the name and proceed to answer the questions. User click the start button and timer starts, user have only ten minutes to answer all the questions. After answering all the questions, user click finish after the test and answer will be displayed for all the questions. Users click check previous or check next for checking correct answer.

Enter name

Answer the questions

Finish the test and Check correct for correct answer

3.2.1 Flowchart


Created arrays for Ques and ans

Entering ques for users and its answers

Enter user name


Proceed?€ €¿€¿



Press OK

Press cancel

Click Start to

Run the timerT©­¥²



If Questions answered in given time? vvein€ ©¶¥®€ ´©­¥€¿



Click Finish to

Check result


over overOve²


3.2.2 Flow chart












Computerization is needed in this Shrinking world, where centralization is also required with globalization. Conducting online test is a step in this direction to ease the current structure of examination. This way of conducting test on one of the most secure operating system and with highly sophisticated technology is cost effective and save time too.

This way of conducting test not only save time but also lessens student's and teacher's frustration. It is an easier way of giving examination, any person across the globe can appear for the examination.


It has vast future scope, as it is not made for client server level so we can make it for client server level too.

Every type of exam can be conducted online and it will lessen the teacher's frustration.

We can also conduct tests for various subjects and various difficulty levels.

4.3 Advantages of the software

Since this software is designed in java, it is Platform independent..

Successfully handles the problem.

Reliability gives consistent results.

System is robust.

4.4 Limitations of the software

All the questions have to be scrolled once before clicking the finish button

A user must have fundamental knowledge as to how to use the application



Java technology is both a programming language and a platform.

The Java Programming Language

The Java programming language is a high-level language that can be characterized by all of the following buzzwords:

· Simple

· Architecture neutral

· Object oriented

· Portable

· Distributed

· High performance

· Multithreaded

· Robust

· Dynamic

· Secure

Each of the preceding buzzwords is explained in The Java Language Environment , a white paper written by James Gosling and Henry McGilton. In the Java programming language, all source code is first written in plain text files ending with the .java extension. Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecodes - the machine language of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your application with an instance of the Java Virtual Machine.

An overview of the software development process.

Because the Java VM is available on many different operating systems, the same .class files are capable of running on Microsoft Windows, the Solaris TM Operating System (Solaris OS), Linux, or Mac OS. Some virtual machines, such as the Java HotSpot virtual machine, perform additional steps at runtime to give your application a performance boost. This include various tasks such as finding performance bottlenecks and recompiling (to native code) frequently used sections of code.

Through the Java VM, the same application is capable of running on multiple platforms.

The Java Platform

A platform is the hardware or software environment in which a program runs. We've already mentioned some of the most popular platforms like Microsoft Windows, Linux, Solaris OS, and Mac OS. Most platforms can be described as a combination of the operating system and underlying hardware. The Java platform differs from most other platforms in that it's a software-only platform that runs on top of other hardware-based platforms.

The Java platform has two components:

· The Java Virtual Machine

· The Java Application Programming Interface (API)

The general-purpose, high-level Java programming language is a powerful software platform. Every full implementation of the Java platform gives you the following features:

· Development Tools: The development tools provide everything you'll need for compiling, running, monitoring, debugging, and documenting your applications. As a new developer, the main tools you'll be using are the javac compiler, the java launcher, and the javadoc documentation tool.

· Application Programming Interface (API): The API provides the core functionality of the Java programming language. It offers a wide array of useful classes ready for use in your own applications. It spans everything from basic objects, to networking and security, to XML generation and database access, and more. The core API is very large; to get an overview of what it contains, consult the Java SE Development Kit 6 (JDKTM 6) documentation.

· Deployment Technologies: The JDK software provides standard mechanisms such as the Java Web Start software and Java Plug-In software for deploying your applications to end users.

· User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create sophisticated Graphical User Interfaces (GUIs).

· Integration Libraries: Integration libraries such as the Java IDL API, TM API, Java Naming and Directory InterfaceTM ("J.N.D.I.") API, Java RMI, and Java Remote Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP Technology) enable database access and manipulation of remote objects.

Why Java's a Better Programming Language

If that were all Java was, it would still be more interesting than a <marquee> or <frame> tag in some new browser beta, but there's a lot more. Java isn't just for web sites. Java is a programming language that can do almost anything a traditional programming language like FORTRAN, Basic or C++ can do. However Java has learned from the mistakes of its predecessors. It is considerably easier to program and to learn than those languages without giving up any of their power.

The Java language shares many superficial similarities with C, C++, and Objective C. For instance, loops have identical syntax in all four languages, However, Java is not based on any of these languages, nor have efforts been made to make it compatible with them.

Java is sometimes referred to as C++++--. James Gosling invented Java because C++ proved inadequate for certain tasks. Since Java's designers were not burdened with compatibility with existing languages, they were able to learn from the experience and mistakes of previous object-oriented languages. They added a few things C++ doesn't have like garbage collection and multithreading (the ++) and they threw away C++ features that had proven to be better in theory than in practice like multiple inheritance and operator overloading (the --). A few advanced features like closures and parameterized types that the Java team liked were nonetheless left out of the language due to time constraints. There's still argument over whether the right choices were made. Parameterized types (templates to C++ programmers) may be added in a later revision of Java.

Java has learned a lot from previous languages. Let's look at some of the advantages Java offers programmers.

Java is Simple

Java was designed to make it much easier to write bug free code. According to Sun's Bill Joy, shipping C code has, on average, one bug per 55 lines of code. The most important part of helping programmers write bug-free code is keeping the language simple.

Java has the bare bones functionality needed to implement its rich feature set. It does not add lots of syntactic sugar or unnecessary features. The language specification for Java is only about eighty pages long compared to a couple of hundred pages for C and even more for C++. Despite its simplicity Java has considerably more functionality than C.

Because Java is simple, it is easy to read and write. Obfuscated Java isn't nearly as common as obfuscated C. There aren't a lot of special cases or tricks that will confuse beginners.

About half of the bugs in C and C++ programs are related to memory allocation and deallocation. Therefore the second important addition Java makes to providing bug-free code is automatic memory allocation and deallocation. The C library memory allocation functions malloc() and free() are gone as are C++'s destructors.

Java is an excellent teaching language, and an excellent choice with which to learn programming. The language is small so it's easy to become fluent in it. The language is interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is eliminated entirely.) The runtime environment provides automatic memory allocation and garbage collection so there's less for the programmer to think about. Java is object-oriented (unlike Basic) so the beginning programmer doesn't have to unlearn bad programming habits when moving into real world projects. Finally, it's very difficult (if not quite impossible) to write a Java program that will crash your system, something that you can't say about any other language.

Java is Object-Oriented

Object oriented programming was the catch phrase of computer programming in the 1990's. Although object oriented programming has been around in one form or another since the Simula language was invented in the 1960's, it really took hold in modern GUI environments like Windows, Motif and the Mac. In object-oriented programs data is represented by objects. Objects have two sections, fields (instance variables) and methods. Fields tell you what an object is. Methods tell you what an object does. These fields and methods are closely tied to the object's real world characteristics and behavior. When a program runs messages are passed back and forth between objects. When an object receives a message, it responds accordingly as defined by its methods.

Object oriented programming is alleged to have a number of advantages including:

Simpler, easier to read programs

More efficient reuse of code

Faster time to market

More robust, error-free code

In practice object-oriented programs have been just as slow, expensive and buggy as traditional non-object-oriented programs. In large part this is because the most popular object-oriented language is C++. C++ is a complex, difficult language that shares all the obfuscation of C while sharing none of C's efficiencies. It is possible in practice to write clean, easy-to-read Java code. In C++ this is almost unheard of outside of programming textbooks.

Java is Platform Independent

Java was designed to not only be cross-platform in source form like C, but also in compiled binary form. Since this is frankly impossible across processor architectures, Java is compiled to an intermediate form called byte-code.

A Java program never really executes natively on the host machine. Rather a special native program called the Java interpreter reads the byte code and executes the corresponding native machine instructions. Thus to port Java programs to a new platform, all you need to do is run it with an interpreter written for the new platform. You don't even need to recompile. Even the compiler is written in Java. The byte codes are precisely defined, and remain the same on all platforms.

The second important part of Java's cross-platform savvy is the elimination of undefined and architecture dependent constructs. Integers are always four bytes long, and floating point variables follow the IEEE 754 standard for computer arithmetic exactly. You don't have to worry that the meaning of an integer is going to change if you move from a Pentium to a PowerPC. In Java everything is guaranteed.

However the virtual machine itself and some parts of the class library must be written in native code. These are not always as easy or as quick to port as pure Java programs. This is why for example, there's not yet a version of Java 1.2 for the Mac.

Java is Safe

Java was designed from the ground up to allow for secure execution of code across a network, even when the source of that code was untrusted and possibly malicious.

This required the elimination of many features of C and C++. Most notably there are no pointers in Java. Java programs cannot access arbitrary addresses in memory. All memory access is handled behind the scenes by the (presumably) trusted runtime environment. Furthermore Java has strong typing. Variables must be declared, and variables do not change types when you aren't looking. Casts are strictly limited to casts between types that make sense. Thus you can cast an int to a long or a byte to a short but not a long to a Boolean or an int to a String.

Java implements a robust exception handling mechanism to deal with both expected and unexpected errors. The worst that a Java program can do to a host system is bringing down the runtime environment. It cannot bring down the entire system.

Most importantly Java applets can be executed in an environment that prohibits them from introducing viruses, deleting or modifying files, or otherwise destroying data and crashing the host computer. A Java enabled web browser checks the byte codes of an applet to verify that it doesn't do anything nasty before it will run the applet.

However the biggest security problem is not hackers. It's not viruses. It's not Visual Basic worms transmitted by Outlook Express. It's not even insiders erasing their hard drives and quitting your company to go to work for your competitors. No, the biggest security issue in computing today is bugs. Regular, ordinary, non-malicious, unintended bugs are responsible for more data loss and lost productivity than all other factors combined. Java, by making it easier to write bug-free code, substantially improves the security of all kinds of programs.

Java is High Performance

Java byte codes can be compiled on the fly to code that rivals C++ in speed using a "just-in-time compiler." Several companies are also working on native-machine-architecture compilers for Java. These will produce executable code that does not require a separate interpreter, and that is indistinguishable in speed from C++. While you'll never get that last ounce of speed out of a Java program that you might be able to wring from C or FORTRAN, the results will be suitable for all but the most demanding applications.

As of May, 1999, the fastest VM, IBM's Java 1.1 VM for Windows, is very close to C++ on CPU-intensive operations that don't involve a lot of disk I/O or GUI work; C++ is itself only a few percent slower than C or FORTRAN on CPU intensive operations.

It is certainly possible to write large programs in Java. The Hot Java web browser, the JBuilder integrated development environment and the javac compiler are large programs that are written entirely in Java.

Java is Multi-Threaded

Java is inherently multi-threaded. A single Java program can have many different processes executing independently and continuously. Three Java applets on the same page can run simultaneously with each getting equal time from the CPU with very little extra effort on the part of the programmer. This makes Java incredibly responsive to user input. It also helps to contribute to Java's robustness and provides a mechanism whereby the Java environment can ensure that a malicious applet doesn't steal all of the host's CPU cycles.

Unfortunately multithreading is so tightly integrated with Java, that it makes Java rather difficult to port to architectures like Windows 3.1 or the PowerMac that don't natively support preemptive multi-threading.

There is another cost associated with multi-threading. Multi-threading is to Java what pointer arithmetic is to C; that is, a source of devilishly hard to find bugs. Nonetheless, in simple programs it's possible to leave multi-threading alone and normally be OK.

Java is Dynamically linked

Java does not have an explicit link phase. Java source code is divided into .java files, roughly one per each class in your program. The compiler compiles these into .class files containing byte code. Each .java file generally produces exactly one .class file. (There are a few exceptions we'll discuss later, non-public classes and inner classes).

The compiler searches the current directory and a few other well specified places to find other classes explicitly referenced by name in each source code file. If the file you're compiling depends on other, non-compiled files, then the compiler will try to find them and compile them as well. The Java compiler is quite smart, and can handle circular dependencies as well as methods that are used before they're declared. It also can determine whether a source code file has changed since the last time it was compiled.

More importantly, classes that were unknown to a program when it was compiled can still be loaded into it at runtime. For example, a web browser can load applets of differing classes that it's never seen before without recompilation.

Furthermore, Java .class files tend to be quite small, a few kilobytes at most. It is not necessary to link in large runtime libraries to produce an executable. Instead the necessary classes are loaded from the user's local system.

Java is Garbage Collected

You do not need to explicitly allocate or deallocate memory in Java. Memory is allocated as needed, both on the stack and the heap, and reclaimed by the garbage collector when it is no longer needed. There are no malloc(), free(), or destructor methods. There are constructors and these do allocate memory on the heap, but this is transparent to the programmer.

Most Java virtual machines use an inefficient, mark and sweep garbage collector. Some more recent virtual machines have improved matters quite a bit by using generational garbage collection.

To sum up, Java is a safe, robust, garbage-collected, object-oriented, high-performance, multi-threaded, interpreted, architecture-neutral, cross-platform, buzzword-compliant programming language.


The Abstract Window Toolkit (AWT) package enables you to create GUIs in your applets and applications. Different Windows API from different platforms were looked at and components were identified that were common to all of them. The AWT API communicates with the platform's native API's as to give your application the native look and feel. Because they associate with their own native screen resources, AWT components are called heavyweight components. Swing components do not associate with native resources and are called lightweight components. The AWT consists of components, both container and non-container ones (eg. Button, Checkbox, Choice, ...) Container components (eg. Frame, Dialog, Window, Panel) control the layout of other components. As containers are themselves components, they can be placed inside other containers. Check out these links and subcategories on how to create and work with these containers and components.




Checkbox and RadioButton



Data Transfer (java.awt.datatransfer.*)


Drag and Drop (java.awt.dnd.*)






Input Method Framework


Layout Managers


Menu, MenuItem




Textfield, TextArea



Swing is not an acronym. It packages a set of GUI components. Unlike AWT components, that are associated to native screen resources (heavyweight), Swing components draw themselves on the screen (lightweight). This results in slower execution but a Swing application will look the same on all platforms. Because Swing supports pluggable look-and-feel, you could have a Windows look in your Unix environment (if you would ever want that). Check out the numerous subcategories for code examples for each component!






Top-Level Containers (JApplet, JDialog, JOptionPane, JFrame)

General-Purpose Containers (JPanel, JScrollPane, JSplitPane, JTabbedPane, JToolBar)

Special-Purpose Containers (JDesktop, JInternalFrame, JLayeredPane, JRootPane)

Atomic Controls (JButton, JCheckBox, JRadioButton, JComboBox, JList, JMenu, JSlider, JTextField)

Uneditable Atomic Controls (JLabel, JProgressBar, JToolTip)

Editable Atomic Controls (JColorChooser, JFileChooser, JTable, JTextArea, JEditorPane, JTree)



Swing Events

Swing Look and Feel






The Complete Reference Java2

By:-Herbert Schildt

Programming with Java

By:-E Balagurusamy



The project entitled "ONLINE TEST" has been successfully complied and made to run using the following main components of core Java: