> If I get stuck on something, I typically just keep trying until I understand it, instead of stopping, remembering what I don't understand and asking it in office hours 2-3 days later, and then potentially getting stuck on something else later on in the proof/example.
Good! This is what you should be doing! Understanding comes from within, and teachers can only guide you to it. You are your own best teacher, and you will learn the material on a deeper level if you figure it out yourself. Sometimes you do need a little guidance, though, and that's ok.
> Typically what I lack is is a more general understanding of the entire proof/example/algorithm instead of small individual details, and I really need to sit down with it and go through it instead of another quick re-explanation by a TA where I have to say "yeah, makes sense" before I've had enough time to think about it.
First of all, get face time with the actual professor if you can, not the TA. TAs can be great, but they're likely someone with limited pedagogical experience.
Second, you need to learn to ask questions to get to the heart of the matter. Don't walk in saying, "I don't understand this proof/example/algorithm". That gives them nothing to work with. All they can offer you in return is a quick explanation. Tell them what you just told us. "I feel like I've got a good handle on all the small details and steps in this proof/example/algorithm, but I'm having trouble understanding it as a whole." Maybe try, "can I see some more examples?" or "can I see a motivating example?" or even "what historical context led to the creation of this algorithm?"
Context can be everything. It can be difficult to understand material when it's presented to you in its modern form, and you don't see how something so logical and perfect crystalized out of the aether. If you can see a couple of steps in its historical derivation it can make a lot more sense.
Not saying this is the case for you, but I have also seen a lot of students who think they have a good handle on the small details, but it turns out they only understand gist of the details instead of the details of the details. Hell, I do that myself. If you go through every little detail and ask yourself "why?" or "where did that come from?" or "what could have motivated this?" you might discover you have more gaps in your knowledge than you realize.
Best of luck with the rest of your program! Don't be too hard on your teachers. As I explained in another comment, I spent years really trying to improve as a teacher, but it is an extremely unrewarding experience for a variety of reasons. These people are not getting rewarded for any extra effort they put into helping students, and if they're doing it anyway they deserve kudos.
> TAs can be great, but they're likely someone with limited pedagogical experience.
Professors can be great, but they're likely to be experts and researchers who find the course material trivially easy – and have long forgotten what it was like to learn it for the first time as an absolute beginner.
Good! This is what you should be doing! Understanding comes from within, and teachers can only guide you to it. You are your own best teacher, and you will learn the material on a deeper level if you figure it out yourself. Sometimes you do need a little guidance, though, and that's ok.
> Typically what I lack is is a more general understanding of the entire proof/example/algorithm instead of small individual details, and I really need to sit down with it and go through it instead of another quick re-explanation by a TA where I have to say "yeah, makes sense" before I've had enough time to think about it.
First of all, get face time with the actual professor if you can, not the TA. TAs can be great, but they're likely someone with limited pedagogical experience.
Second, you need to learn to ask questions to get to the heart of the matter. Don't walk in saying, "I don't understand this proof/example/algorithm". That gives them nothing to work with. All they can offer you in return is a quick explanation. Tell them what you just told us. "I feel like I've got a good handle on all the small details and steps in this proof/example/algorithm, but I'm having trouble understanding it as a whole." Maybe try, "can I see some more examples?" or "can I see a motivating example?" or even "what historical context led to the creation of this algorithm?"
Context can be everything. It can be difficult to understand material when it's presented to you in its modern form, and you don't see how something so logical and perfect crystalized out of the aether. If you can see a couple of steps in its historical derivation it can make a lot more sense.
Not saying this is the case for you, but I have also seen a lot of students who think they have a good handle on the small details, but it turns out they only understand gist of the details instead of the details of the details. Hell, I do that myself. If you go through every little detail and ask yourself "why?" or "where did that come from?" or "what could have motivated this?" you might discover you have more gaps in your knowledge than you realize.
Best of luck with the rest of your program! Don't be too hard on your teachers. As I explained in another comment, I spent years really trying to improve as a teacher, but it is an extremely unrewarding experience for a variety of reasons. These people are not getting rewarded for any extra effort they put into helping students, and if they're doing it anyway they deserve kudos.