Why more Computer Science professors need to adopt specifications grading.
Published: 2020-10-09 00:59:00

# Types of Teachers

Throughout college, you may meet some professors you adore, you dislike, and some you just flat out want to never see again and would not mind if they fell off the face of the earth. Most of us hope for the first mentioned. 

# My favorite teacher

Having had many in the category of "dislike" I feel it is important to make this post about one of the best professors I've ever had as a Computer Science student. If anyone would like to reach out to him, let me know and I can ask him if it's okay to share his email with you or something.

# Course Structure
The professor followed what is called specifications grading. If you're not familiar with how that might work, this post will mostly serve as an overview of how a class with specifications grading might work. His course had 2 aspects - exams and projects. These two things are tightly packed together. For example, the first project may be about multi-threading, and the first exam will be about multi-threading. With that being said, your grade is based on a scale of how much you complete. You don't have to pass every exam, and you don't have to do every project. 

Lets say you have 7 sections total, each with corresponding exam and project. The professor would set a scale such that if you complete 6 sections (project + exam) you get an A, 5 is a B, 4 is a C etc etc. Of course you can weight these differently to fit your class, this is just an example.

Using the example above, if you passed 6 exams, but only did 5 projects, you get rounded down to the grade of B. It does not round up. Pretty fair in my opinion.

# Exams

This is by far my favorite part of the way the professor conducted the class. Each exam will include the sections from the previous exam. So if the first is on multi-threading, the second will be on the new topic + multi-threading. The third will be on the third new topic, the second, and multi-threading. The reason he does this is genius. 

If you don't pass it the first time, you have another chance the next time. He of course generates new questions for each exam so you can't just study the same thing over and over, and you really need to know your stuff. It is important to note that the sections in the exam were graded on a binary scale. If it looks like you know your stuff, and you get 95% of the content correct - you pass. If not, no worries! Try again next time.


# Conclusion 

This may not work for everyone, but as a student, I really appreciated this way of conducting a course. The way the exams were formatted greatly reduced exam-stress which is something that GREATLY effects students. 

There were times where I had a really important midterm for another class, and needed to mainly focus on that. I knew I could study lightly for the CS class's exam because I'd have another chance to pass it next time. Not only does this allow students to be more flexible in their study plan, it allows us to mentally relax and focus on things as they come at us. 

All in all, I think more professors ought to be adopting this method of teaching, or at least try it for a few semesters. I guarantee you your students will be very receptive and will respond VERY positively.

Thanks for coming to my Ted-Talk. <3