48
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

Online Grading System 6

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Online Grading System 6

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

Page 2: Online Grading System 6

ii

ONLINE GRADING SYSTEM

A Project

by

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

Page 3: Online Grading System 6

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

Page 4: Online Grading System 6

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

Page 5: Online Grading System 6

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

Page 6: Online Grading System 6

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.

Page 7: Online Grading System 6

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

Page 8: Online Grading System 6

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

Page 9: Online Grading System 6

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

Page 10: Online Grading System 6

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.

Page 11: Online Grading System 6

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.

Page 12: Online Grading System 6

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.

Page 13: Online Grading System 6

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.

Page 14: Online Grading System 6

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

Page 15: Online Grading System 6

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:

Page 16: Online Grading System 6

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.

Page 17: Online Grading System 6

8

4. Students can submit assignments before the deadlines.

5. Students can view the assignments.

Page 18: Online Grading System 6

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:

Page 19: Online Grading System 6

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">

Page 20: Online Grading System 6

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>

Page 21: Online Grading System 6

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">

Page 22: Online Grading System 6

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>

Page 23: Online Grading System 6

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>

Page 24: Online Grading System 6

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>

<%

Page 25: Online Grading System 6

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

Page 26: Online Grading System 6

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);

Page 27: Online Grading System 6

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);

Page 28: Online Grading System 6

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>

<%

Page 29: Online Grading System 6

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;

Page 30: Online Grading System 6

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();

Page 31: Online Grading System 6

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();

Page 32: Online Grading System 6

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.

Page 33: Online Grading System 6

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

Page 34: Online Grading System 6

25

*/

@Override

public String getServletInfo() {

return "Short description";

}// </editor-fold>

}

Page 35: Online Grading System 6

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

Page 36: Online Grading System 6

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.

Page 37: Online Grading System 6

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.

Page 38: Online Grading System 6

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

Page 39: Online Grading System 6

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.

Page 40: Online Grading System 6

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

Page 41: Online Grading System 6

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

Page 42: Online Grading System 6

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.

Page 43: Online Grading System 6

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”.

Page 44: Online Grading System 6

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

Page 45: Online Grading System 6

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.

Page 46: Online Grading System 6

37

Figure 5.3.5 Student Submit Assignment

Page 47: Online Grading System 6

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.

Page 48: Online Grading System 6

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