Advice to an Incoming Stanford Student

December 23, 2024

I started Stanford in the fall of 2014.

Long story short, I had a great time. I made a tight-knit group of friends from my freshman dorm. I had internships every year. I explored my interests and discovered a love for machine learning. I dated, grinded obscure video games, played a lot of ping pong, and ate an obscene amount of chicken tenders and waffle fries.

I trained RL agents on my favorite board games. I traveled to archery tournaments. I TA'ed a class on Bitcoin. I learned some really fun math and in the process learned how to think deeply. I did robotics research at SVL and was an author on two papers. I made a bunch of art. I actually tryharded here: I took five art practice classes and got an A+ in four of them.

I was recently connected to an incoming freshman who had a lot of questions. He sent me a long list, asking for general advice and my favorite classes. He was choosing between CS and another engineering major. Easy choice if you ask me, but Stanford students have until sophomore year to decide. Plenty of time.

Here's what I sent him:

Congratulations on getting into Stanford early. It's a huge accomplishment, but also a new beginning of a really exciting time. You'll be surrounded by bright and curious peers. This is probably the only four years where you'll be within biking distance of all of your friends. Make the most of it.

I majored in Computer Science and had a great time. I think CS gives you great flexibility to explore your interests after the core requirements.

General recommendations

  • Take an easy Freshman fall. You'll want plenty of time to make friends.
  • Optimize for both breadth and depth. Stanford is the only time you'll be able to take really crazy weird or specific classes and these are the ones that will be the most memorable to you. You can find these classes by either going deep into your major (300's level classes are awesome) or by doing something completely different from your major.
  • Audit a lot of interesting classes and drop by gut feeling. It's easy to make a grand 4-year plan but oftentimes you'll know by the first week whether a class is going to be great or not.
  • Some prereqs are more optional than others. Make sure your math fundamentals are solid but oftentimes you can just skip a prereq with the understanding you'll need to work a little bit harder to catch up.
  • Don't double major. It's not worth it, just do your 1 major plus all the classes you're interested in.
  • Make time to study abroad. It will likely be the most memorable quarter of your Stanford career.
  • Don't rush to find an advisor. I recommend asking a professor who is (1) aligned with your research interests and (2) doesn't teach an intro CS class (CS103, 106A/B, CS109 etc). In sophomore year you'll probably take some fun CS course and really vibe with the material.
  • A coterm is worth it if you're still figuring out what you want to do, but it's got a large opportunity cost compared to working in industry for a year. With that said, I did a coterm with no regrets. TA'ing, doing more research, and taking a bunch of high level classes were all worth it to me.
  • Find a club, do some research, but don't overcommit yourself. Better to have too much free time than to sign up for something and not put in your all.
  • I am serious about not overcommitting. There is a ton of value in having unstructured time to see friends, doing projects, going above and beyond in your favorite class, or even just being relaxed when your peers are stressed. High school may have been about doing a million things to put on college apps. College is about being present, exploring your interests, finding your people, and learning what you're capable of.

Favorite CS classes

  • CS265 Randomized Algorithms (Greg Valiant)
  • CS368 Algorithmic Techniques for Big Data (Moses Charikar)
  • CS345 Data-Intensive Systems for the Next 1000x (Peter Bailis)
  • CS107E Computer Systems from the Ground Up (Pat Hanrahan, Dawson Engler, Phil Levis)
  • CS255 Intro to Cryptography, CS251 Bitcoin and Cryptocurrencies, CS155 Computer Networks and Security (Dan Boneh)
  • CS234 Reinforcement Learning (Emma Brunskill)
  • CS103 Mathematical Foundations of Computing (Keith Schwarz)
  • CS228 Probabilistic Graphical Models (Stefano Erman)
  • Not necessarily a favorite class but it's worth noting that CS161 basically prepares you for the SWE interview, so it's worth not delaying.

Other great classes

  • Creativity in the Age of Facebook: Making Art for and from Networks (Jenny Odell)
  • Sculptural Screens / Malleable Media (Camille Utterback)
  • Black and White Photography (Jonathan Calm)
  • Social Dance 1 (Richard Powers)
  • Intermediate Table Tennis (or any 1-unit activity, cool to basically get free lessons to hone a skill)
  • Any math class that interests you is generally worth struggling through.

On making friends

  • Keep your door open
  • Say yes to things
  • Hang out in common spaces
  • Don't let your social anxiety win
  • Clubs are nice
  • Ask people if they want to do things with you

Deciding between two majors

  • Take intro classes from both until you figure it out. You have plenty of leeway to get the units you need to graduate. Most people I know didn't declare their major until sophomore year, and there are so many breadth requirements/intro classes/prereq math classes to get through freshman year.
  • Find people to talk to from both majors. I graduated during a CS boom and as I understand it it's not as easy for new grads now, but at the same time software and AI are the defining technologies of the future and I believe it is a mistake to have interest and talent in the field and to choose a different field instead.

Let me know if you have any more questions, happy to chat. But mostly, chill out, take it easy, don't drink too much, and explore your interests.

Max

← Back to home