I’ll be taking a rigorous courseload with three EECS courses this upcoming semester. The combination of the courses with recruiting will be tough, but I believe that my past semesters - from juggling a time-intensive class with a full-time internship in a different city (Winter 2022) or a full courseload with recruiting and other commitments - have prepared me well for the final battle, and this will be the ultimate test of how my time management skills, ability as a CS student, and sheer determination & grit, have improved over college.
Here is the list of courses I am taking, my goals from each, and a tentative plan of how I hope to succeed in each of them. I expect the plans to become more concrete as I start the courses. (I’ve added recruiting because for all intents and purposes, it is at least a 3 credit course!)
EECS 482: Operating Systems
Goals:
- Gain confidence in my ability as a programmer
- Get better at upfront design & planning (instead of jumping straight into writing code), reasoning about bugs, debugging, and concurrent programming
Checklist:
- Secure a great team for projects (done)
- Review threads and processes over break
- Review C++ from 280/281: STL, smart pointers, RAII
- Get started early on projects.
- Stay up-to-date on the lecture content (< 24 hours behind!) and optimize for understanding
- Start seriously studying for the midterm & final at least a week and a half in advance
EECS 376: Foundations of Computer Science (Theory)
Goals:
- Improve my understanding of the theory + math which apply to CS problems like dynamic programming, P and NP
Checklist:
- Find a good homework/study group in the first week or two
- Review Joy of Sets, basic proof-writing
- Schedule time to go to office hours, 1-2x a week
EECS 390: Programming Paradigms
Goals:
- Gain confidence in my ability as a programmer
- Build the foundation to be able to quickly pick up a new language & apply it
- Learn (and apply) programming best practices, functional programming, etc.
Checklist:
- Start early on homework & projects
Recruiting
(This is towards the bottom because otherwise it would disrupt the flow - but in reality it is P0, along with EECS 482.)
Goals:
- Secure a software engineering internship for Summer 2023 by end-of-March
- Keep my head & mindset straight. Go into each interview feeling prepared, confident, and seeing it as a chance to measure my progress and show how far I’ve come
Checklist:
- Set up a rigorous system for a) prepping for technical interviews, via Leetcode & mocks (majority of this is being frontloaded rn during break) and b) applying, doing Hackerranks, interviews.
- Keep the pipeline moving from Leetcode -> applying online -> completing OAs/Hackerranks -> interviewing. Keep multiple processes moving at once.
- For startups: source startups & email -> make these applications more targeted. (Ask Varun, Samay, Yash for advice on this)