April 25, 2006 at 6:23 pm
I'm looking in to designing an online gradebook for my school, the one we use doesn't fit our needs. I pretty much have the overal design going, but I do have a question on the various ways to calculate and store the categories and final grades.
When do you suggest is the best time to calculate grades. At run-time when the user opens their gradebooks and make it dynamic? Or at the time when you add their grades individually, and store it in a table. Now if the whole school is using this I can see thousands and thousands of grades being loaded and calculated and I'm trying to figure out ways to keep the logic at high efficiency.
Now that I think about it, where should the calculations be done on the client side or the server side. Every teacher calculates their grades differently and I'd have to work something out, but I'll work on that later.
Any suggestions?
April 26, 2006 at 2:46 pm
It sounds like you are asking a broader question that it may seem.
First, if every teacher calculates their grades differently, you will have one heck of a set of Client Side Business Rules. Reason being, it is much better to get your errors immediately rather than waiting to have them processed with a listing of errors and then having to reload your data.
As far as the calculation time, I would personally suggest using SQL Server. You should be able to re-use a significant amount of calculations and it should be much fast since you want to load the data into the SQL Server...
Just my $0.02.
I wasn't born stupid - I had to study.
April 27, 2006 at 3:51 am
Whilst not a direct answer, just a pointer - I generate the data onthe fly for reports - about 500 students and have no issues with speed, but this is due to ensuring the data is in a logical format and that the stored procedures are optimised. When the data comes in from the MCQ software it is in a terrible format which often takes 5 mins to process through a SP for a year - once though into a logical format the reports are generated in parts of a second.
The key is to ensure your tables and SQL statements are optimised and do not contain loads of loops (or looping functions).
April 27, 2006 at 8:32 am
Hi,
This is actually non-responsive to your question.
As an ex teacher, I urge caution creating any grade book that will be used by the other faculty. Not to be the doom and gloom sayer; but if there is a bug in the calculations that effect the wrong student/parent combination; well, you will be opening yourself up to a lot grief.
I'm imagining that honor student that really does need 99.9 instead of 99.7 to be the Valedictorian and get into the college of their choice.
You should also be prepared to provide tech support for your application. That will mean sitting with the Ludite members of your faculty and showing them how to enter grades. Which as you know will invariably be ON the day grades are due.
If you need any more encouragement, just let me know
Teague
May 1, 2006 at 9:19 am
I have not worked with grades but have a fairly large amount of expierence with applications that need to calculate some type of total from detail records. My recomendation would be to calculate on the fly if it is at all possible. The reason being that the totals (in your case the gpa) will be incorrect every time a record is added for a paticular student.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply