Hmmm, if I had the resources... I see a morbid but possibly real opportunity, at least sales to the more affluent parent...
A Kevlar style backpack, possibly reinforced on one side (the flat side) w/ a plate of some type. Then, the zippers unzip all the way around and when you do this, additional material is let loose so you can slip it on as a vest (if you've ever seen any convertible/portable clothing that can be zipped up to be their own carry bag, or temp rain suit for golfers, you'll know what I mean) velcro straps to secure it around the body.
I admit it's kind of out there, but it could be done, so it doent' help the guy getting 'sucker shot' but if you hear gun fire you could drop your bag, unzip it and slip it on if you were in a place where you didn't have a free getaway (otherwise you would have already gotten away) while it wouldn't help at point blank range, it might help if you had to try a counter attack, or had a chance to get away but knew you might still get shot at in the process.
Just thinking out loud. As for practical things you'd already have at your disposal, I can't think of too many things that would help a sitting duck except to not be a sitting duck, move, run, or if your stuck somewhere barricade yourself in the room and/or have a plan to attack the gunman once he enters, grab a flagpole (do they still have those in class rooms?), break a chair leg off, a broom handle, find some glass that's not safety glass (if that's possible) and break it, tie it w/ some clothing around a stick, find a bottle of something flamable in a janitor's closet or lab, and throw a molitaf (spelling?) cocktail at him, find some other chemical and throw it in his eyes when he comes in the room, wet down the floor w/ soapy water and some how encourage him to run into it fall on his ass and jump him or hit him w/ one of the above, fire extinguisher to the face, or if strong enough hit him over the head w/ it as he enters the room, i don't know, still thinking out loud...
Basically think "home alone" w/ higher stakes, since it's not a movie you're in.
Karz