Web Page Grading Information Updater
Advisor(s): Wayne Heym
Participants: Aaron Shbeeb
Start Date: Autumn 2002
Project Status: Completed (sort of) (Autumn 2003)
Index:
Abstract:
The goal of this project is to create a program that is general enough to be used for any course in any
department. The program will parse through a spreadsheet file of grades for a course and produce an html
file with the grade posting according to the alias's of the students.
Calendar:
- 10-15-02: Designed objects that may be needed or useful
- 10-16-02: Coded objects and specified input/output file formats
- 10-17-02 to 10-20-02: Tested and debugged objects
- 10-26-02: Coded main function
- 10-27-02 to 11-02-02: Coded utility functions for handling
input/output
- 11-03-02: Tested and debugged IO utility functions
- 11-07-02: Compiled, tested and debugged the first version of
the program
- 11-08-02 to 11-13-02: Continued debugging
- 11-15-02: First version of program in use, not very
general
- 11-20-02 to 12-08-02: Think/paper work on how to generalize the
program
- 03-30-03 to 05-02-03: Began work on version 2. This version
will have features such as per homework
and per student statistics, class
information output (as well as a richer
input file format), and automatic alias
generation for students who have not yet
supplied an alias (this may be random,
meaning that each time the program is run,
the same student may get a different
alias).
- 07-28-03 to 10-10-03: Version 2 is basically done. All of the above
features were implemented. The output
now also includes course name, year, and
quarter, instructor name with email
address, and grader names and email
addresses. The output is also a lot
more colorful and easier to read.
The control (info) file format was also enriched to
allow for greater flexibility in the
generated output.
Things to do:
To generalize this program to any class (not just the
RESOLVE course sequence) is to not
output table header info if the size of
a particular table is 0 (e.g. 670
doesn't have closed labs).
Consider the relative weights of the
different kinds of assignments for
more generality.
Project Development:
- Useful Objects: Making sure that the program is useful enough without being overly complicated was
somewhat of a task
- CIS_Course is fairly reusable now
- CIS_Grades is also nicely generalized
- Generalizing the Input Format: For this program to be truly general, a more complicated input format
must be specified
- Version 2 took a big step to do this
- One thing remaining to make this program more useful is specification of the weights of
the kinds of assignments. This will allow for projected final grade estimates.
-
If someone wants to brush this project up, you're more than welcome. I just don't have the time anymore.
Things to do: generalize as mentioned above, check for duplicates in alias generation (there's a
really slim chance of duplicates, but it could happen; and in the event someone wants to select
an alias of the form that I generate (which happened this quarter) then it would allow them to do so), I was
also hoping for a while that I could build into this a component that would email each student their
grades periodically (say every 10 days or something). I was in the middle of implementing this, but
the quarter started and we all know how that goes.
Findings and Contributions:
- Findings: In creating this project, I've learned several things about object design using containment
and various aspects of C++ that I haven't used before, such as template specializations
- Contributions: I can't think of any CIS grader who wouldn't want a program that does this
Links and References:
Return to Europa
Aaron Shbeeb <shbeeb@cis.ohio-state.edu>
Last modified: Tue Nov 25 00:39:52 EDT 2003