View Single Post
  #7 (permalink)  
Old May 9th, 2014, 02:41 PM
Rod Stephens's Avatar
Rod Stephens Rod Stephens is offline
Wrox Author
Points: 3,187, Level: 23
Points: 3,187, Level: 23 Points: 3,187, Level: 23 Points: 3,187, Level: 23
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
Join Date: Jan 2006
Location: , , .
Posts: 646
Thanks: 2
Thanked 96 Times in 95 Posts

I'm referring to figure B-16 on page 478. CourseOfferings is listed as one of the tables.
Thanks. I was looking in Appendix A.

I still don't see the reference to sections. (But I have a really bad cold so it's probably staring me in the face and I can't see it.)

Your answer is great. But could you please relate the solution you are giving with respect to figure B-16.

For instance, where does the tables you have given fits in.
My previous post is a bit more elaborate than B-16. In B-16, the CourseGradeItems table holds the definitions of the grades. For example, the midterm is worth 25% and quiz 1 is worth 5%.

That figure doesn't use the idea of grade categories like the ones I described before. In this figure you would need to give each item its final weight. For example, if you want 5 quizzes with a total weight of 25%, then you would need to give each 5% weight. (In the other solution, you would say the category has weight 25% and the program would divide that among the quizzes for you.)

So CourseGradeItems defines the weights for the items in a CourseId. The StudentGrades table holds the grades for a particular student. CourseOfferingId gets you to CourseId. Then CourseId plus GradeItem gets you to the CourseGradeItems table so you can see how much that item is worth.

You can still compute partial grades. For example, halfway through the course, the students won't have all of their grades entered. A program could find those that are present and calculate a weighted average. For example, if you have 3 quizzes at 5% each and a midterm worth 25%, then you would calculate:

(quiz1 * 5 + quiz2 * 5 + quiz3 * 5 + midterm * 25) / (5 + 5 + 5 + 25)
Note also that the model in B-16 is a bit more consistent and less flexible than the one that the grade software I used is. That software defined the grade items for each offering not once for each course. For example, each time you teach VB 101, you could define different quiz, midterm, and other grade items. (That was probably just as well because there were often different instructors, and different instructors give different assignments.)

Rod Stephens, Microsoft MVP

Essential Algorithms: A Practical Approach to Computer Algorithms

(Please post reviews at Amazon or wherever you shop!)