Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
iii
Copyright © 2011
by
Nikhil Milind Kapre
All Rights Reserved
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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
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.
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
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.
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.
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.
19
Figure 4.1. Relationship among database tables.
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.
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.
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.
23
Figure 4.4. Modify homework/question.
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.
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.
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.
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.
28
Figure 5.1. Three states of version control system: Git.
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.
30
Figure 6.2. Student home.
Figure 6.3. Submit homework.
31
Figure 6.4. Answer true/false question.
Figure 6.5. Answer long answer question.
32
Figure 6.6. Answer short answer question.
Figure 6.7. View answer.
33
Figure 6.8. Faculty home.
Figure 6.9. Add homework.
34
Figure 6.10. Add a short answer question.
Figure 6.11. Add a long answer question.
35
Figure 6.12. Add a multiple-choice question.
Figure 6.13. Add a true/false answer question.
36
Figure 6.14. Modify homework.
Figure 6.15. Modify selected homework.
37
Figure 6.16. Preview homework.
Figure 6.17. Grade homework.
38
Figure 6.18. Grade summary for all students.
Figure 6.19. Grade summary of all students for selected homework.
39
Figure 6.20. All student responses to selected question and their grades.
Figure 6.21. Grade summary of a specific student.
40
Figure 6.22. Grade summary of the selected homework and student.
Figure 6.23. Student answer and obtained grade to a selected question.
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
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.
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.
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.