I don't think that overfitting is a good metaphor for your problem. Overfitting involves building a model that is more complicated than an optimal model would be. What exactly is the model here, and why do you think that learning just a subset of the course's material leads to building a more complicated model?
Instead, your example looks like a case of sampling bias. Think of the material of whole course as the whole distribution, and of the exam topics as a subset of that distribution. "Training" your brain with samples just from that subset is going to produce a learning outcome that is not likely to work well for the whole distribution.
Memorizing disconnected bits of knowledge without understanding the material - that would be a case of overfitting.
Memorizing disconnected bits of knowledge without understanding the material - that would be a case of overfitting.
That is exactly what most students do. Source: Am student, have watched others learn.
When I hear something like "What's going to be on the exam?", part of me gets indignant. WHAT?!?! You're defeating the whole point of the exam! You're committing the Deadly Sin of Overfitting!
Let me step back and explain my view of exams.
When I take a class, my goal is to learn the material. Exams are a way to answer the question, "How well did I learn the material?"[1]. But exams are only a few hours long, so it's unfeasible to have questions on all of the material. To deal with this time constraint, an exam takes a random sample of the material and gives me a "statistical" rather than "perfect" answer to the question, "How well did I learn the material?"
If I know in advance what topics will be covered on the exam, and if I then prepare for the exam by learning only those topics, then I am screwing up this whole process. By doing very well on the exam, I get the information, "Congratulations! You learned the material covered on the exam very well." But who knows how well I learned the material covered in class as a whole? This is a textbook case of overfitting.
To be clear, I don't necessarily lose respect for someone who asks, "What's going to be on the exam?". I understand that different people have different priorities[2], and that's fine by me. But if you're taking a class because you truly want to learn the material, in spite of any sacrifices that you might have to make to do so[3], then I'd like to encourage you not to "study for the test". I'd like to encourage you not to overfit.
[1] When I say "learned", I mean in the "Feynman" sense, not in the "teacher's password" sense. I believe that a necessary (but not sufficient) condition for an exam to check for this kind of learning is to have problems that I've never seen before.
[2] Someone might care much more about getting into medical school than, say, mastering classical mechanics. I respect that choice, and I acknowledge that someone might be in a system where getting a good grade in physics is required for getting into medical school, even though mastering classical mechanics isn't required for becoming a good doctor.
[3] There were a few terms when I felt like I did a really good job of learning the material (conveniently, I also got really good grades during these terms). But for these terms, one (or both) of the following would happen: