turn off parts of features in a neural network?
As far as I know, you cannot do that.
First : 


  Obviously setting the mid-term grades to be all 0s would be be a good
  option


No, actually that is a really bad option, neural networks do not understand magical parameters, meaning, if you put a 0 there it will think that the mid-term grades is 0, therefore it will probably give you a very low final grade prediction for you.

My advise, if you are very interested in doing that, create boolean factors, training inputs:


working_hours
mid-term_grade
mid-term_grade_present


mid-term_grade_present should be a 1 when you have the mid-term_grade training data, and 0 when you do not have it. BTW, yes, generate training data without the mid-term_grade.

If you are working with non linear machine learning algorithms that should be enough, if you are using linear algorithms you should one hot encode the mid-term_grade_present and multiply it by the mid-term_grade, ending with something like this:  


working_hours
mid-term_grade_present_1 * mid-term_grade
mid-term_grade_present_0 * mid-term_grade