[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gradebook specs



Hello everyone,

Jeff Knox posted a request for more information about the gradebook
specs that a couple of us posted a while back. I've reposted some of
that correspondance below. I also got an email from the Misty City
president. I've exchanged messages with him at least once before. He is
very open to new ideas, and I hope he gives serious consideration to a
Linux port. I plugged EDUML and invited him to post here himself, but I
haven't heard back yet. I suspect I'll hear from him on Mon. Anyway,
here are the gradebook specs such as they are. I'm working on putting
them into a more organized format and putting them on a web page so
potential developers can comb them for ideas.

Eric Sandeen started us of with the following:
--snip--
1.  Features
 1.1  Grading Methods - I've seen many different grading methods used.
I don't want
  to debate which one is best, but I believe that at least these are in
  common use.  A useful gradebook should allow grades to be calculated
in
  the following ways:

  1.1.1 Total Points
   Each assignment is worth X points, and a student scores x points
   on each assignment.  Final percentage is then sum(x)/sum(X).
   Each individual assignment may have a weight (1x, 2x, 3x) to
   make it more valuable (example: all quizzes count 2x)
   This is really just a special case of 1.1.3 below, with all
   category weights equal.

  1.1.2 Category Weights
   Each assignment is graded and given a percentage.
   Assignments are grouped into categories (homework, quizzes, tests,
   etc.), with each category given a weight in the overall average.
   Grades within each category are averaged, and then an overall
   percentage is calculated by applying the weights to the categories.

  1.1.3 Total Points with Category Weights
   This is a combination of 1.1.1 and 1.1.2.  Student receives a
   percentage for each category based on the total points method,
   then final grade is computed by applying weights to the the
categories.

  1.1.4 Extra Credit
   Extra credit is confusing.  :-)  In the total points method, students

   may simply earn additional points.  In any of the methods,
   they may receive a percentage
   for the extra credit they did, and then get some portion of a maximum

   grade boost allowed.  i.e., if a student did 70% of the extra credit
   and extra credit may count for up to 10% of the final grade, that
   student's grade would be boosted by 7%.

  1.1.5 Lowest Grades
   Each method should allow the N lowest grades to be dropped for each
   student.

  1.1.6 Rounding
   Allow final grade to automatically be rounded to arbitrary precision.

 1.2  Data types (I think this is being defined in the "EDUML" format -
I'll just
  get these thoughts down, then we'll make sure they're accounted for.)
Some of
  these fields would be optional.

  1.2.1 School Data
   The following data should be stored for each school: school name,
address,
   phone number, web site, principal...  Allow import from text list.

  1.2.2 Class data
   The following data should be stored for each class: class name, class

   number, subject, students in class, assignments in class, class start
and end
   dates.  Also, grading scheme (grade names with percentage cutoff
points,
   or some sort of curve data)

  1.2.3 Student data
   The following data should be stored for each student:  Name, ID#,
parents'
   names, home address, home phone, email address, parents' email
address.
   It would probably be beneficial to have double fields for parents in
the
   event that they are separated?   Space for notes.

  1.2.4 Assignment data
   The following data should be stored for each assignment:  Assignment
name,
   assignment date, assignment description, assignment category
(homework,
   test, etc.), perfect score, assignment weight.

  1.2.5 Grade data
   Each individual grade may be recorded as points, percentage, "not
counted"
   or "missing."  (percentage may just be a special case of points where

   the perfect score is 100?) (Allow entry by grade names?  Assign
specific
   % to each grade name?)

 1.3 Data Management

  1.3.1   Grade entry
   Allow grades to be entered either in spreadsheet format, or with a
dialog
   box for one student/multiple assignments, or one assignment/multiple
students.

  1.3.2 Data reuse
   Allow assignments and/or students to be dragged (or cut and pasted)
from one
   class to another.  Default for assignments would be "copy" and for
students
   would be "move."  Allow new classes to be created with old classes as

   "templates" either for assignments or for student rosters.

 1.4 Reporting

  1.4.1 Report Types - Data
   Allow grade reports by student or by class.  Either summary
(cumulative average
   only) or comprehensive (all individual grades shown, with average).
Allow
   blank grade sheets to be printed (for recording written grades).
Print bar
   graphs with bins for grade ranges.  Allow reporting for combinations
of classes.

  1.4.2 Report Types - Reporting Medium
   Allow reports to be printed, emailed, or exported to XML or HTML.

  1.4.3 Export to other formats
   Allow exporting to proprietary formats used in school
administration....?

 1.5 General

  1.5.1 Allow preferences to be set as defaults.
--snip--

I followed up with some comments and more ideas of my own:

--snip--

>   1.2.4 Assignment data
>    The following data should be stored for each assignment:  Assignment
> name,
>    assignment date, assignment description, assignment category
> (homework,
>    test, etc.), perfect score, assignment weight.

This is actually an important UI issue. Here's how I've envisioned
organizing student and assignment info:

I'll describe my personal situation to provide some context. I teach 5
classes per day, 2 physics and 3 physical science (essentially a 9th
intro. to chemistry). Our students are rescheduled at semester time
which
results in the need to reorganize my gradebook. I try to syncronize the
assignments for my courses, but it's not always possible. The point is
that it should be simple to move students between sections and put
different assignments in different sections. I'll be more specific and
define some terms.

Course -- a particular subject (e.g., physics)
Section -- a particular group of students in a course (e.g, 4th period
physics, 9th hour physical science, etc.)

Let's say our gradebook allows that teacher to define a "course" and a
list of students that are enrolled in that course. Then, the teacher
would
define the "sections" that comprise the course. The gradebook could
present a screen with the list of students enrolled in a particular
course
down the side, and a series of columns with radio buttons for each
section
of that course. The teacher would then simply go down the list,
selecting
a section for each student in the course. Moving a student to a
different
section would be as simple as clicking on a different radio button
(since
a student can only be enrolled in one physics section at a time). Clunky
ascii diagram follows:

   Student     | Per1 | Per2 |
==============================
Raymond, Eric  | ( )  | (*)  |
Stallman, R.   | (*)  | ( )  |
Torvalds, Linus| (*)  | ( )  |

A similar model could be employed for assignments. Assignment should be
made in a course, not a section. The diagram above would be modified to
show assignments in the left column. Assignments would be placed in
specific sections using the radio buttons. This is not without problems,
however, because it's possible that a student would change sections in
the
middle of a term and the assignments for the two sections may not be in
sync. Some way of working out those conflicts would be necessary.

Here's a possible solution. Let's say that two physics sections have
identical assignment lists except for one extra quiz in Per. 2 physics.
A
student moving into per. 2 from the other section would automatically
have
that assignment "excused," meaning that it would not factor into her
grade. A student moving from Per. 2 would have the quiz removed from his
record.

>   1.2.5 Grade data

This is a small point, but I would like to have some way to indicate
that
a particular assignment was submitted late. Parents often want to know
if
their kids are turning their work in on time, and it would be nice to
have
a way to see that in a grade report.

>   1.3.2 Data reuse
>    Allow assignments and/or students to be dragged (or cut and pasted)
> from one
>    class to another.  Default for assignments would be "copy" and for
> students
>    would be "move."  Allow new classes to be created with old classes as
>    "templates" either for assignments or for student rosters.

The last statement here is especially interesting. Creating a new course
from scratch can be a pain. I'd love to be able to create the basic
features using some sort of template.

>   1.4.2 Report Types - Reporting Medium
>    Allow reports to be printed, emailed, or exported to XML or HTML.

We need a way to create customized reports. For example, we just
finished
mid-quarters at my school. All students who are currently getting a D or
lower get a report mailed home from the school. I would like to create a
"mid-quarter" report that would automatically generate a report in a
particular format for those students getting <= a D in all of my current
courses. The report, once created, could be saved for later use. This
would be a huge time saver. Also, some sort of batch printing is a must.
I
shouldn't have to open each file, generate, and print the mid-quarter
reports one at a time. Instead, I could simply choose for which courses
(or sections) I'd like to create a given report and have the computer do
all of the work.

--snip--

I hope you find these suggestions helpful.

-Tim

-- 
Timothy Wilson      |  Proud Linux user  |      Check out:
Henry Sibley H.S.   |    since 2.0.32    | http://slashdot.org
St. Paul, MN 55118  |                    | http://www.redhat.com
wilson@chem.umn.edu |    Free your PC    | http://www.seul.org/edu/