rjgriffin46,
Before adjusting the physical tables and fields etc, tell us more about the .
Identify clearly what exactly you want to retrieve/report from the data.
Along the line of what Ajax suggested, identify what "status" really means, and how many values are appropriate, and consider what might happen if you were to get a few new requests (new status values).
Based on your post, you'll need a table for "studentSource" and some processes to add/edit values from the table.
Do a data model, get your tables and relationships set up, then test it with some real data. Investigate and reconcile every "issue" that arises. Then test again. Once you are happy with scenarios and your model, and you can record and retrieve the required info, then adjust your physical database as per your model.
As for student classes/attendance etc see the free data models at
http://www.databaseanswers.org/data_models/index.htm for ideas. These are not (necessarily) meant as ultimate models, but do reflect the most common entities/attributes and relationships. These can be reviewed and used in whole or in parts with key tables and relationships extracted to suit your needs. Here is one re
student roster
Good luck with your project.