1
Senior Project FALL 2013 Online Judge App Version 2 Student: Linnet Fernandez, Florida International University Mentor: Masoud Sadjadi, Florida International University Instructor: Masoud Sadjadi, Florida International University School of Computing & Information Sciences I am thankful for the free use of Sencha Touch, MYSQL, PHP. I am thankful for the help that I received from my group member Ady J. Audain. Acknowledgement Grading Senior Projects at the end of the semester can be very hectic and time consuming. Judges currently use score sheets to keep track of all the students evaluations. This method is prone to human errors and delays the announcement of the grades. Problem 1 Requirements Our system contains 12 main functional requirements. Each of the requirements make a direct use of the UI. FR1: Allow Admin to send Invitations. FR2: Allow Judges to register in the system. FR3: Allow Judges to identify conflict of interest with Students FR4: Randomly assign Students to Judges. FR5: Allow Admin to set Students distribution rule. FR6: Allow Admin to add/remove Questions. FR7: Allow Admin to set Students location. FR8: Allow Admin to set event map. FR9: Allow Judges to grade Students assigned to them. FR10: Allow Admin to accept/reject each Judge evaluation. FR11: Allow Students to view their grades. FR12: Keep record of all participants in previous semesters. As a solution to this problem, we implemented a Mobile Web Application. I developed the User Interface (UI), a user friendly environment where participating judges can easily grade the students, the system administrator can manage the students grades and publish them for the students to see. Solution Implementation To build the UI, I used the Sencha Touch framework, a user interface JavaScript Library. Sencha Touch makes extensive use of HTML5 and CSS3 to provide a robust styling layer. It allowed us to build a mobile web app that look and feels native on Android, iPhone and any HTML5 capable device. We decided to go with the three their system design architecture for this project. The three tiers are as followed: 1st) Client Tier, 2nd) Business Logic Tier, 3) Database Tier. Most of my work was done on the Client Tier also called the presentation layer. This is were the data is presented to the user and also allows for data entry. I was also involved in helping developing the business Logic tier, this level contains all of different queries and algorithm that accesses the data needed. System Design Currently, there’s no an automated way of grading the Senior Project for Computer Science. Judges used a rubric based on a set of criteria and standards. One student would be graded by multiple judges and each student would receive an average score from the scores received from each judge. This method still leaves room for human error, data inaccuracy and is very time consuming. Current System Object Design The Online Judge App Version 2 was successfully developed during the Fall 2013 semester. The front-end of the system is completely implemented with a working User Interface. With our System Design architecture it will be easy for future groups that will be working on this project to implement new functionalities and manipulate the UI using Sencha Touch. Today for the Showcase the Judges are using the system on several different type of hand held devices in order to grade the different projects. The Admin (the head professor of the class) is monitoring the grades and will make them available for students registered in the class. Students can log in with their FIU Account to see their location and eventually their grade. Summary Our verification process was divided into three different stages: Unit Testing: All UI specific functionalities were tested (i.e. button click, pages loading) System Integration Testing: Using the bottom up approach, test cases were made to read/write data into the Database. Acceptance Testing: The System as whole was tested by our mentor, to make sure it meets the requirements Verification Login Page Admin Settings Page Judge Grading Page Students Home Page Admin Students List Page Admin Students’ Judges Page Admin Review Grade Page Our Object Design is made of the following main objects: Admin, Invite, Judge, Question, Student and History. u!+E&eY5cA

u!+E&eY5cA School of Computing & Information …...To build the UI, I used the Sencha Touch framework, a user interface JavaScript Library. Sencha Touch makes extensive use of HTML5

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: u!+E&eY5cA School of Computing & Information …...To build the UI, I used the Sencha Touch framework, a user interface JavaScript Library. Sencha Touch makes extensive use of HTML5

Senior Project – FALL 2013 Online Judge App Version 2

Student: Linnet Fernandez, Florida International University

Mentor: Masoud Sadjadi, Florida International University

Instructor: Masoud Sadjadi, Florida International University

School of Computing &

Information Sciences

I am thankful for the free use of Sencha Touch, MYSQL, PHP. I am thankful for the help that I received from my group member Ady J. Audain.

Acknowledgement

Grading Senior Projects at the end of the semester can be

very hectic and time consuming. Judges currently use score

sheets to keep track of all the students evaluations. This

method is prone to human errors and delays the

announcement of the grades.

Problem 1

Requirements

Our system contains 12 main functional requirements. Each

of the requirements make a direct use of the UI.

FR1: Allow Admin to send Invitations.

FR2: Allow Judges to register in the system.

FR3: Allow Judges to identify conflict of interest with Students

FR4: Randomly assign Students to Judges.

FR5: Allow Admin to set Students distribution rule.

FR6: Allow Admin to add/remove Questions.

FR7: Allow Admin to set Students location.

FR8: Allow Admin to set event map.

FR9: Allow Judges to grade Students assigned to them.

FR10: Allow Admin to accept/reject each Judge evaluation.

FR11: Allow Students to view their grades.

FR12: Keep record of all participants in previous semesters.

As a solution to this problem, we implemented a Mobile Web

Application. I developed the User Interface (UI), a user

friendly environment where participating judges can easily

grade the students, the system administrator can manage the

students grades and publish them for the students to see.

Solution

Implementation

To build the UI, I used the Sencha Touch framework, a user

interface JavaScript Library.

Sencha Touch makes extensive use of HTML5 and CSS3 to

provide a robust styling layer. It allowed us to build a mobile

web app that look and feels native on Android, iPhone and

any HTML5 capable device.

We decided to go with the three their system design

architecture for this project. The three tiers are as followed:

1st) Client Tier, 2nd) Business Logic Tier, 3) Database Tier.

Most of my work was done on the Client Tier also called

the presentation layer. This is were the data is presented to

the user and also allows for data entry. I was also involved

in helping developing the business Logic tier, this level

contains all of different queries and algorithm that accesses

the data needed.

System Design

Currently, there’s no an automated way of grading the Senior

Project for Computer Science.

Judges used a rubric based on a set of criteria and

standards. One student would be graded by multiple judges

and each student would receive an average score from the

scores received from each judge. This method still leaves

room for human error, data inaccuracy and is very time

consuming.

Current System

Object Design

The Online Judge App Version 2 was successfully

developed during the Fall 2013 semester. The front-end of

the system is completely implemented with a working User

Interface. With our System Design architecture it will be

easy for future groups that will be working on this project to

implement new functionalities and manipulate the UI using

Sencha Touch. Today for the Showcase the Judges are

using the system on several different type of hand held

devices in order to grade the different projects. The Admin

(the head professor of the class) is monitoring the grades

and will make them available for students registered in the

class. Students can log in with their FIU Account to see

their location and eventually their grade.

Summary

Our verification process was divided into three different

stages:

Unit Testing: All UI specific functionalities were tested (i.e.

button click, pages loading)

System Integration Testing: Using the bottom up approach,

test cases were made to read/write data into the Database.

Acceptance Testing: The System as whole was tested by our

mentor, to make sure it meets the requirements

Verification

Login Page

Admin Settings Page

Judge Grading Page

Students Home Page

Admin Students List Page

Admin Students’ Judges Page

Admin Review Grade Page

Our Object Design is made of the following main objects:

Admin, Invite, Judge, Question, Student and History.

u!+E&eY5cA