|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| Notable | Classes that implement this interface have notes associated with them. |
| Class Summary | |
|---|---|
| AdjustProjectGrade | This program subtracts some number of points off of each student's grade for a given project. |
| APIDocumentationDoclet | This doclet extracts the API documentation (Javadocs) from a student's project submission and produces a text summary of them. |
| Assignment | This class represents an assignment give to students in CS399J. |
| AssignmentPanel | This panel is used to display and edit Assignments. |
| ClassPanel | This panel displays and edits information about a class stored in a
GradeBook. |
| CloseStream | Can we still write to a stream after we close it? |
| DumpScores | This program sorts the scores for a given assignment and dumps them to standard out. |
| FixMidterm | This is a little program that combines the grades for the midterm quiz, the dream job, and the resume into one grade. |
| GenerateMailrc | This program generates a .mailrc file containing a mail alias for every student in a given grade book. |
| Grade | This class represent the grade a student got on an assignment. |
| GradeBook | This class represents a grade book that contains information about a CS399J class: the assignments, the students and their grades. |
| GradeBookGUI | This class is a main GUI for manipulate the grade book for CS399J. |
| GradeBookPanel | This panel displays the contents of a grade book. |
| GradePanel | This panel is used to display and edit a Student's
Grades. |
| ImportStudents | This program imports a bunch of students into a grade book. |
| InvokeStatic | This program uses Java reflection to invoke a static method of a given class. |
| NewAssignmentDialog | This dialog is used to create a new Assignment |
| NotableImpl | The abstract superclass of several notable classes. |
| NotesPanel | This panel displays and edits notes. |
| ParseTextFile | Quicky program that parses a text file containing student's grades. |
| PrintEmailSubjects | This program reads your INBOX and prints out the subjects of each of the emails. |
| Report | This class represents a report that is generated as a result of running a student's program. |
| Student | This class represents a student who is taking CS399J. |
| StudentPanel | This panel displays a Student |
| StudentsList | A StudentsList is a JList that lists all
of the students in a GradeBook sorted alphabetically
by their last name. |
| Submit | This class is used to submit assignments in CS399J. |
| SubmitTask | An Ant task for submitting projects. |
| SubmitTask.Comment | A little class that holds a comment. |
| SummaryReport | Class that creates a pretty report that summarizes a student's grades. |
| Survey | This program presents a survey that all students in CS399J should answer. |
| Tester | This class contains a number of helper methods for testing projects in CS399J. |
| TesterSecurityManager | This class allows us to call a main method multiple
times without the JVM exiting. |
| XmlDumper | This class dumps the contents of a GradeBook to an XML
file. |
| XmlGradeBookParser | This class creates a GradeBook from the contents of an
XML file. |
| Exception Summary | |
|---|---|
| TesterExitException | This exception is thrown when the
TesterSecurityManager attempts to exit the JVM. |
This package contains classes that are used to keep track of students, grade projects, and submit assignments in CS399J.
When we test student code, we run a security manager to ensure that
their code does not do anything malicious and to allow us to run
multiple invocation of a main without the JVM exiting.
We also employ a policy file that looks like this:
// Privileges for Dave's code and student's code
// Dave's code
grant
codeBase "file:/u/whitlock/jars/cs399J.jar",
codeBase "file:/u/whitlock/jars/grader.jar",
codeBase "file:/u/whitlock/jars/xerces.jar",
codeBase "file:/u/sjavata/classes-dave"
{
// Let my code do anything
permission java.security.AllPermission;
};
// Student's code
grant
codeBase "file:/u/sjavata/classes"
{
permission java.file.FilePermission
"${user.home}/proj2/-", "read, write";
permission java.net.SocketPermission
"localhost:12345", "accept,connect,listen";
};
A command line would look like:
$ java -Djava.security.policy=/u/sjavata/grader.policy \ -cp ~/classes-dave:/u/whitlock/jars/examples.jar \ edu.pdx.cs399J.grader.TestProject0b \ -studentClasses ~/classes whitlock
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||