I find that the hardest classes to get a good grade in are not always the most confusing or thought provoking. For example: Computer Programming II may have been the hardest class for me in college to get a good grade in, but in a way it was easier than some others. What I mean is, there was always a right answer. It was all based on logical processes that led to one answer that everyone agreed on. Very simplistic if you think about it. This does not require a higher order of thought. It requires simple calculations. I took many of these types of courses as an Engineering major, and although they were difficult, I did not feel deeply challenged.
Some of the most challenging classes for me were courses involving Philosophy, Psychology, Politics, etc. These courses involve a great depth of thought and are very confusing if you actually try to absorb and seriously comtemplate the material. These subjects are infinitely complex. You could talk about one topic for hours and never come to a conclusion. No one would necessarily be wrong, and no one would necessarily be right. Very frustrating, but also able to fill a person with a sense of wonder about the world - which I liked.