I'm not sure if this question is okay to post here (I am only an undergrad), so please feel free to close/migrate if necessary. I won't be offended.
I am an undergraduate taking an undergraduate CS class right now. I feel the class is being taught like a graduate-level course, but we are being tested like undergraduates. I say this because I have taken graduate-level STEM classes in the past, and I think my professor is teaching the material as if we were graduate students.
The homework in this class emphasizes theoretical understanding and proof writing. When the midterm was upon us, we were given no practice problems to prepare for the test. There were no practice midterms either. Going into the midterm, I figured, well, the professor will probably test us on our understanding of the material. However, the midterm tested for speed and accuracy. There were several short answer questions that had little to do with the kind of understanding of the material we developed from the homework. In fact, there were questions for which we haven't yet had homework. I think he tried to make the test "easy," which totally threw me off.
I did very poorly on my midterm, and now I am trying to figure out whether I can judge what to expect in a graduate-level class vs. an undergraduate-level class so I may avoid such poor exam performance in the future. I have come up with the following qualities to expect from a graduate-level STEM class vs. an undergraduate-level STEM class.
Graduate-level STEM Class
Emphasis on depth of understanding.
Abstract material can sometimes be presented ad hoc: Less emphasis on linear presentation of material.
Theoretical presentation of material. Typically, we look at axioms/rules whenever we are presented new notation. We then derive everything from these axioms/rules.
Often the material covered has so much depth that we are expected to have minimal breadth of understanding; We are expected to take what we've learned and focus on a particular are in great depth.
Exams, projects, and papers test understanding of the material, not the speed in which we can solve arbitrary problems.
Undergraduate-level STEM Class
Emphasis on breadth of knowledge.
Material is presented in a linear fashion, often starting with some concrete examples and building from there.
There is often so much ground to cover that we are taught through rote memorization. We solve problems excessively.
Exams test for speed and accuracy of exact solutions to several problems. One often succeeds in such a class by performing many practice problems.
My questions are as follows:
Is this accurate? If not, why, and what kinds of differences can I expect between graduate vs. undergraduate-level courses?
Are there other/better ways to find correlations between teaching and testing styles? How can I know I am prepared for an exam given a professor's teaching style (rote memorization vs. emphasis on derivations, etc.)?