If a course is within a category, that should be reflected in the CSS classes to allow it to be styled appropriately. The category id number could be used, combined with some text e.g. "category-1" and added as a class to the body tag.
If a course is nested within one or more categories, then all of them should be added to the body tag as classes. To ensure that the CSS cascade works properly the designer should ensure that the CSS for the lower level categories comes later than the higher categories (assuming that you wish them to override).
This would make it much easier to make subtle style changes via categories. We're currently trying to theme over a hundred departments, which mostly involves just changing a prominent header image and have implemented something similar just by adding PHP code to the header.