Yes, if it's proper, it's always capitalized.
An exception to writing a class name lowercase would be if the course has an unusual name. I teach a middle school class called Language & Literacies in my school which is an integration of language arts and technology. My students would refer to me as their Language & Literacies teacher. There are a lot more classes like that these days. Another example I can think of at my school is MathTech.
I think it basically boils down to whether you are referring to a particular class or a subject. If referring to a particular class, you would use uppercase (7th Grade Geography) but lowercase if referring to the subject (geography) if the word isn't always a proper noun (French class).
Love the confusing nuances of language!