Studying computer science in college is and was a fantastic decision - regardless of whether you go into it thinking you can write a book on C++, or not knowing what the keyword
static means, you will learn a TON.
Sure, going through CLRS is great for both your own understanding of theory and for interview prep, but is that the best usage of your time in school? Absolutely not, I’d argue.
The professors you have access to while in school have enormous amounts of wisdom to pass on - you, however, have to give them reason to share it.
With the commoditization of education around the computer science field (think hacker academies, coursera, etc.), what you learn in the classroom at a formal university is becoming less and less relevant. If you can learn everything about Voronoi Decompositions and their application to path planning for autonomous robots online, but you choose to take a computer vision class in school, what should you try to get out of it?
Odds are, the professor who is teaching the computer vision course in question (likely master’s level) has much more to offer than the homeworks that will absolutely destroy your work-life balance. But why should he/she take the time to interact with you beyond the classroom setting? In my (limited) experience in academia, I’ve found that professors at the top of their field often can learn as much from their students as the students can from them; if allowed to blossom, the relationship can be truly symbiotic.
I’ve served as a teaching assistant for both of the aforementioned professors for 4+ semesters and have nothing but positive feedback from those experiences. Though I truly do love teaching, the relationships that stemmed from those semesters are just as valuable as seeing a student’s “AHA” moment when solving a problem. I’ve learned so much from these two - far too much to put into words in a blog post. But, to sum it up, there is no chance I’d be where I am today if it wasn’t for their mentorship and advice throughout my college career.
Consider the VR class I taught this past semester: undergrads teaching other undergrads alone is a hot/controversial topic at Penn (and I imagine other universities). But an undergrad teaching a full-credit master’s course? Even with the blessings of overseeing professors and others in the department, that was a major challenge to push through Penn’s (extensive) academic bureaucracy.
Chris, Swap, and I had discussed many times over how the departmental structure at Penn Engineering affects the individual’s ability to be a self-starter before the class was even theorized. We spent many hours (usually with beers) covering the lessons each of us had learned throughout our time at Penn (they both had a couple years on me there) sharing what worked, what was most likely to set off an administrative shitstorm, and how to best work the school’s politics in your favor without harming others.
I’d say those discussions were far more valuable than anything I could have learned from a classroom. Sure, knowing how to write a red-black tree on the fly in 20 minutes may be a good skill to have, but as much as many of us like to think the organizational problems we face in a workplace environment are unique to the specific company in question, the sources of those workplace-related problems are generally global to humans, not isolated to your manager or boss. Think about it - and then think about where in a CS textbook you’ll find anything pertinent to that issue (ok maybe besides blockchain-based distributed decision making).
Another huge impact Chris and Swap have had on me is the clairvoyance to seek, chase, and hold on to purpose in job searching. Where can you best serve a purpose that will benefit society? How do you filter the noise of thousands of “x engineer” jobs down to those where you will actually engineer something. The professors you have access to in school can actually answer those questions - they likely have years of personal experience to reference, and most likely survived the last .com boom. The value of those experiences cannot be understated.
When I look back on my time at Penn, the first thing I think of is that I would not have had access to such amazing mentors if I hadn’t given them a reason to mentor me. That’s the main point I’m trying to make - every student has the power to inspire a professor to believe in them. You just need to go for it, even if that means dedicating time that might have otherwise turned your A- into an A.
I promise you, you won’t regret it.