When you're a freshman, you don't really have a good notion of what's important and what's not. So, at the beginning of my first semester at UT, I tried to be a good student and gave my best effort to every new concept. At about week two, in the face of stress and activities much more fun than math, my intrinsic motivation broke down.
After that point, I began to pick and choose which concepts I’d actually try to understand and for the rest, I’d learn just enough to get by. The common adage for doing well in school is "focus on learning and the grade will come", but everyone knows learning is way harder than memorizing the tricks to solving the different types of problems that'll show up on the test.
One class that stands out in my mind from that semester is linear algebra. Around midterm season, we spent a good amount of time on matrix factorization and singular-value decomposition, two fairly dense topics. I skipped all those lectures, thinking to myself there'd never be a time I'd have to apply that complicated nonsense. Unfortunately for me, singular-value decomposition made a strong appearance in two classes I've taken (both machine learning and stats related), and is apparently one of the most important concepts we were taught in linear algebra. Dreadfully unprepared, I screwed up all the related units. As you progress through college and take higher level classes, the whole memorizing-tricks-to-solve-problems thing stops working out, and you actually need a deep understanding of the concepts to succeed. I didn’t have the time to relearn all these forgotten linear algebra concepts when I needed them, and so the classes were a struggle.
To make matters worse, math classes don't build on each other anymore. Before college, your math classes came in nice, prescribed, sequences like Pre-Algebra -> Algebra I -> Algebra II or Precalculus -> Calculus. You couldn’t rearrange them or take gap years, forcing you to constantly review what you've learned in the previous years. After I took linear algebra my first semester, I didn't touch it (or any other math) for two years, at which point I couldn’t even spell matrix. In my later classes, I'd be confronted with some insane proof involving derivatives of eigenvectors and I'd be sitting there on mathisfun.com trying to figure out how to multiply two matrices. The worst is the data science class I'm in this semester. For each (already difficult) homework problem, I'll realize I don't understand the associated concept we learned in class, then realize I don't understand the associated probability concept related to that higher level concept, and then realize I don't remember any calculus, and so can't even start learning the probability necessary to start learning the concept necessary to do the homework. As a result, I'll be watching Calculus 101 khan academy videos for hours before I can even start learning the prerequisites to the concepts I need to start. Eventually, I'll cram enough half-baked information in my brain to cobble together half a solution, look at the next problem, realize I don't actually understand anything since I've barely spent any time with the material, and restart the process.
While regretting my life decisions in the shower, I've come up with a few solutions for lazy underclassmen who don't want to end up like me.
First, Google applications of theoretical concepts you’re learning to motivate yourself to take your time with them. I'm pretty sure 95% of UTCS students are into "machine learning". If you Google "SVD Applications", "machine learning" is on the first page, which might motivate you to spend more time on the subject. If I deem something unnecessary, I almost always blow it off, so this technique has helped me a lot.
Second, read articles about applications of things you learn. Once you're sufficiently excited about a concept you're learning about, you can also follow or keep up with recent happenings in the associated field. A lot of interesting technical articles will delve into the theory you may have seen in class, and reasoning through it will keep the information fresh in your mind so you don’t have to cram it in later on.
Doing this for every class is way too much extra effort, but I tried applying the above two techniques to my statistics and network security classes, and it worked well. Being able to understand real world applications of what I learned in class was a confidence boost and I still remember the material I reviewed a year later.