I'm doing basically the exact same thing with the head of the computer department at my high school. Only we chose ASP .NET because I already knew PHP and it is supposed to be a 'class' for me.
We are building essentially the same thing with a few other things that are pretty school specific, but without the grade-tracking because we already have that through
http://www.edline.net
The only real advice I have to tell you is that if you are going to store grades the program better be locked down pretty tight because someone will want to hack it.