What to do with my data? I'm quite new here so please excuse me if this isn't a suitable question.
I'm developing a site for students to allow them to upload their virtual transcripts (grade report) to our site and allow us to do various manipulations (add an upcoming assignment, drop an assignment, etc.) so we have a large amount of information of students across our school (many gigabytes of data). I was wondering what kind of statistical analysis I can do upon that information. Is there a more popular application of statistics for something like this that I can look at? (Stocks? etc...)
Here's a quick overview of what kind of information I have on hand:


*

*Assignment Earned Points/Assignment Possible Points

*Category of each assignment

*Weight of each category.

*Names of Assignments, Class, Teacher

*Current Letter and Numeric Grade in the class.


We then calculate category totals, and create a grade history based on their assignment history and class weight settings.
We hope to do simple things like getting the average and standard deviation of the scores of an assignment. Then we'll display a user's average and percentile (calculated from average/standard deviation, we're assuming normal distribution but this is a bad assumption...) of the data. (But I think a confidence interval instead of a mean would be more appropriate, but we'll complete that implementation at a later date). We have a minimum cutoff currently at 5 to ensure users can't just estimate what another specific user is getting but to also ensure that the data is somewhat statistically valid. Is there a better way of determining a cutoff for the data? What are some other neat things we can do with this data? I feel like we're barely scraping the surface and hope that there's some things that we can't think of that would be useful for a student to look at.
Another problem: the data isn't always fresh, we only get data as they upload it and some users update more frequently than others. However, we wish to create a history graph that depicts the class's average grade history. We store data every time the user updates on what grade they have in each class at the time of the update. But, it's hard to determine what constitutes as a class average given outdated and incomplete data. I was thinking of using a weighted average, where we take the last grade a student has updated up to a point X, then weight that point in the average depending on how many points were factored into that score. So if a student who updated when the gradebook only had 100 points in it will not be as important as a student who recently updated with 1500 points in the grade book. Is there a better approach to this?
I have an introductory understand to statistics (AP Statistics which should be equivalent to a first year into stats course in college). But I've forgotten most of it so it would help if you guys could simplify things a bit for me as well. Oh and I'm programming this through PHP. I'm using the MySQL stddev() and avg() functions to calculate standard deviation and average. I have a T-Score list @ 90% confidence for 1-200 df and an inverse normal function. I also have a 2-pass standard deviation and mean function written in PHP as well.
Edit 1: I'm targeting this website towards high school students.
Edit 2: Here is what we have so far:

 A: I've seen students' scores of different kinds. The distribution often exhibits one or more tresholds reflecting what they might want or have to achieve. And even with untresheld and continuous scores the distributions are not normal but rather skewed towards higher scores.
You should test the normality assumption. 
As for the percentiles, I would use the empirical, with regard to the aforementioned.
A: If I may make some suggestions:


*

*I would not implement a confidence interval because most students don't really understand what it is anyway. An inter-quartile range would be more appropriate instead

*Most(?) professors cook their grades to have a normal distribution, so the presence of the normal distribution should not surprise you

*Other things that could be useful for students using the system is a calculator that will tell them what grades they need on the remaining assignments and tests to obtain a desired final grade

*In the grade history aspect, you might want to include reference to the number of people in the class and such basic points of reference like their major, their pre-requisites grades, etc. (I'm assuming here that you want to create a grade history for each time the course is taken, not just a grade history for assignment x versus assignment y.)

*The raw scores versus curved scores should also be interesting to see, however it doesn't seem like you would have access to that information.
Edited to add comment on fairness of displaying data with few reports:
If you don't know the class population ahead of time, you could (I assume) mention to the user that the percentile is based on x students reporting and that the answer will not be final until all students report. 
The mechanism of the system you're describing seems odd to me, though. From my experience as a student, the professor publishes the distribution of grades and you as a student can see approximately where you fall. To have a system where it's the students who are doing the completely voluntary reporting of their grades risks misuse. If it's voluntary you can't make people participate and moreover you can't make them tell the truth of the actual grade they received. This is more a school policy thing though, which isn't really your problem.
