Saving calculated data, especially aggregate data (or in your case, decreasing value) is poor design.
I don't see where it states that the calculation is to be stored, but it was a reasonable assumption. I'm going to assume that the course selections are being stored, so it could be as simple as the DSum or DCount of that field, subtracted from the course limit, as an expression in a form calculated field. However, what also raises a red flag is this
To add to this I will have potentially 50+ of these so it will need to reduce the correct field
I suspect these tables are designed like spreadsheets; i.e. there is a field for every course. If that is the case, it may be time to start over with the design.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.