Student Assignment Upload Client

advertisement
Course Companion
System Requirements
Any system with Sun Microsystem’s 1.4 or higher JVM should be able to run the client without any
trouble. The system also needs an open connection to the internet.
System Overview
The Course Companion is part of a larger system used to upload and grade student assignments.
The Student Assignment Client was written to provide three main functions:
1. Register students
2. Allow students to upload their assignments
3. Let the students check their grades
The application was written as the student side to the Instructor’s Grading Client, which is used to view, run,
and grade assignments. The Course Companion was designed to be a single, executable Java JAR file.
This allows the application to be downloaded and executed without any installation on a system with Sun’s
JVM installed correctly.
Installation
As previously stated, the Course Companion was designed to be run without installation. This was a
main goal so the client could be downloaded and ran from any location with a connection to the Internet.
The only installation-like action performed by the application is the extraction of Sun’s mail.jar and
activation.jar files to the machines on which they don’t already exist. This happens the first time the
application is run on a machine. The two files are extracted from the applications JAR file, and are placed in
the application’s working directory. The first time the client is run on a system, the user will be notified that
the client has been updated. This message just lets the user know that the two jar files (mail.jar and
activation.jar) have been extracted and placed into the working directory. This also means that if the user
would like to use the “Forgot My Password” function, they will have to close the application and restart it. If
this function is not needed at this point, there is no need to restart the application.
Running the Application
The Course Companion has the ability to, among other things, register students, handle the upload
of assignments, and allow the student to check their assignment grades. The application is bundled as an
executable JAR file. This means that by double-clicking the JAR file, the application should start in most
operating systems.
Registering
The first time a student runs the application, they will need to register in order to log on. When
the application starts, there will be found a button near the bottom of the screen labeled, “Register”.
When the student clicks on this button, a registration screen will appear.
This screen collects the following information:
First Name: The student’s first name.
Last Name: The student’s last name.
Email Address: The student’s email address.
Password: The password for the student’s account.
Courses: A list of available courses to register for.
When the student clicks on the “Submit” button, the application runs some error checking on the input
information, giving the student feedback on any errors in their information entered. Upon successful
registration, the student will be assigned a user name in the format of [first letter in first name][last
name]. An example would be Bob Smith receiving a user name of ‘BSmith’. If the application finds
that another user, or more likely this user, has registered with this name, it will deliver a message to
the user stating that the user has already registered. This could happen for example, if the user ‘Bob
Smith’ tried to register in the system after ‘Barb Smith’ did. Since both users would be given the user
name of, ‘BSmith’, Bob’s registration would fail. The action to be taken in the situation of two
students with the same name is to have the student manually append the ‘_1’ to their last name. So,
if Bob wanted to register in the system he should enter ‘Bob’ into the ‘First Name’ field, and ‘Smith_1’
in the ‘Last Name’ filed.
After a successful registration, the application will notify the student that the attempt was successful
registration and of the user’s user name.
With this information, the student will be able to log in and use the application without restarting it.
Assignment Upload
At the heart of the application is its ability to allow students to upload their assignments for
grading. After the student registers, and log in, they will have the ability to upload files against any of
the available assignments for any class they have registered for. Along the top of the user interface,
two drop-down boxes can be found.
The first drop-down box is for the class. This drop-down box will be filled with all the classes the
student has registered for. On the selection of any class from this drop-down box, the second box,
the assignment box, will be populated with the assignments from that class. Once the class and
assignment is selected, the user can add assignments to the list of files to upload.
To do this, the student should begin with the ‘main’ file. The main file is defined as the HTML file that
holds the main java class file for an applet, the java class file that defines the application’s main()
method, and the .exe file for any C# application. Main files would be defined as the following:
Java Applet: The HTML file that contains the main applet class or JAR file.
Java Application: The class file that defines the main() function.
C# Application: The .exe file for the application.
By clicking on the ‘Add’ button next to the ‘Main File’ list box, the student is presented with an
interface which will allow them to navigate through the file system of their PC, and choose the main
file.
The view is automatically filtered using a list of file extensions listed in a text file on the server. If the
user tries to add a second ‘main’ file, the second file will replace the first. Now the user can choose
any other file that is needed to run their project and all source files for it. Secondary files would be
defined as the following:
Java Applet: The class or JAR file used in the HTML page, any other class or JAR files needed to
run the applet, all media files used in the applet, and all of the source files for the applet.
Java Application: Any other classes or JAR files need to run the application, all media files used
in the application, and all source files for the application.
C# Application: All media files needed for the application, and all the source files for the
application.
The process is the same as for the ‘main’ file selection with the important difference of being able to
select multiple files. To add to the existing list, the student can click on the ‘Add’ button again and
select more files, these file will be appended to the existing list of files. Any files added to the list can
be removed selectively by choosing one or multiple files, and clicking on the ‘Remove’ button to the
left of the list box. The files can also be removed in mass by clicking on the ‘Clear’ button on the left.
After the files for the assignment are added to the lists, the user can upload the assignment by
clicking on the ‘submit’ button at the bottom of the application. When the button is clicked, a small
popup window will appear that will show the student the progress of the upload. When the upload is
complete, the student will be notified, and the assignment will be available for grading.
Any future uploads for the assignment will update the date submitted field in the database. Also,
if a file is re-uploaded, the file most recently uploaded will replace the existing file in the database,
and so will be the file available for grading.
Checking Uploaded Files
The student may also see what file they have uploaded by selecting Students -> Check
Uploaded Files from the menu.
This brings up a window that displays the files which the student has uploaded in a tree structure.
From this window, the student can view all of the files that they have uploaded to the system for
grading by navigating the tree. The first entry for each uploaded assignment, is that assignment’s
time stamp. This date will reflect the date of the most recently uploaded file for this assignment. At
the bottom of the window, two drop-down boxes can be found. The first holds a list of all the
assignments the student has uploaded to the system. By choosing an uploaded assignment from this
drop-down, the student can view and run the uploaded assignment just as the instructor would.
By clicking on the “Run Program” button, the student’s assignment is downloaded from the server,
and executed locally on their PC. Students should take advantage of this option since it is the
student’s responsibility to ensure that their assignments run, not the instructor’s. The second
drop down behaves like the first, but the assignments listed there are assignments that the instructor
has added to the “Best Assignments” list.
Checking Grades
Students are able to check their grades at any time through the application. To check their
grades, the student would select the menu option Student -> Get Your Grades.
After selecting this, the student will be displayed their grades for any graded assignment for all the
classes they are registered for.
The student will be able to view a table displaying the assignment names, due date, date submitted,
comments, possible points, earned points, total possible points for each class, and total earned points
for each class. If an assignment has been uploaded, the date of the last file uploaded will be
recorded in the ‘Date Submitted’ column. If no files have been uploaded for an assignment, the
phrase ‘Not Submitted’ will appear. If the assignment has been graded, the points given for the
assignment will appear in the ‘Earned Points’ column; if it hasn’t been graded, the phrase ‘NG’ will be
displayed.
Getting Help
The students can get general help by selecting the Help -> Contents from the menubar.
After making the selection, a window will appear showing the help topics for the application.
Students are encouraged to offer suggestions for additions to, and modifications of information found
here.
FAQs
Below are listed some frequently asked questions regarding the Course Companion.
Why when I start the client for the first time, do I get a message about my client being
updated?
This is normal. The first time the program is executed, it extracts two JAR files used to support email.
After the first time, this message should not show up again.
What is my user name and password?
The first time a student uses the client, they must register in the system. It’s at this point that the
student receives a username and password. See above for directions.
Why doesn’t my password work?
While the user name is not case-sensitive, the password is case-sensitive.
OK, I forgot my password, now what?
At the log in screen, you’ll find a button labeled “Forgot my password”. Click on this button, enter in
the email address you used to register in the system with, and you will receive an email with your log
in information.
I tried to email myself my log in information, and I got an error message!
Since there could be many reasons for this, you best bet is to read the message and try to solve the
problem it’s complaining of. Usually, the problem lies in a firewall configuration in the system.
Why am I missing a class in my Class drop-down box?
Check to be sure you registered for it. Click on Student -> Update Student Information and make
sure the class you are missing is highlighted.
When I add a file to the ‘Main File’ box, the one I had there disappears!
This is supposed to happen; an assignment can only have one main file.
I uploaded an assignment, and I see the files listed for it in the client. But, when I click on the
‘Run Program’ button, nothing happens or the application doesn’t run like it is supposed to!
Make sure you have uploaded ALL the files needed for the project. Also, if you are using any media
files, you need to have these files in the application’s root directory. This means that you should not
place media files in a “Media” folder. If you do, they will not be found.
I uploaded an assignment, and I found that there was a problem with it. How do I replace the
file that I need to change?
If you upload a file for an assignment, and there is already a file with the same name, the system will
replace the older file with the new one.
How does the assignment’s uploaded date get created?
An assignment’s uploaded date is updated each time a file is uploaded to the system. So, if you
make a change to a file, and upload the changed file, the assignment’s uploaded date will change to
reflect the date the last file was uploaded.
What language is the system written in?
The system was written using Java. It hooks into a MySQL database using JDBC.
Download