Online Grading System 6

Preview:

Citation preview

ONLINE GRADING SYSTEM

A Project

Presented to the faculty of the Department of Computer Science

California State University, Sacramento

Submitted in partial satisfaction of the requirements for the degree of

MASTER OF SCIENCE

in

Computer Science

by

Ramyakanth Edupuganti

FALL 2013

ii

ONLINE GRADING SYSTEM

A Project

by

Ramyakanth Edupuganti Approved by: __________________________________, Committee Chair Dr. Jinsong Ouyang __________________________________, Second Reader Dr. Ahmed Salem __________________________________ Date

iii

Student: Ramyakanth Edupuganti

I certify that this student has met the requirements for format contained in the University

format manual, and that this project is suitable for shelving in the Library and credit is to

be awarded for the project.

_________________________, Graduate Coordinator ___________________

Dr. Nikrouz Faroughi Date Department of Computer Science

iv

Abstract

of

ONLINE GRADING SYSTEM

by

Ramyakanth Edupuganti

The increasing growth in the number of the computer science courses offered at the

universities and the enrollment of the students to the computer science courses, demands

a better way for students to submit assignments and an efficient way for the professors to

review and grade the programming assignments. The main objective of the “Online

Grading System” is to allow the students to submit the softcopy of the programming

assignments online and to provide an option for the professor to remotely access the

assignment files of students on the Linux server, compile and execute the programming

files, view the results of the programs, and grade an assignment of a student.

In this “Online Grading System” project, HTML and Javascript programming languages

are used for the front-end applications and JSP and Servlets are used for the server side

programming and ‘MySQL’ database for storing the database contents. “Online Grading

System” provides an efficient way for the professors to create courses, register students to

the “Online Grading System”, post assignment for the courses, and grade assignments

v

submitted by the students. For the students, the “Online Grading System” provides a way

to enroll for the courses, view the assignments posted by the corresponding professor,

submit assignments, and view grades. The Administrator of the “Online Grading

System”, can register the Professors to the online grading system and start a new

semester.

, Committee Chair Dr. Jinsong Ouyang _______________________ Date

vi

ACKNOWLEDGEMENTS

I take this opportunity to thank each and everyone who have helped me for the

successful completion of this project.

I sincerely thank Dr. Jinsong Ouyang, for giving me this opportunity to work

under his guidance, and supporting me throughout the course of this project. This

project has been very helpful in understanding several new concepts, beyond the

coursework. This has been a challenging and unique experience for me.

I would like to thank Professor Ahmed Salem for being my second reader for this

project, and for his support.

I also would like to thank my family and friends for their support.

vii

TABLE OF CONTENTS Page

Acknowledgements .................................................................................................................. vi

List of Figures .......................................................................................................................... ix

Chapter

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

2. REQUIREMENT ANALYSIS ........................................................................................... 3

2.1 Problem Statement ...................................................................................................... 3

2.2 Objective of the Project ............................................................................................... 3

2.3 Assumptions and Dependencies .................................................................................. 3

2.4 Non Functional Requirements ..................................................................................... 4

2.5 Functional Requirements ............................................................................................ 4

3. ARCHITECTURE AND DESIGN SPECIFICATIONS .................................................... 5

3.1 Architecture ................................................................................................................. 5

3.1.1 Presentation Layer .............................................................................................. 6

3.1.2 Application Layer ............................................................................................... 6

3.1.3 Database .............................................................................................................. 6

3.2 Application Design ..................................................................................................... 7

3.2.1 Administrator ...................................................................................................... 7

3.2.2 Professors ............................................................................................................ 7

3.2.3 Students ............................................................................................................... 8

4. IMPLEMENTATION ......................................................................................................... 9

4.1 Integrated Development Environment ........................................................................ 9

viii

4.2 Project Implementation ............................................................................................. 10

4.2.1 JSP Pages .......................................................................................................... 12

4.2.2 Java Servlets ..................................................................................................... 20

5. ONLINE GRADING SYSTEM USAGE DESCRIPTION .............................................. 26

5.1 Administrator ............................................................................................................ 26

5.1.1 Add Professor ................................................................................................... 26

5.1.2 Create New Semester ........................................................................................ 27

5.2 Professor .................................................................................................................... 27

5.2.1 Add Student ...................................................................................................... 28

5.2.2 Delete Student ................................................................................................... 28

5.2.3 Add Course ....................................................................................................... 29

5.2.4 Drop Course ...................................................................................................... 30

5.2.5 Display Course .................................................................................................. 30

5.2.6 Post Assignments ............................................................................................... 31

5.2.7 Grade ................................................................................................................. 32

5.2.8 Professor View Grades and Assignments ......................................................... 33

5.3 Students ..................................................................................................................... 33

5.3.1 Add Course ....................................................................................................... 34

5.3.2 Drop Course ...................................................................................................... 34

5.3.3 List Courses ...................................................................................................... 35

5.3.4 View Assignments ............................................................................................ 36

5.3.5 Submit Assignments ......................................................................................... 36

6. FUTURE PROSPECTIVE WORK .................................................................................. 38

Bibliography ........................................................................................................................... 39

ix

LIST OF FIGURES

Figures Page

Figure 3.1 Architecture………………………………… ........ .………………………………. 5

Figure 4.1 Netbeans IDE Screenshot .......................................... ……………………………. 10

Figure 5.1.1 Administrator Add Professor .......... ………….…………………………………. 26

Figure 5.1.2 Administrator Create New Semester .......................... …………………………. 27

Figure 5.2.1 Professor Add Student ................................................ …………………………. 28

Figure 5.2.2 Professor Delete Student ............................................ …………………………. 29

Figure 5.2.3 Professor Add Course ................................................. …………………………. 29

Figure 5.2.4 Professor Drop Course ............................................... …………………………. 30

Figure 5.2.5 Professor List Courses ................................................ …………………………. 31

Figure 5.2.6 Professor Post Assignment ......................................... …………………………. 31

Figure 5.2.7 (a) Course and Assignment Selection ......................... …………………………. 32

Figure 5.2.7 (b) Professor Compile and Grade Assignments.......... …………………………. 32

Figure 5.2.8 Professor View Grades of Student .............................. …………………………. 33

Figure 5.3.1 Student Add Course .................................................... …………………………. 34

Figure 5.3.2 Student Drop Course .................................................. …………………………. 35

Figure 5.3.3 Student List Courses ................................................... …………………………. 35

Figure 5.3.4 Student View Assignments ......................................... …………………………. 36

Figure 5.3.5 Student Submit Assignment ....................................... …………………………. 37

1

CHAPTER 1

INTRODUCTION

In this century, technology has drastically improved and computer science plays an

important role in the development of technology. Due to the increased career prospects in

the computer science field and interests among the hobbyist, there has been a tremendous

increase in the number of computer science courses offered at the universities and in the

enrollment of students in the computer science department.

Programming is one of the most important parts of learning computer science. Large

numbers of courses offered at the universities teach programming languages,

technologies, and other principles. Professors provide programming assignments to the

students to give them experience and knowledge about programming languages.

Programming assignments are currently submitted by the students by uploading the files

to a server. The professor can then login to the server, compile and execute the

programming files, and then grade the programming assignment. This process of

compiling, executing, and grading the programming assignments is currently done

manually which takes a considerable amount of time and effort by the professors.

An Online Grading System provides an efficient way of managing assignments by both

professors and students. Professors can create courses, post assignments, deadlines for

assignments, compile, execute, and grade the assignments submitted by the students.

Students can register for courses, view assignments, submit assignments, and check

grades.

2

The Online Grading System is developed using HTML and Javascript for front-end

applications, JSP and Servlets for the server side programming, and MySQL database for

storing database contents. The Online Grading System supports a Linux Operating

System.

3

CHAPTER 2 REQUIREMENT ANALYSIS

2.1 Problem Statement:

Programming assignments are currently uploaded to a server by the students. The

professor has to login to the server, manually compile and execute the programming files

submitted by the students, and then assign a grade to the student. The grade that is

assigned to the student is usually stored in an Excel worksheet. There is no advanced

consolidated system which can manage all of this features and maintain the records.

2.2 Objective of the Project:

The objective of the Online Grading System, is to provide a consolidated web system

which allows professors to a create course, post assignments, assign deadlines for

assignments, and grade the assignments submitted by the student. The Online Grading

System also allows the student to register for courses, view assignments submitted by the

professor, submit assignments, and check grades.

2.3 Assumptions and Dependencies:

It is assumed that the user has access to internet and a web browser.

4

2.4 Non Functional Requirements:

1. The Project should be developed using J2EE technologies.

2. The project should support Linux Operating System.

3. Database included should be MySQL database.

4. Assignment projects submitted by students can be C, C++ and Java files.

5. Assignment description files posted by Professors and/or Students should be

created using Rich Text Format Editor.

2.5 Functional Requirements:

1. Only Administrator can add professors and start new semester.

2. Professors can add and delete students to the online grading system.

3. Professors can add and delete courses to the online grading system.

4. Professors can post assignments, compile, execute, and grade the programming

assignments submitted by the students.

5. Students can enroll courses and drop courses.

6. Students can view assignments assigned by the professors.

7. Students can submit programming projects.

8. Students can check grades.

5

CHAPTER 3

ARCHITECTURE AND DESIGN SPECIFICATION

3.1 Architecture:

The Online Grading System is designed and developed using a 3-tier architecture. The 3-

tier architecture consists of a presentation layer, an application layer, and a database.

The presentation layer is the front-end of a web application that is used to provide a rich

user interface experience to the end user. The application layer is the middle layer of a

web application that is used to process all the requests sent by the user by using front-end

application. The database is used to store all the information required by the Online

Grading System.

Figure 3.1 Architecture

6

3.1.1 Presentation Layer:

The presentation layer is the part of the web application that is visible to the end user.

The presentation layer is used by the end user to interact with the web application and

send requests to process. In the Online Grading System, HTML and Javascript is used to

develop the presentation layer.

3.1.2 Application Layer:

The application layer is the middle layer of a web application. The application layer is

used to process the requests sent by end user using the presentation layer. The application

layer also works as a middle level layer to process transactions between the presentation

layer and the database. In the Online Grading System, JSP and Java servlets are used to

develop the application layer.

3.1.3 Database:

The database is the third and final layer of a web application. The database is used to

store and retrieve the user information when necessary. In the Online Grading System,

MySQL data is used to store and retrieve the user information.

3.2 Application Design:

The Online Grading System application consists of three types of users. They are

Administrator, Professors, and Students. Detailed user privileges are as follows:

7

3.2.1 Administrator:

1. Administrator has the highest privilege.

2. Administrator can add professors.

3. Administrator can add a semester at the start of a university academic semester.

3.2.2 Professors:

1. Professors can add students to the system.

2. Professors can delete a student from the system.

3. Professors can add a course to the system.

4. Professors can drop a course from the system.

5. Professors can post assignments and assign deadlines to the corresponding

assignment.

6. Professors can view the assignments submitted by the students.

7. Professors can compile and execute the programming assignments using the

Online Grading System.

8. Professors can view the results of the programming assignments.

9. Professors can assign grades for student assignments.

3.2.3 Students:

1. Students can register in the system.

2. Students can enroll for a course or drop a course.

3. Students can view the assignments posted by professors for enrolled courses.

8

4. Students can submit assignments before the deadlines.

5. Students can view the assignments.

9

CHAPTER 4

IMPLEMENTATION

This chapter provides an overview of implementation details of the Online Grading

System. The Online Grading System is developed using HTML, Javascript, Java Server

Pages, Java Servlets, and MySQL database.

4.1 Integrated Development Environment:

The Online Grading System is developed using Netbeans Integrated Development

Environment. Netbeans can be downloaded from https://netbeans.org/downloads/.

Netbeans contains an internal Apache Tomcat server, which can be used to host the web

application from the local machine as a localhost. New project can be created in Netbeans

by going into File -> New Project. Screenshot of the Netbeans IDE is show as below:

10

Figure 4.1 Netbeans IDE Screenshot

4.2 Project Implementation:

After the new project is created, the default folders are created in the project. Several

dependency files need to be imported to the project. Dependency jar files can be added by

doing a right-click on the project and selecting ‘Properties’. The ‘Properties’ dialog box

will open and in the ‘Categories’ box, click on ‘Libraries’. Then click on ‘Add Library’

and import the selected library. The dependencies are added to the ‘Web.xml’ file, as

follows:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

11

<servlet>

<servlet-name>TreeServlet</servlet-name>

<servlet-class>gboss.TreeServlet</servlet-class>

</servlet>

<servlet>

<servlet-name>NewDir</servlet-name>

<servlet-class>gboss.NewDir</servlet-class>

</servlet>

<servlet>

<servlet-name>DelDir</servlet-name>

<servlet-class>gboss.DelDir</servlet-class>

</servlet>

<servlet>

<servlet-name>EditDir</servlet-name>

<servlet-class>gboss.EditDir</servlet-class>

</servlet>

<servlet>

<servlet-name>MyUploadServlet</servlet-name>

<servlet-class>MyUploadServlet</servlet-class>

</servlet>

12

<servlet-mapping>

<servlet-name>MyUploadServlet</servlet-name>

<url-pattern>/File_Upload/servlets/upload</url-pattern>

</servlet-mapping>

<session-config>

<session-timeout>

30

</session-timeout>

</session-config>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

4.2.1 JSP Pages:

Java Server Pages are used extensively in the implementation of the Online Grading

System. HTML and Javascript files are used to provide the user interface to the end user

and JSP files are used to carry out the requests sent from the front-end application, code

snippet of the HTML, Javascript, and JSP code is as follows:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

13

<%@ page import="java.sql.*" %>

<%@ page import="java.io.*" %>

<%@ page import="java.lang.*" %>

<html>

<title>

Online Grading System

</title>

<h1 align ="center">

<img src="sac_state_banner.png"/><br>

<img src="pageContextBannerTagline.png"/><br>

</h1>

<h3 align="Center">

<font color="white"> Dr. Jinsong Ouyang</font>

</h3>

<h3>

<marquee><font color="white"> Welcome To Online Grading System</font></marquee>

</h3>

<h5>

<table align="center" bgcolor="#052012">

<tr>

<td><a href="http://www.csus.edu"><font color="white">SAC STATE HOME</font></a></td> <td></td><td>&nbsp;&nbsp;</td>

<td><a href="http://webmail.saclink.csus.edu"><font color="white">E-MAIL</font></a></td> <td>&nbsp;&nbsp;</td>

14

<td><a href="https://ecs.csus.edu"><font color="white">ECS</font></a></td> <td></td><td>&nbsp;&nbsp;</td>

<td><a href="http://ecs.csus.edu/~ouyangj/"><font color="white">PROFESSOR</font></a></td> <td></td><td>&nbsp;&nbsp;</td>

<td><a href="/Online_Grading_System_test/Register/signup.jsp"><font color="white">REGISTER</font></a></td> <td></td><td>&nbsp;&nbsp;</td>

</table>

</h5>

<body bgcolor="#052012"><br><br>

<form name ="login" action ="index.jsp" method="get">

<center>

<table border="0">

<tbody>

<tr>

<td></td><br><br>

<td>

<select name="category">

<option>Professor</option>

<option>Student</option>

<option>Administrator</option>

</select>

</td>

15

</tr>

<tr>

<td><font color="white">UserName:</font></td>

<td><input type ="text" name ="user"/></td>

</tr>

<tr>

<td><font color="white">PassWord:</font></td>

<td><input type ="password" name ="pwd"/></td>

</tr>

<tr>

<td></td>

<td><input type ="SUBMIT" name="login" value="login">

<input type="button" value="Cancel" onClick="history.go()"> <br></td>

</tr>

</tbody>

</table>

</center>

</form>

<%

16

String uname = request.getParameter("user");

String pwd = request.getParameter("pwd");

String loginclicked = request.getParameter("login");

String cat = request.getParameter("category");

%>

<%

try

{

/* Create string of connection url within specified format with machine name,

port number and database name. Here machine name id localhost and

database name is usermaster. */

String connectionURL = "jdbc:mysql://localhost:3306/grading_test";

// declare a connection by using Connection interface

Connection connection = null;

// Load JBBC driver "com.mysql.jdbc.Driver"

Class.forName("com.mysql.jdbc.Driver").newInstance();

/* Create a connection by using getConnection() method that takes parameters of

string type connection url, user name and password to connect to database. */

connection = DriverManager.getConnection(connectionURL, "root", "ramyakanth");

//user id, and password

17

String query= "select * from student";

String query_prof = "select * from professor";

Statement stmt = connection.createStatement();

ResultSet rs = stmt.executeQuery(query);

Statement stmt_1 = connection.createStatement();

ResultSet rs_1 = stmt_1.executeQuery(query_prof);

if(cat.equals("Student"))

{

while(rs.next())

{

String uid = rs.getString(5);

String pass = rs.getString(4);

String thename = rs.getString(2);

String lname = rs.getString(3);

if(loginclicked!=null)

{

if(uname.equals(uid) && pass.equals(pwd))

{

//cookies.

Cookie p_cookie = new Cookie ("stud_name",thename);

Cookie p_cookie_id = new Cookie ("stud_id",uid);

18

p_cookie.setMaxAge(365 * 24 * 60 * 60);

response.addCookie(p_cookie);

response.addCookie(p_cookie_id);

response.sendRedirect("student/Student_Layout.jsp");

session.setAttribute("name", thename);

session.setAttribute("lastname", lname);

session.setAttribute("sid", uid);

}

}//loginchecked if condition

} //for while loop

%>

<script type="text/javascript">

alert("Incorrect Username/Password");

</script>

<%

}

else if(cat.equals("Professor"))

{

while(rs_1.next())

{

String uid = rs_1.getString(1);

String prf_name= rs_1.getString(2);

String pass = rs_1.getString(3);

//session.setAttribute("pid", uid);

19

if(loginclicked!=null)

{

if(uname.equals(uid) && pass.equals(pwd))

{

session.setAttribute("pname", prf_name);

session.setAttribute("pid", uid);

//cookies.

Cookie p_cookie = new Cookie ("prof_name",prf_name);

Cookie p_cookie_id = new Cookie ("prof_id",uid);

p_cookie.setMaxAge(365 * 24 * 60 * 60);

response.addCookie(p_cookie);

response.addCookie(p_cookie_id);

response.sendRedirect("professor/prof_layout.jsp");

}

}

} //for while loop

%>

<script type="text/javascript">

alert("Incorrect Username/Password");

</script>

<%

20

}//else condition closed

else if(cat.equals("Administrator"))

{

response.sendRedirect("http://www.google.com");

}

} // for try condition

catch(Exception e){}

%>

</body>

</html>

4.2.2 Java Servlets:

Java Servlets is a server side programming concept where the requests are send to the

core java program for processing. Code snippet for the Java servlets as follows:

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import java.util.Iterator;

21

import java.util.List;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class MyUploadServlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

String uploadResult=null;

String output = null;

try {

if(ServletFileUpload.isMultipartContent(request)){ //a kind of multipart request, go ahead.

DiskFileItemFactory itemFactory=new DiskFileItemFactory();

String complete_path_to_upload = (String)request.getSession().getAttribute("complete_path");

String sid = (String)request.getSession().getAttribute("sid");

File repositoryDir=new File(complete_path_to_upload+File.separator+sid);

if(!repositoryDir.exists()) repositoryDir.mkdir();

22

itemFactory.setRepository(repositoryDir);

ServletFileUpload servletFileUpload = new ServletFileUpload(itemFactory);

List fileItemsList = servletFileUpload.parseRequest(request);

if(fileItemsList!=null){

Iterator iterator=fileItemsList.iterator();

FileItem anUploadedFile=null;

File tempFile=null;

InputStream inStream=null;

FileOutputStream outStream=null;

byte fileContent[]=null;

uploadResult="Files <ul>";

while(iterator.hasNext()){

anUploadedFile=(FileItem)iterator.next();

if(!anUploadedFile.isFormField()){

/**

* file is not a name-value pair,

* contains valid file, so process the file

*/

inStream=anUploadedFile.getInputStream();

if(inStream.available()<3) continue;

fileContent=new byte[inStream.available()];

BufferedInputStream buffered=new BufferedInputStream(inStream);

buffered.read(fileContent); //read uploaded file's content.

buffered.close();

23

tempFile=new File(itemFactory.getRepository(),anUploadedFile.getName());

if(tempFile.createNewFile()){ // create a new file in the repository, !important.,,

outStream=new FileOutputStream(tempFile);

outStream.write(fileContent); //write to the target file

outStream.close();

uploadResult+="<li>"+anUploadedFile.getName()+"</li>";

output = "<h3>Files Uploaded successfully</h3>";

}

}

}

uploadResult+="</ul> are successfully uploaded.";

}

}else{ /** not a multipart request, do nothing*/ }

}catch(FileUploadException ex){

uploadResult="Error in uploading files...<h4>"+ex.getMessage()+"</h4>";

} finally {

request.setAttribute("uploadRes", "Submission Successful");

RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("/File_Upload/Assignment_submission.jsp");//original

dispatcher.forward(request, response);

}

}

/**

* Handles the HTTP <code>GET</code> method.

24

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Handles the HTTP <code>POST</code> method.

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Returns a short description of the servlet.

* @return a String containing servlet description

25

*/

@Override

public String getServletInfo() {

return "Short description";

}// </editor-fold>

}

26

CHAPTER 5

ONLINE GRADING SYSTEM USAGE DESCRIPTION

This chapter explains details about the characteristics of each user in the application and

how the application is used by these users.

5.1. Administrator:

The administrator can perform the following actions:

1. Add professor to the Online Grading System.

2. Create new Semester in the Online Grading System at the start of the academic

semester.

5.1.1 Add Professor:

To add a professor to the online grading system the administrator should do the

following:

1. Login to Online Grading System using administrator username and password.

2. Click on ‘Add Professor’ and enter professor information.

Figure 5.1.1 Administrator Add Professor

27

5.1.2 Create New Semester:

Administrator can create new Semester at the start of the academic semester by:

1. Login to Online Grading System using administrator username and password.

2. Click on “Create New Semester” and enter ‘year’ and ‘semester’.

Figure 5.1.2 Administrator Create New Semester

5.2. Professor:

Professor can do the following tasks in the Online Grading System:

1. Add Student.

2. Delete Student.

3. Add Course.

4. Drop Course.

5. Post Assignments.

6. Grade Assignments.

7. View Grades.

28

5.2.1 Add Student:

Professor can add a student to the online grading system. To add a student to the

Online Grading System professor should do the following:

1. Login to Online Grading System.

2. Click on ‘ADD STUDENT’.

3. Enter the student information such as firstname, lastname, password, student-id,

and email information.

Figure 5.2.1 Professor Add Student

5.2.2 Delete Student:

Professor can delete a student from the Online Grading System student records. To

delete a student from the records professor should do the following:

1. Login to the Online Grading System.

2. Click ‘DELETE STUDENT’.

3. Enter information for the student to be deleted from the records such as firstname,

lastname and student-id.

29

Figure 5.2.2 Professor Delete Student

5.2.3 Add Course:

Professor can add a course to the Online Grading System. To add a course professor

should do the following:

1. Login to the Online Grading System.

2. Click “ADD COURSE” on the left panel.

3. Enter course information such as coursename, course id (e.g., 239), and Asgn

Table Name (e.g., CSC239_FALL13, indication the semester and year).

Figure 5.2.3 Professor Add Course

30

5.2.4 Drop Course:

Professor can drop a course from the Online Grading System. To drop a course professor

should do the following:

1. Login to the Online Grading System.

2. Click “DROP COURSE” on the left hand side panel.

3. Enter course information such as “CourseName” and “Asgn Table Name”.

Figure 5.2.4 Professor Drop Course

5.2.5 Display Courses:

Professor should be able to view the list of courses offered by him/her. To view the list

of courses offered by a professor he/she should do the following:

1. Login to the Online Grading System.

2. Click on “LIST COURSES” on the left hand side panel of the screen.

31

Figure 5.2.5 Professor List Courses

5.2.6 Post Assignments:

Professor should be able to post an assignment to the Online Grading System. To post an

assignment, the professor should do the following:

1. Login to the Online Grading System.

2. Click on “POST ASSIGNMENT” on the left hand side panel of the screen.

3. Enter information such as uploading the text file that explains the assignment

description, assignment name, due date, and cut-off date.

Figure 5.2.6 Professor Post Assignment

32

5.2.7 Grade:

Professors can grade the programming assignments submitted by the students. To

grade the assignments professors should do the following:

1. Login to the Online Grading System.

2. Click on “GRADE” on the left hand side panel of the screen.

3. Select course, assignment number, student number, then execute the

programs, and grade the assignment.

Figure 5.2.7(a) Course and Assignment Selection

Figure 5.2.7 (b) Professor Compile and Grade Assignments

33

5.2.8 Professor View Grades and Assignments:

Professor can view the list of students submitted an assignment and their

corresponding grades. To view the grades professor should do the following:

1. Login to the Online Grading System.

2. Click on “SHOW GRADES” on the left side panel of the screen.

3. The assignments, students submitted the assignments, and their grades will be

displayed on the right side frame of the screen

Figure 5.2.8 Professor View Grades of Student

5.3 Students:

Students can do the following tasks in the Online Grading System:

1. Add course.

2. Drop Course.

3. List Courses.

4. Submit Assignment.

34

5. View Assignment Grades.

5.3.1 Add Course:

Students can enroll for a course. To enroll for a course students can do the following:

1. Login to the Online Grading System.

2. Click on “ADD COURSE” on the left hand side of the panel.

3. Select the course to be enrolled and submit.

Figure 5.3.1 Student Add Course

5.3.2 Drop Course:

Students can drop a course in which they are registered. To drop a course, the student can

do the following:

1. Login to the Online Grading System.

2. Click on “DROP COURSE” on the left side panel of the screen.

3. Select the course that needs to be dropped and click “Drop Course”.

35

Figure 5.3.2 Student Drop Course 5.3.3 List Courses:

Students can view the list of courses in which they are enrolled. To view the list of

courses, student can do the following:

1. Login to Online Grading System.

2. Click on “LIST COURSES”.

3. Courses students are enrolled in can be seen on the right hand side of the screen.

Figure 5.3.3 Student List Courses

36

5.3.4 View Assignments:

Students can view the assignment list of the courses in which they are enrolled.

To view the list of the assignments, student can do the following:

1. Login to Online Grading System.

2. Click on “VIEW ASSIGNMENTS” on the left side panel of the screen.

3. The assignments, grades, and submission status can be seen at the right hand

panel of the screen.

Figure 5.3.4 Student View Assignments

5.3.5 Submit Assignments:

Students can submit the assignment to the Online Grading System. To submit the

assignment online grading system, student can do the following:

1. Login to the Online Grading System.

2. Click on “SUBMIT ASSIGNMENT” on the left side panel of the screen.

3. Select course that a student wants to upload the assignment for.

4. Upload files to the server.

37

Figure 5.3.5 Student Submit Assignment

38

CHAPTER 6

FUTURE PROSPECTIVE WORK

The Online Grading System contains the necessary features to support the assignment

management system. For the future course of the project,

1. A tree structure can be implemented to better manage the files across different

semesters and years. This can also be used to add or delete a folder and

upload/download files so that other files besides assignments can be uploaded and

saved for a corresponding semester by the professors.

2. Currently the Online Grading System supports C, C++ and Java programming

assignments. In the future more programming languages can be supported.

3. Further enhancements to the Online Grading System such as approval method can

be implemented.

39

BIBLIOGRAPHY

1. Netbeans IDE enrivonment download from,

https://netbeans.org/downloads/

2. MySQL database was downloaded from,

http://www.mysql.com/downloads/

3. HTML and Javascript programming languages and syntax was referenced

at,

http://www.w3schools.com/html/

4. MySQL database syntax was referenced at,

http://www.w3schools.com/sql/sql_autoincrement.asp

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

5. JSP and Java servlets programming languages syntax was referenced at,

http://www.tutorialspoint.com/jsp/index.htm

http://www.roseindia.net/jsp/jsp.htm

http://www.javatpoint.com/jsp-tutorial

Recommended