55
THE ONLINE HOMEWORK SYSTEM _______________ A Thesis Presented to the Faculty of San Diego State University _______________ In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science _______________ by Nikhil Milind Kapre Spring 2011

THE ONLINE HOMEWORK SYSTEM

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: THE ONLINE HOMEWORK SYSTEM

THE ONLINE HOMEWORK SYSTEM

_______________

A Thesis

Presented to the

Faculty of

San Diego State University

_______________

In Partial Fulfillment

of the Requirements for the Degree

Master of Science

in

Computer Science

_______________

by

Nikhil Milind Kapre

Spring 2011

Page 2: THE ONLINE HOMEWORK SYSTEM
Page 3: THE ONLINE HOMEWORK SYSTEM

iii

Copyright © 2011

by

Nikhil Milind Kapre

All Rights Reserved

Page 4: THE ONLINE HOMEWORK SYSTEM

iv

DEDICATION

I would like to dedicate this work to my family, an everlasting source of inspiration in

my life. Also I would like to dedicate this work to my professors for their ongoing guidance.

I would not have been able to achieve what I have without their support.

Page 5: THE ONLINE HOMEWORK SYSTEM

v

ABSTRACT OF THE THESIS

The Online Homework System by

Nikhil Milind Kapre Master of Science in Computer Science

San Diego State University, 2011

In recent years, World Wide Web usage for teaching and learning has increased rapidly. Clearly there is need for a good online homework system that will make learning accessible for students and provide for ease of use by faculty. Currently, there are homework systems available, but each has certain issues and all tend to be difficult for both students and faculty. This thesis addresses the problems we have with current systems and builds a homework system with an easy-to-use interface.

Online Homework System, designed for students and faculty, facilitates submitting and grading homework. The system is a framework that can be used for any course. The interface allows faculty to post their homework and students to submit and review their homework with the easy-to-use user interface. This thesis asserts that the system is a positive learning tool for students. With this system, grading will be easier and faster, and students can view their results at any time.

Student performance is a critical factor in any homework system. This thesis addresses the issue and makes sure that student performance will not be negatively affected by this system.

Page 6: THE ONLINE HOMEWORK SYSTEM

vi

TABLE OF CONTENTS

PAGE

ABSTRACT ...............................................................................................................................v

LIST OF FIGURES ............................................................................................................... viii

LIST OF ABBREVIATIONS ....................................................................................................x

ACKNOWLEDGEMENTS ..................................................................................................... xi

CHAPTER

1 INTRODUCTION .........................................................................................................1

1.1 Background ........................................................................................................1

1.2 Statement of the Problem ...................................................................................2

1.3 Purpose of the Study ..........................................................................................2

1.4 Limitations of the Study.....................................................................................2

2 LITERATURE REVIEW ..............................................................................................4

2.1 Student Performance ..........................................................................................4

2.2 Immediate Feedback ..........................................................................................5

2.3 Grading ..............................................................................................................6

2.4 Effectiveness of Online Homework Systems ....................................................6

2.5 Currently-Used Homework Systems .................................................................7

2.6 User Interface .....................................................................................................8

3 RESEARCH METHODOLOGY .................................................................................10

3.1 Type of Questions ............................................................................................10

3.2 Grading ............................................................................................................12

3.3 User Interface ...................................................................................................12

3.4 Web Based Application System .......................................................................13

3.5 Database Architecture ......................................................................................14

3.6 Security Issues .................................................................................................15

3.7 Technical Difficulties.......................................................................................15

4 DESIGN AND IMPLEMENTATION ........................................................................17

4.1 Online Homework System Architecture ..........................................................17

Page 7: THE ONLINE HOMEWORK SYSTEM

vii

4.2 Database Schema .............................................................................................18

4.3 Basic Operations ..............................................................................................20

4.3.1 Add Homework ...................................................................................... 20

4.3.2 Add Question ......................................................................................... 21

4.3.3 Modify Homework/Question ................................................................. 22

4.3.4 Preview Homework ............................................................................... 22

4.3.5 Submit Answer....................................................................................... 22

4.3.6 Grade Homework ................................................................................... 24

4.3.7 Grade Summary ..................................................................................... 24

5 TECHNOLOGY USED ...............................................................................................25

5.1 Java Servlet ......................................................................................................25

5.2 MySQL ............................................................................................................26

5.3 XHTML ...........................................................................................................26

5.4 CSS ..................................................................................................................26

5.5 JavaScript .........................................................................................................27

5.6 Version Control System ...................................................................................27

6 RESULTS ....................................................................................................................29

7 CONCLUSION ............................................................................................................41

7.1 Future Enhancement ........................................................................................41

7.2 Summary ..........................................................................................................42

BIBLIOGRAPHY ....................................................................................................................43

Page 8: THE ONLINE HOMEWORK SYSTEM

viii

LIST OF FIGURES

PAGE

Figure 4.1. Relationship among database tables. .....................................................................19

Figure 4.2. Add homework. .....................................................................................................20

Figure 4.3. Add question. .........................................................................................................21

Figure 4.4. Modify homework/question. .................................................................................23

Figure 5.1. Three states of version control system: Git. ..........................................................28

Figure 6.1. Login screen. .........................................................................................................29

Figure 6.2. Student home. ........................................................................................................30

Figure 6.3. Submit homework. ................................................................................................30

Figure 6.4. Answer true/false question. ...................................................................................31

Figure 6.5. Answer long answer question. ...............................................................................31

Figure 6.6. Answer short answer question. ..............................................................................32

Figure 6.7. View answer. .........................................................................................................32

Figure 6.8. Faculty home. ........................................................................................................33

Figure 6.9. Add homework. .....................................................................................................33

Figure 6.10. Add a short answer question. ...............................................................................34

Figure 6.11. Add a long answer question. ...............................................................................34

Figure 6.12. Add a multiple choice question. ..........................................................................35

Figure 6.13. Add a true/false answer question. ........................................................................35

Figure 6.14. Modify homework. ..............................................................................................36

Figure 6.15. Modify selected homework. ................................................................................36

Figure 6.16. Preview homework. .............................................................................................37

Figure 6.17. Grade homework. ................................................................................................37

Figure 6.18. Grade summary for all students. ..........................................................................38

Figure 6.19. Grade summary of all students for selected homework. .....................................38

Figure 6.20. All student responses to selected question and their grades. ...............................39

Figure 6.21. Grade summary of a specific student. .................................................................39

Page 9: THE ONLINE HOMEWORK SYSTEM

ix

Figure 6.22. Grade summary of the selected homework and student. .....................................40

Figure 6.23. Student answer and obtained grade to a selected question. .................................40

Page 10: THE ONLINE HOMEWORK SYSTEM

x

LIST OF ABBREVIATIONS

HTML HyperText Markup Language

XHTML Extended HyperText Markup Language

CSS Cascading Style Sheets

SQL Structured Query Language

JDBC Java DataBase Connectivity

UI User Interface

DTD Document Type definition

Page 11: THE ONLINE HOMEWORK SYSTEM

xi

ACKNOWLEDGEMENTS

I would like to express my heartfelt gratitude to Alan Riggins for giving me the

opportunity to work on this thesis project and for providing constant support and motivation.

This work would not have been completed without his help.

I thank Dr. Leland Beck and Roxana Smarandache for serving on my thesis

committee. Also I would like to thank Graduate Advisors, Dr. Carl Eckberg and Dr. Joseph

Lewis, for their support during the coursework.

Page 12: THE ONLINE HOMEWORK SYSTEM

1

CHAPTER 1

INTRODUCTION

The World Wide Web is evolving so quickly that faculty members are continually

integrating web technologies into their courses in an attempt to deliver course content more

effectively and to increase student learning. Online Homework System is a part of this

process for which many faculty members are opting. Use of the Online Homework System

can benefit both students as well as faculty. Students can work on their homework at any

time and also can check the feedback instantaneously.

Having Online Homework System benefits faculty members particularly regarding

efficiency. Grading paper-based homework system requires a large time commitment, while

with Online Homework System, grading can be done in minimal time. There is no need to

summarize grades as the system does that for the professor.

1.1 BACKGROUND

Paper-based homework has some constraints. The possible limitation to paper-based

assessment may overcome by a web-based system. In a web-based environment, faculty can

easily add text, sound, and graphics into their presentations and assignments.

When incorporated into an appropriate user interface, online homework allows

faculty to overcome traditional constraints regarding grading or providing feedback on tests

and assignments, particularly when multiple areas are simultaneously assessed. Computer

technology increases the efficiency of storing and evaluating test results and grades. It also

allows for real-time evaluations and summaries of scores and grades, providing faculty and

students with immediate feedback on performance.

Web-based technologies can provide students with more opportunities for peer

interaction by overcoming the constraints traditionally imposed in terms of time and location.

As well, online homework has a greater advantage in terms of its accessibility at any time.

Better interaction is achieved both inside and outside the classroom by means of synchronous

and asynchronous methods of communication.

Page 13: THE ONLINE HOMEWORK SYSTEM

2

There are other Web-based homework systems available, but each has its own issues.

Some of these homework systems make it difficult for students to answer the questions.

Some students tend to prefer a traditional homework system. Some homework systems don’t

support grading systems, so faculty needs to rely on some other system or to grade manually.

1.2 STATEMENT OF THE PROBLEM

There is a need for an online homework system that can tackle the difficulties of

traditional paper-based systems and currently available online homework systems. This

thesis addresses various issues of the current homework system and proposes an Online

Homework System that can also be used as a learning tool.

While developing the Online Homework System, a main emphasis was to make sure

that it has easy-to-use user interface. The system needed to be intuitive, and students should

not have had to learn the system before submitting their answers. Both students and faculty

should find the system easy to use.

Grading is a time-consuming process. A grading system was integrated into the

homework system so that faculty could grade homework online and the system can develop

the grading summary.

1.3 PURPOSE OF THE STUDY

A homework system can directly affect student performance. Before changing

currently-used online homework systems, a study was needed that would discover the

benefits and possible drawbacks of a new system. Also it was necessary to analyze various

studies that have compared paper-based and web-based homework systems. It was required

that a new system includes all necessary features and become a good learning tool.

1.4 LIMITATIONS OF THE STUDY

A homework system depends upon the type of course it has been designed for and the

number of features it supports. While comparing various homework systems and while

studying the research based on comparisons of paper-based and web-based homework

system, it became clear that most of the studies were related to a particular course. In the

present study, computer science courses were the focus.

Page 14: THE ONLINE HOMEWORK SYSTEM

3

With web-based systems, there is a limitation on types of questions that can be asked.

This limits faculty from asking any question.

Security is an important issue in web-based systems. Having completely secured

homework system is a difficult task. One can apply various techniques to build in more

security, but there are limitations.

This chapter gives the introduction and overview of the thesis, its background,

problem statement, purpose, and limitation. It allows the reader to understand the research,

that would be carried out in this thesis. Also it gives a brief overview of the Online

Homework System that has been developed.

Page 15: THE ONLINE HOMEWORK SYSTEM

4

CHAPTER 2

LITERATURE REVIEW

It is important to study benefits and drawbacks of both paper-based and web-based

homework systems before changing a traditional paper-based homework system to an online

homework system. Various studies have been reviewed to compare computer-based online

homework systems and traditional paper-based homework systems. Following is a summary

of those studies.

2.1 STUDENT PERFORMANCE

When considering replacing traditional methods of paper-based homework with

computer-based methods, it is important to determine whether student performance is

affected by the change.

In looking at the issue of student performance on computer-based tests versus paper

tests, Bugbee [1] found that students do at least as well on computer-based tests as on paper-

based tests, they like computer-based tests, and they take more time to complete computer-

based tests than paper-based tests. Students also believed that computer-based tests save

time.

Agarwal and Day found that the use of web-based technology in economics

instruction had a positive effect on student learning as measured by improvement in the Test

of Understanding in College Economics (TUCE) scores in both graduate and undergraduate

economics courses [2].

Similarly, Sosin, Blecha, Agarwal, Bartlett, and Daniel found the use of technological

tools in teaching economics at the introductory level to have a positive effect on student

performance [3]. These results were based on an extensive data set of nearly 4000 students

taught by 30 instructors across 15 different departments.

After finding that a wireless technology system (WITS) that they had developed

improved the final grades of students in a lecture-orientated economics class, Ball, Eckel, and

Page 16: THE ONLINE HOMEWORK SYSTEM

5

Rojas concluded, “Evidence mounts that interactive exercises improve teaching

effectiveness” [4].

Online homework allows students to work on practice problems before starting the

homework, thereby helping students identify areas where they need additional study.

Johnston reports that students appreciated the convenience, flexibility, and feedback features

of online homework [5]. He has performed three different studies that assessed an online

homework system. In the first study, students were asked to compare online methods of

homework with pen-and-paper methods. Only students who had experience with both

systems were included in the study. He found that students overwhelmingly preferred the

online method (90%) to the pen-and-paper method (10%). In the second study, actual

homework performance of students who used the pen-and-paper method and who used online

method were compared. The result of this study was that student performance had been

increased from 88% in the pen-and-paper method to 97% in the online method. In the third

study, the researcher considered benefits and drawbacks of online methods based on student

opinion. Students were positive towards the online method. They reported a high level of

agreement with 17 benefits to the online method. This study also confirmed the major

drawback of an online homework system. Johnson found that technical difficulties frustrated

users from successfully completing their homework. This study gave considerable insight

into student preference and also helped to discern the difficulties they face with this new

method of homework.

Several studies have found that online homework systems effectively promote

engagement with course material and may result in gains in both knowledge and skill as they

are measured inside the classroom. Denny and Yackel [6] found that students attempt online

homework problems at very high rates and their increased practice might translate into

greater content-related knowledge and skill.

2.2 IMMEDIATE FEEDBACK

Immediate feedback is perhaps the most important benefit of an online homework

system. Hall [7] points out that online homework provides many opportunities to gain

immediate feedback. Even with traditional homework, students have a very strong desire to

compare their answers with the “back-of-the-book” answers to determine if they have

Page 17: THE ONLINE HOMEWORK SYSTEM

6

worked the problem in the correct manner. Gaining immediate feedback leads to high student

motivation to complete their homework problems and is a major benefit of an online

homework system. Stuart, Kortemeyer, and Dillard-Eggers provide evidence that such

feedback tends to enhance student outcomes [8], [9], [10]. Lindquist and Olson report that

feedback increases students’ perception of learning and satisfaction with the final grade [11].

2.3 GRADING

There are many potential benefits to using an online homework system, and grading

is one of them. As Thoennessen and Harrison [12] suggest, automatic grading reduces the

number of teaching assistants required for grading homework and/or frees time for more

interactive contact with students. In addition, the instructors and assistants can be viewed as a

helpers rather than graders or judges.

There are aspects of web-based homework systems that make them very attractive for

instructors and administrators. From the instructor’s perspective, on-line systems spare the

teacher time and tedium inherent in collecting and grading paper-based homework [6].

With paper-based homework systems, it is difficult to make real time compilations

and summaries of grades obtained. Students may find difficulties in obtaining feedback on

their homework. With database technologies, when incorporated with proper user interface,

both faculty and students are provided efficient tools of recording and displaying summary

results [13].

2.4 EFFECTIVENESS OF ONLINE HOMEWORK SYSTEMS

In paper-based homework systems, conducting in-class assignments takes time. That

puts a limit on number of assignments faculty can manage to conduct during the entire

course. There is no such limitation in Online Homework System. As Titus, Martin, and

Beichner mentioned, with online homework systems, assignments can be conducted daily.

This motivates students to study continuously throughout the week rather than

procrastinating until homework is due [14].

While conducting assignments in class, there is a time limitation as well. Assignments

need to be completed in a given time slot. Each type of question requires specific time to

answer that question. Long answer questions may need more time than short answer question

Page 18: THE ONLINE HOMEWORK SYSTEM

7

and short answer question may require more time than true/false questions or multiple choice

questions. It is difficult for faculty to predict the time required while setting up assignments.

In web-based homework, there is no time limitation. Faculty members can post any number

of questions in a given assignment.

Web-based technology can provide students with more opportunities for interaction

by overcoming the constraints traditionally imposed in terms of time and location. Demirci

noted that the essence of self- and peer-assessment lies in personal interactions [13].

However, given the limited time available for class meetings, even the completion of

assessment activities is a challenge, and, even if completed, little time may be left for class

discussion. Online homework has a greater advantage in terms of its accessibility at any time.

Schleter and Benett write that a traditional paper-based homework system is labor

intensive, time consuming, highly dependent upon student motivation and integrity, and

historically not very effective. With the proliferation of available Internet access, the use of

online homework seems to be a natural application [15]. Also after reviewing various studies

that have been conducted to compare paper-based homework systems and web-based

homework systems, web-based online homework systems stand out as positive ways to teach

and learn.

2.5 CURRENTLY-USED HOMEWORK SYSTEMS

There are several online homework systems that are currently being used to assist the

learning process.

WeBWork is an open-source online homework and grading system. It has over

twenty thousand homework problems and supports courses such as college algebra, discrete

mathematics, probability, and statistics [16]. More than 100 colleges, universities, and high

schools use this system. It provides students instantaneous feedback. Grades are automated as

well. The only problems with this homework system are these: it is mainly focused on

mathematics, and faculty have no freedom to set their own questions.

CALM (Computer Assisted Learning Method) was developed and is offered without

cost by Indiana University [17]. CALM was initially developed to aid instruction in first-year

general chemistry classes at Indiana University, Bloomington. Students use CALM to

complete homework assignments in the lecture courses as well as completing pre-laboratory

Page 19: THE ONLINE HOMEWORK SYSTEM

8

assignments in the laboratory. They are allowed to try and answer a question multiple times

(until the deadline) without penalty until they arrive at the correct answer.

Blackboard is a course management software that has been used widely in many

universities, including at San Diego State University [18]. Students complain about this

system because of a lack of feedback. Also students spend more time trying to figure out how

to submit answers than actually solving the statistical problem. Submitting answers to

mathematical problems is very difficult in Blackboard.

WebAssign, developed at North Carolina State University for online physics

homework and currently available through Advanced Instructional Systems, Inc., provides a

course-management system and online homework, quizzes, and tests [19]. WebAssign has

material from many textbooks in a variety of disciplines, including material from 115 general

chemistry textbooks that includes questions, exercises, problems, simulations, and tutorials.

“Unrestricted” questions are available for use with any textbook. Instructors can also author

new questions. Feedback to incorrect responses tends to be very limited.

2.6 USER INTERFACE

In User Interface Design for Programmers, Spolsky mentioned that a user interface is

well designed when the program behaves exactly as the user thought it would [20]. Users are

using software to accomplish a task. They care about the task. Spolsky also pointed out six

steps to use in designing effective software:

Invent actual users of the system

Figure out important activities which will be carried out in the system

Figure out the user model

Sketch out the first design

Iterate over the design again and again

Watch real humans trying to use the system

These steps need to be applied while developing a user interface for online homework

systems. Since student performance is directly related to the homework system they are

using, having an easy-to-use user interface helps students perform better.

As we can understand from various studies that have been reviewed in this chapter,

student performance is directly related to the homework system. Online homework systems

Page 20: THE ONLINE HOMEWORK SYSTEM

9

help to improve the performance. Also students prefer to have immediate feedback, reporting

that it helps them in their performance as well. Grading efficiency is also an equally

important feature and needs to be incorporated in the Online Homework System. Finally, a

good user interface is key in developing the Online Homework System.

Page 21: THE ONLINE HOMEWORK SYSTEM

10

CHAPTER 3

RESEARCH METHODOLOGY

While developing an online homework system, various parameters such as types of

questions, user interface, functionality, database, security issues, and technical questions play

important roles. Research needed to be done in these areas before starting with development.

3.1 TYPE OF QUESTIONS

In Online Homework System, the types of questions asked is important. The way

questions can be framed and displayed determines how easy the system is for students to use.

Answering a question should not be difficult for students, and they should be able to

understand the questions easily. Since web-based grading is an important characteristic of

online homework systems, the difficulty in grading a given question needs to be considered

as well. The types of questions determine if grading can be automated. One cannot ask the

same types of question that can be asked on paper-based homework. Question types also

depend on the course material and the way homework is being posted for a particular course.

True/False Questions: True/False questions present a statement and prompt the

student to choose whether the statement is truthful. True/False questions are among the

easiest to write and can be graded electronically. This type of question is good for quizzes on

brief assignments where faculty wish to test student understanding. The disadvantage of

true/false questions is that they are limited as to what kinds of student mastery they can

assess. They have a relatively high probability (50%) of students guessing the correct answer.

Matching Questions: Matching questions involve paired lists that require students to

correctly identify the relationship between the items. Matching items can assess a large

amount of information in a confined space on the exam page, taking up less space than

multiple-choice questions. This type of question has less probability of guessing than

True/False questions. These, however, are not easy to frame on the web. They are better for

traditional paper-based systems and not ideal for online homework systems. In addition, web-

based grading may not be easy for such question types.

Page 22: THE ONLINE HOMEWORK SYSTEM

11

Multiple Choice Questions: Multiple-choice items present a question and ask

students to choose from a list of possible answers. Most multiple-choice questions feature

one correct answer and two to four “distractor” choices that are not correct. Questions can

take the form of incomplete sentences, statements, or complex scenarios. Multiple-choice

questions are the most versatile of the closed-ended question types. This versatility stems

from the fact that the questions can contain more elaborate scenarios that require careful

consideration on the part of the student. The probability of student guessing is also relatively

low. This type of question can be easily framed for any type of homework. It also has easy

user interface, and these question types are not difficult for students to maneuver. Multiple-

choice questions can be graded automatically, and grading efforts can be reduced

significantly.

Short Answer Questions: Short-answer questions are “constructed-response,” or

open-ended questions that require students to create an answer. Short-answer items typically

require responses of one word to a few sentences. “Fill in the blank” and “completion”

questions are examples of short-answer question types. Short-answer questions assess

unassisted recall of information rather than recognition. Compared to essay questions, they

are relatively easy to write. Short-answer questions cannot be graded electronically, thus

graders need to check every response. Still these types of questions are easy to frame and can

be asked on online homework systems.

Long Answer Questions: Long-answer questions, like short-answer, are constructed-

response questions. However, long answers are typically much longer than those of short-

answer. They allow students to express their thoughts and opinions in writing, granting a

clearer picture of the level of student understanding. Finally, as open-ended questions, they

assess recall over recognition. Long-answer questions may not be ideal for an online

homework system, but to support different types of homework in various courses, it is

important to include this type of question in online homework systems.

Programming Questions: In computer science courses, programming questions play

an important role. These types of questions will either ask the student to write a code snippet

or an algorithm. Answering such questions requires considerable space; they are not ideal for

online homework systems. In addition, web-based grading of these questions is not easy.

Page 23: THE ONLINE HOMEWORK SYSTEM

12

There are some other types of questions that can be asked in homework, but most of

them are good for traditional paper-based homework. Questions such as drawing a diagram,

finding mistakes from given code snippet, and using a diagram while giving an answer are

not suitable for online homework systems. Programming assignment questions where

students are asked to upload a file is a type of question that can be asked in only a few

computer science courses.

3.2 GRADING

Grading is an integral part of online homework systems. Web-based homework

systems will not be considered effective if grading is not part of that system. There are

various methods of grading a question. Electronic grading depends on the type of answer the

instructor is expecting. Multiple-choice questions or True/False questions can be

electronically graded. These alone reduce considerably the burden on graders. With

electronic grading, there is minimal chance of mistakes and grading can be accomplished

quite quickly. In web-based homework systems, all student responses for a given question

can be displayed in one place, and graders can go through all these responses and assign

grades. This is faster than grading such questions on paper-based homework systems.

Graders can also grade questions by student, grading one student at a time. Such varied

techniques need to be implemented in grading systems when developing an online homework

system.

Grading summaries can also be recorded with the help of the database. All the

assigned grades can be saved into the database and class performances can be displayed as

requested. This also allows faculty to go through any student responses and grades at any

time to view or modify their grades.

3.3 USER INTERFACE

As discussed in the literature review, user interface plays an important part in

software development. It affects feelings, emotions and the mood of users. If user interface is

incorrect and the users believe that they cannot control the software, they will be unhappy

and likely blame the software. But if it is well developed and things work the way users

expected it to work, they will be positive as they manage to accomplish goals.

Page 24: THE ONLINE HOMEWORK SYSTEM

13

In the Online Homework System, user interface can impact student performance. If

students cannot easily figure out the way to submit their answers, it will affect their

performance. It is one of the main reasons why some of the existing online homework system

do not have any sufficient impact and are not being used.

A user interface needs to be task oriented. Submitting answers should be as easy as

possible. Question navigation should be intuitive and users should be able to navigate back

and forth. The method of submitting answers should be easy, and the system should record

and save all user answers. There should be sufficient space available for students to submit

their answers. They should be allowed to select any question at any time, and there should be

links available for navigating from one part of the homework to another. Questions need to

be displayed properly. Each screen should handle only one task. There should be the fewest

number of clicks while doing any particular task.

Keeping all these things in mind, this project presents different user interface designs

for each screen, both for students and faculty. Faculty advisors provided feedback and

assistance on user interfaces for these screens.

3.4 WEB BASED APPLICATION SYSTEM

Before developing an Online Homework System, it was important to understand web-

based application system, including the design and architecture of the application. In general,

web-based applications may contain N-layers, with each layer having its well-defined

functionality. Following is a discussion of a system with four layers including client layer,

presentation layer, business login layer, and data layer.

The client layer of a web application is nothing but a web application running on the

user’s client machine. The main job of this layer is to display data and let the user enter or

update data. There are usually two approaches to build this layer--Static HTML Client and

Dynamic HTML Client. Static HTML Client is used only to display and get data; all the

validation is done in middle tier and any errors are posted back to the client as a new page.

This creates more traffic and is vulnerable to security issues. While Dynamic HTML Client

acts as a gateway to inputs, it is possible to make the HTML page refuse to allow certain

types of inputs. Thus, these inputs can be validated immediately before sending them to

Page 25: THE ONLINE HOMEWORK SYSTEM

14

middle tier. This greatly decreases network traffic. HTML Java Script can be used to

implement Dynamic HTML in the client layer.

The presentation layer serves as the middle layer between the client and data layers. It

decodes the data from the client. The presentation layer is usually inside a web server. CGI,

ASP.NET or a combination of Java Servlet and JavaServer Pages (JSP) can be used to

implement the presentation layer. Microsoft IIS, Apache WebServer, Weblogic, or IBM

Websphere can be used for WebServer.

Application logic is usually implemented in the business logic layer. It includes

performing all required calculations and validations, managing workflow, and managing all

data access for the presentation tier. The business login can be implemented using Visual

Basic, C++, or Java.

The data layer is responsible for managing the data. The job of the data layer is to

provide the business logic layer with required data when needed and to store data when

requested. Hierarchical database, legacy flat file, or XML files can be used to implement the

data layer.

3.5 DATABASE ARCHITECTURE

Database architecture is the set of specifications, rules, and processes that dictate how

data are stored in a database and how data are accessed by the components of a system. It

includes data types, relationships, and naming conventions. The database architecture

describes the organization of all database objects and how they work together. It affects

integrity, reliability, scalability, and performance. The database architecture involves

anything that defines the nature of the data, the structure of the data, or how the data flows.

While designing a homework system, there are various areas that need to be

considered. There will be number of operations to be performed and many students will be

accessing this system simultaneously. To define the structure of the database, the developer

defined all the attributes that were needed for this homework system and designed a database

schema, that would be easy to implement and have scope for future enhancement.

Page 26: THE ONLINE HOMEWORK SYSTEM

15

3.6 SECURITY ISSUES

Security issues can be a serious concern in any web-based system. In web-based

homework systems, instructors cannot guarantee that students are doing their work by

themselves. In the case of homework, a grade is not heavily weighted, students are usually

expected to work together, and password verification may be enough to deter less-motivated

cheaters. As a result, security concerns are not so great. And there can be benefits from

encouraging students to collaborate [14].

But for exams or quizzes, security is a vital issue since these elements often count for

a larger part of the course grade. In this case, there are sufficient ways of insuring security.

One such way is to use randomization. Question order can be randomized or choices in

multiple-choice question can also be randomized.

Another way of providing security is to have different set of questions and have

students receive these questions in random order. But for this to be implemented, faculty

needs to develop many more homework questions. In another method of security, one can

restrict the access to questions based on user’s IP Address, in which case the student must

take quizzes or exams from a certain computer lab, building, or campus. The lab can be

monitored, printers can be disabled, and proctors can check student ID’s upon entry [14].

3.7 TECHNICAL DIFFICULTIES

Experiencing technical difficulties is an inevitable component of using a web-based

system. There can be an issue with the server or the Internet or another unexpected problem,

any of which may affect students when they submit homework. Perhaps there can be some

browser-specific features or platform-dependent plugins which students are not able to install

or access properly. While developing an online homework system, the developer needed to

plan for these issues. The system had to be designed in such way that it would take care of

most of the issue and there would be no issue from the application side. In any case, students’

answers need to be saved completely and never lost. Failover mechanisms can be

implemented to tackle server issues so that secondary servers will be available if the first one

crashes.

Beyond, technical issues, some students just do not have adequate computer

experience and may be anxious about using computers. The Web should offer an intuitive

Page 27: THE ONLINE HOMEWORK SYSTEM

16

user interface, which makes the work easy for these students. Students also need access to the

Internet. If a student does not have access to the Internet at home, schools should have

computer labs where students can access the Internet on a regular basis.

Although the World Wide Web is improving in its graphics design capabilities, it is

not easy to represent some question containing various symbols. Such questions need to be

displayed as an image. But this process is time consuming, and users with slow Internet

access may be affected as such images may take excessive time to upload. Therefore, it is

best to handle most of the questions with HTML tags that will be easy to display.

This chapter discusses types of questions, user interface, functionality, databases,

security issues, and technical questions that come into play when developing an online

homework system. By following the suggestions described here, it is likely that a developer

can create an effective system that works for the users—both students and faculty.

Page 28: THE ONLINE HOMEWORK SYSTEM

17

CHAPTER 4

DESIGN AND IMPLEMENTATION

In a software development life cycle, design and implementation are important

phases. A good software design contributes to implementing a successful system. Various

features that have been discussed in previous chapters needed to be considered while

designing the Online Homework System. This chapter discusses the design and

implementation of the Online Homework System.

4.1 ONLINE HOMEWORK SYSTEM ARCHITECTURE

The Online Homework System has several components including homework

submission; an interface for students to read, review, and use to access their assignments; and

ways to grade homework and check graded homework. It’s a web-based application and can

interact with the user through a web browser. JavaScript is used for client validation. Apache

Tomcat is used as a Web Server. Java Servlet is used for server side programming. MySQL

serves as the database backend. Structured Query Language is used for composing the

queries to access the database. It’s a three-layer system. Each tier is described as follows:

Tier I: This layer is the presentation layer. The user interacts with the server using a

web browser such as Firefox or Chrome. JavaScript is used to validate user input. The client

requests the web server for the HTML page, and the server responds to it. In this layer, focus

is on user interface. Also it is important that all data, which will be submitted from this layer,

need to be validated. JavaScript make sure that valid data will be passed to the next layer.

CSS was used for styling.

Tire II: Java Servlet is used for server-side programming. Apache Tomcat serves as

the servlet container. Dynamic HTML pages are returned to the browser by the servlet.

Servlet communicates with the database through JDBC to authenticate the user and to store

and retrieve data. This tier is also called an application layer. Business logic is implemented

in this layer. Submitting answers, grading questions, and sending data to the presentation

layer are some of the important tasks handled by this layer.

Page 29: THE ONLINE HOMEWORK SYSTEM

18

Tier III: This is also called a Data Layer. MySQL is used as the database layer. It

receives requests from the servlet in the form of SQL queries, executes them on the database,

and returns the result.

4.2 DATABASE SCHEMA

The Online Homework System uses MySQL as the database. Various tables have

been created and have been normalized to remove redundancy. Following is a list of database

tables and their descriptions:

User: This table represents all the users who can access the Online Homework System. It includes faculty members as well as students. Each user has his or her own credentials and defined roles. Depending on their roles, users will be navigated to their screen.

Homework: A homework table represents each homework assignment with its common attributes such as homework name, due date, and grading status.

Question Type: This table contains all the question types that the homework system supports.

Question: The question table provides the question information. This table contains questions from all the homework. It has attributes such as homework Id that is the foreign key to homework table, question type id that is the foreign key to question type table, question, homework question number, and total points.

True/False Answers: This table contains correct answers to all true/false questions.

Choices: The choices table contains choices being given to each multiple-choice question. Choices for all multiple-choice questions reside here.

Answers: This table contains correct answers to all the short/long-answer questions.

Student True/False Answer: This table contains student responses to all true/false questions across all the homework.

Student Multiple Choice Answers: This table contains student responses to all the multiple-choice questions for all the homework.

Student Answers: This table contains student responses to all short/long-answer questions.

Student Question Grades: This table contains grades obtained by each student for each question from all the homework. It has attributes such student id, that is the foreign key to user table, question id that is the foreign key to question table, and grade obtained.

Figure 4.1 shows the entity relationship among database tables.

Page 30: THE ONLINE HOMEWORK SYSTEM

19

Figure 4.1. Relationship among database tables.

Page 31: THE ONLINE HOMEWORK SYSTEM

20

4.3 BASIC OPERATIONS

The Online Homework System is designed with basic operations for both student and

faculty. Operations such as adding a homework assignment to the system, adding a question

to the homework, modifying the homework, and grading are some of the features which can

only be performed by faculty. Operations such as submitting an answer will be performed by

students. Both students as well as faculty can view the grading summary. All these operations

will be discussed in details in this section.

4.3.1 Add Homework

Add a homework task is defined for faculty. To post homework on a system,

instructors will have to add new homework. The homework title and due date are required

parameters. Once homework is added to the system, faculty can add one question at a time.

As soon as homework is added into the system, it will be visible for students, and they can

start answering questions immediately. Figure 4.2 describes the state diagram for this task.

Figure 4.2. Add homework.

Page 32: THE ONLINE HOMEWORK SYSTEM

21

4.3.2 Add Question

There are four different types of questions: Short-Answer questions, Long-Answer

questions, Multiple-Choice questions and True/False questions. One has to choose one of

these before adding a question to the homework. Only faculty can add a question. Question

numbers will be assigned automatically depending on the number of questions in a given

homework assignment. Question, help, answer, and total points are some of the parameters

one can fill in while adding a question. The question interface changes depending on the user

interface. For True/False questions, a correct answer needs to be selected. This will help to

grade a given question electronically. Also in Multiple-Choice questions, one has to provide

different choices and the correct choice. For Short Answer/Long Answer-questions,

providing a correct answer is not necessary. Faculty may add as many questions as

appropriate. Figure 4.3 describes the state diagram for this task.

Figure 4.3. Add question.

Page 33: THE ONLINE HOMEWORK SYSTEM

22

4.3.3 Modify Homework/Question

In this task, one can edit the homework. Here, faculty are allowed to edit the

homework due date. This is useful in the event the homework due date needs to be changed.

Also the question may be edited. Along with editing, one can delete any question. This will

delete all the references from the database as well as the original question. In addition, it will

change the question numbering in a given homework assignment, and changes will be

reflected immediately. Faculty can delete complete homework if they don’t want to display

that homework anymore. This will delete all the questions from that homework as well as all

related information. Only faculty can perform this action. Figure 4.4 describes the Modify

Homework/Question task.

4.3.4 Preview Homework

Faculty can preview the homework and check how homework will be displayed to

students. This allows the instructor to understand the display and have a clear picture of how

students can submit their homework. In preview homework, one can navigate through all

questions or select any particular one. All the fields will be read-only in this task. Faculty can

preview any homework that has been posted. Homework past the due date will be displayed

in gray color, but one can still preview it.

4.3.5 Submit Answer

In the Online Homework System, submitting an answer is an important task. Only

students are allowed to perform this task. One can only submit answers before the homework

due date. After the due date, homework will be locked, and students can no longer submit

their answers. They can, however, view their answers at any time. For Multiple-Choice

questions and True/False questions, students have to just select one of the choices. Two

navigation buttons are provided on each question in order to move forward or backward.

That will take the student to the next question or the previous question. Clicking on this

button will also save the answer automatically. This reduces an extra click, which would

have been required to save the answer. Students can change their answers at any time before

the due date. The latest answer will be saved into the database.

Page 34: THE ONLINE HOMEWORK SYSTEM

23

Figure 4.4. Modify homework/question.

Page 35: THE ONLINE HOMEWORK SYSTEM

24

4.3.6 Grade Homework

In the Online Homework System, grading homework is an important feature. After

the due date, a grading option is enabled for faculty for all the questions in that particular

homework assignment. For each question, all the student responses will be displayed one

below the other, and instructors will go through these responses and assign grades to each

student response. In the case of Multiple-Choice questions and True/False questions, grades

will be assigned automatically. Faculty members then have to review the responses and

submit grades. Once grades are submitted, students can view their grades immediately for

each question. They do not have to wait until the complete homework assignment is graded.

4.3.7 Grade Summary

Grade Summary is a helpful feature both for students and faculty. Students can view

their grades after the due date, and grades will be updated in real time as soon as a faculty

member grades any particular question. Along with their own grades, students can check the

class average. Class average scores will be displayed for each homework assignment.

Students can view each question and check the correct answer. Correct answers will be

displayed along with student answers for each question.

Grade Summary is also provided for faculty. Instructors can view the grade summary

of all the students together or they can view each individually. A drop down list is provided

so that faculty can select a particular student and view his or her performance in any

homework assignment. Along with the grade summary, faculty can view student answers at

any time. This helps faculty in situations where they need to review grades for a particular

student. In this case, the instructor can just select the student and the homework they want to

review and check all the answers submitted by that student.

In this chapter, the Online Homework System architecture has been presented.

Database design has also been discussed. The database architecture gives the overview of all

the tables involved in this system. Various operations are discussed. This chapter provides

the overview of design and implementation of the Online Homework System. The following

chapter presents the languages used in the development of the project.

Page 36: THE ONLINE HOMEWORK SYSTEM

25

CHAPTER 5

TECHNOLOGY USED

Various technologies have been used while developing and implementing the Online

Homework System. A brief summary of all the languages and their features are discussed in

this chapter.

5.1 JAVA SERVLET

A servlet is a Java Component that can be plugged into a Java-enabled web server to

provide custom services such as new features, runtime changes to content, runtime changes

to presentation, and new standard protocols or new custom protocols. Because of their power

and flexibility, servlets can play a significant role in system architecture. They can perform

the application processing assigned to the middle tier, act as a proxy for a client, and even

augment the features of the middle tier by adding support for new protocols or other new

features. A middle tier acts as the application server in so-called three tier client/server

systems, positioning itself between a lightweight client such as a web browser and a data

source.

The various features of Java Servlets include:

Persistent: enables a java servlet to handle multiple requests. Once a servlet is loaded in the web server memory, it can handle multiple requests without any need of recompiling a java servlet

Fast: provides faster services to client requests as java servlets are loaded only once in the web server memory

Platform Independent: offers services that are independent of the hardware configuration and native platform on which the java servlets are executed. Java servlets provide all the features of the java programming language as they are coded in java.

Efficient: The capability of java servlet to handle multiple client requests makes it faster and more efficient than other server side technologies.

Portable: servlets can run on various platforms and servers without modifications.

Page 37: THE ONLINE HOMEWORK SYSTEM

26

Servlets run on the web server platform as part of the same process as the web server

itself. The web server is responsible for initializing, invoking, and destroying each servlet

instance. A web server communicates with a servlet through a simple interface,

javax.servlet.Servlet. This interface consists of three main methods: init(), service() and

destroy(), as well as two ancillary methods: getServletConfig() and getServletInfo().

A servlet lives and dies within the bounds of the server process. It can get information

about its environment at different times. Servlet initialization information is available during

servlet start-up; information about the hosting server is available at any time; and each

service request can contain specific contextual information. Server context information is

available at any time through the ServletContext object. A servlet can obtain this object by

calling the getServletContext () method on the ServletConfig object [21].

5.2 MYSQL

MySQL is used as a database backend for the Online Homework System. Java Servlet

performs all MySQL queries using JDBC connection. MySQL is a free database

management system. It is portable and uses a multi-layered server design with independent

modules. It also uses very fast B-tree disk tables with index compression [22]. SQL functions

are implemented using the highly optimized class library. Various data types are used in

MySQL, and using JDBC can help the developer perform all SQL queries from Java.

5.3 XHTML

XHTML, or extensible HyperText Markup Language, is an extended version of

HTML and is used for building web pages. It is being used in presentation layer. There are

various differences between XHTML and HTML. XHTML has three different DTDs: Strict,

Transitional, and Frameset. There are various tags from XHTML used to develop webpages.

All client side display is being developed in XHTML. Dynamic XHTML pages can also be

generated using Java Servlet [23].

5.4 CSS

CSS or Cascading Style Sheet is used to describe the presentation semantics of the

document written in markup language. It is used in presentation layer in coordination with

HTML to apply style to HTML pages. There are various ways to apply styles to a web page.

Page 38: THE ONLINE HOMEWORK SYSTEM

27

Having a separate CSS file makes it easy to style. CSS helps to improve user interface of the

application [23].

5.5 JAVASCRIPT

JavaScript is a prototype-based Object Oriented Scripting language. It is used for

validation in presentation layer. Using JavaScript, one can make sure that valid data have

been passed to the application layer for its processing.

5.6 VERSION CONTROL SYSTEM

Version Control System is a system that records changes to a file or set of files over

time so that one can recall specific version later. Using Version Control System helped to

keep every version of this thesis, allowed reverting files back to a previous state, reverting

the entire project back to a previous state, and comparing changes over time.

There are different Version Control Systems in the market. The Online Homework

System uses Git Version Control System. It’s a Linux-based Version Control System in

which nearly every operation is local. Everything in Git is check-summed before it is stored

and is then referred to by that checksum. Git has three main states that a file can reside in:

committed, modified, and staged. Committed means that the data are safely stored in the

local database. Modified means that the file has been changed but it has not been committed

to the database yet. Staged means that the file has been marked and it will go into the next

commit snapshot [24].

The Git directory is where Git stores the metadata and object database for the project.

Working directory is a single checkout of one version of the project. These files are pulled

out of the compressed database in the Git directory and placed on a disk for use or

modification. The staging area is a simple file, generally contained in the Git directory that

stores information about what will go into the next commit. Figure 5.1 shows these three

states.

Languages such as Java Servlet, MySQL, XHTML, CSS, and JavaScript have been

used while implementing the Online Homework System. All these languages have been

discussed briefly in this chapter. Version control system that has been used during the

development of this project has also been discussed.

Page 39: THE ONLINE HOMEWORK SYSTEM

28

Figure 5.1. Three states of version control system: Git.

Page 40: THE ONLINE HOMEWORK SYSTEM

29

CHAPTER 6

RESULTS

The Online Homework System is a web-based system. Providing screenshots of the

system, illustrating how the system works, can show the results of the system development.

This chapter gives the screenshots of all the pages of the Online Homework System. It

includes pages for faculty as well as students. Figures 6.1 to 6.23 show these screenshots.

Figure 6.1. Login screen.

Page 41: THE ONLINE HOMEWORK SYSTEM

30

Figure 6.2. Student home.

Figure 6.3. Submit homework.

Page 42: THE ONLINE HOMEWORK SYSTEM

31

Figure 6.4. Answer true/false question.

Figure 6.5. Answer long answer question.

Page 43: THE ONLINE HOMEWORK SYSTEM

32

Figure 6.6. Answer short answer question.

Figure 6.7. View answer.

Page 44: THE ONLINE HOMEWORK SYSTEM

33

Figure 6.8. Faculty home.

Figure 6.9. Add homework.

Page 45: THE ONLINE HOMEWORK SYSTEM

34

Figure 6.10. Add a short answer question.

Figure 6.11. Add a long answer question.

Page 46: THE ONLINE HOMEWORK SYSTEM

35

Figure 6.12. Add a multiple-choice question.

Figure 6.13. Add a true/false answer question.

Page 47: THE ONLINE HOMEWORK SYSTEM

36

Figure 6.14. Modify homework.

Figure 6.15. Modify selected homework.

Page 48: THE ONLINE HOMEWORK SYSTEM

37

Figure 6.16. Preview homework.

Figure 6.17. Grade homework.

Page 49: THE ONLINE HOMEWORK SYSTEM

38

Figure 6.18. Grade summary for all students.

Figure 6.19. Grade summary of all students for selected homework.

Page 50: THE ONLINE HOMEWORK SYSTEM

39

Figure 6.20. All student responses to selected question and their grades.

Figure 6.21. Grade summary of a specific student.

Page 51: THE ONLINE HOMEWORK SYSTEM

40

Figure 6.22. Grade summary of the selected homework and student.

Figure 6.23. Student answer and obtained grade to a selected question.

Page 52: THE ONLINE HOMEWORK SYSTEM

41

CHAPTER 7

CONCLUSION

This thesis and the Online Homework System were intended to help faculty of the

Computer Science Department at San Diego State University to have a web-based homework

system to use in their classes. The benefits and drawbacks of web-based homework systems,

when compared to paper-based systems, have been presented. Some of the features used in

developing the Online Homework System were discussed.

The system allows faculty to grade homework online and can significantly reduce

time spent grading. It also summarizes grades of all students and displays class average and

students scores at any time. Time spent on conducting in-class assignments can be reduced as

well.

Students can access their homework at any time and view their grades whenever they

want. A nice, clean, user interface allows students to easily submit their answers at any time

before the due date. Students will get immediate feedback immediately after a question has

been graded.

7.1 FUTURE ENHANCEMENT

The Online Homework System is considered to be a good learning tool. This system

can be extended further to achieve the goal of improving learning. Course Website and

course material, as well as videos and class lecture audios, may be integrated into the system.

Email notification could be a good enhancement. It is possible to set up different

notifications, and students can receive email as per notification.

The scope of question types can be extended further to add more question types to

this system. This will allow faculty to have more choices while setting up homework

assignments.

While there is concern with security in online homework system, further research can

be done to enhance security in Online Homework System. Other enhancements could include

limiting the number of attempts on a given question and applying time limitations

Page 53: THE ONLINE HOMEWORK SYSTEM

42

In addition, the User Interface can be improved further depending on feedback received from

students as well as faculty.

7.2 SUMMARY

This thesis has developed an Online Homework System, designed for both students

and faculty. Research was done to find out the effectiveness of the Online Homework System

and issues related to the currently-used homework system. Features such as Student

Performance, Immediate Feedback, and Grading System have been discussed and

implemented in this system. Future enhancements will make sure that this system will

eventually be used as a learning tool.

Page 54: THE ONLINE HOMEWORK SYSTEM

43

BIBLIOGRAPHY

[1] A. C. Bugbee. The equivalence of paper-and-pencil and computer-based testing. J. Res. Comp. Ed., 28(3): 282-299, 1996.

[2] R. Agarwal and A. E. Day. The impact of the Internet on economic education. J. Eco. Ed., 29:99-110, 1998.

[3] K. Sosin, B. Blecha, R. Agarwal, R. Bartlett, and J. Daniel. Efficiency in the use of technology in economic education: some preliminary results. Am. Eco. Rev., 94(2): 253-258, 2004.

[4] S. B. Ball, C. Eckel, and C. Rojas. Technology improves learning in large principles of economics classes: Using our WITS. Am. Eco. Rev., 96(2): 442-446, 2006.

[5] T. C. Johnston. Online homework assessments: Benefits and drawbacks to students. Academy. Ed. Leadership J., 8(3): 29-40, 2004.

[6] J. Denny and C. Yackel. Implementing and teaching with WebWorks at Mercer University. Proceedings of the 2005 ASCUE Conference, Myrtle Beach, South Carolina, 2005. ASCUE.

[7] M. Hall, J. Parker, B. Minaei-Gigdoli, G. Albertelli, G. Kortemeyer and E. Kashy. Gathering and timely use of feedback from individualized online work. Proceedings of the 2004 ASEE/IEEE Frontiers in Education Conference T1A-1, Savannah, GA, 2004. IEEE.

[8] I. Stuart. The impact of immediate feedback on student performance: An exploratory study in Singapore. Glob. Perspect. Account. Ed., 1:1-15, 2004.

[9] G. Kortemeyer, M. Hall, J. Parker, B. Minaei-Bidgoli, G. Albertilli, W. Bauer, and E. Kashy. Effective feedback to the instructor from online homework. J Asynchronous Learn. Network. 9(2):19-28, 2005.

[10] J. Dillard-Eggers, T. Wooten, B. Cholds, and J. Coker. Evidence on the effectiveness of on-line homework. Coll. Teaching Methods Styles J., 4(5):9-15, 2008.

[11] T. M. Lindquist and L. M. Olsen. How much help is too much help? An experimental investigation of the use of check figures and completed solutions in teaching intermediate accounting. J. Account. Ed., 25(3): 103, 2007.

[12] Thoennessen, M and Harrison, M. J. Computer-Assisted Assignments in a Large Physics Class. Comp. & Ed., 27:141, 1996.

[13] N. Demirci. Developing web-oriented homework system to assess students’ introductory physics course performance and compare to paper-based peer homework. TOJDE, 7(3):105-119, 2006.

[14] A. Titus, L. Martin, and R. Beichner. Web-based testing in physics education: Methods and opportunities. Computers in Physics, 12:117-123, 1998.

Page 55: THE ONLINE HOMEWORK SYSTEM

44

[15] William Schleter and Richard Bennett. 2006-2079: Using Web-Based Homework in an Introductory Engineering Physics Course. http://http://ef.engr.utk.edu/efd/publications/online-homework/online%20homework%20paper.pdf, accessed Mar. 2011.

[16] WeBWork. http://webwork.maa.org/index.html, accessed Mar. 2011.

[17] Indiana University, Department of Chemistry. CALM: Computer Assisted Learning Method, 2011. http://calm.indiana.edu, accessed Mar. 2011.

[18] Blackboard. Explore Our Platforms, 2011. http://www.blackboard.com/, accessed Mar. 2011.

[19] WebAssign. Online Homework and Grading, 2011. http://webassign.net/, accessed Mar. 2011.

[20] Joel Spolsky. User Interface Design for Programmers, 2001. http://www.joelonsoftware.com/uibook/fog0000000249.html, accessed Dec. 2009.

[21] Oracle Corporation. The Java Servlet API, 2010. http://java.sun.com/developer/onlineTraining/Servlets/Fundamentals/servlets.html, accessed Aug. 2010.

[22] Oracle Corporation. MySQL Reference Manual, 2010. http://dev.mysql.com/doc/refman/5.5/en/, accessed Aug. 2010.

[23] W3Schools. Online Web Tutorial, 2010. http://www.w3schools.com/, accessed Nov. 2010.

[24] Scott Chacon. Profession Version Control, 2010. http://progit.org/, accessed Aug. 2010.