For some reason, figuring out when school subjects are capitalized and when they're not has been really hard for a lot of my students at all 3 of the colleges I've taught at. It's a basic capitalization rule, but it apparently screws with your mind.
First off, capitalize languages (Spanish, French, Japanese) as they are always capitalized. The exceptions are languages with descriptions, like American sign langauge. This is why English class always features a captalized E, just like foreign langauge courses like French, no matter how you're using it in the sentence.
Second, the general rule is to capitalize the name of a course. That means, things like Bio-Chemistry, Literature of the French Revolution, and Educational Psychology are going to have capitalized first letters, because they're functioning as titles. Titles are considered proper nouns, so everything but the articles and prepositions will be upper-case (unless the article and prepositions are the first word in the title - then they are capitalized, too).
However, do not capitalize a school subject if you're not talking about a specific class. For example, "I hate math." This seems easy, right? Math is a general noun describing all of mathematics, not one class, so it's lower case. In other words, it's not a title, so it's not a proper noun.
This gets more confusing for people when they says things like, "I love algebra." Here, the lower case means you're talking about algebra in general - you might be ok with calculus, but algebra just drives you mad. But you can say, "I have Alegebra 2 with Ms. DeVores this year." Algebra 2 is the name of the class, so it's capitalized.
Essentially, the school subject capitalization rules are as follows: languages are always capitalized and capitalize subjects when they are the title of an actual course but not when speaking of the subject in general.