Advice from Majors in the Class of 2025

The Class of 2025 was asked to pass along some of the insights they gained during their years as a major. Here are their responses (lightly edited):


What advice do you have for an underclassman about the CS Major?

Learn the parts of CS that aren't a part of the major - Git, System Design, etc

Yale's CS major is designed with an emphasis on freedom but they don't ever spell out to you that freedom is a goal. There are many fantastic CS courses at Yale, and many fantastic professors, but almost all of these are not the most popular ones. The good courses, where you learn and actually enjoy the material, tend to overwhelmingly have high difficulty ratings. You're a Yale student‚ you're smarter than you think, and you're wasting your time here if you avoid taking the more advanced classes. If I could narrow it down to a single heuristic, the CourseTable professor ratings are shockingly representative of how much I've ended up enjoying my classes. Remember that the range of ratings is 2.9 - 5.0, so an average professor is around a 3.7-3.8. You want to find classes where the professors have a higher than average rating, don't let a 3.7 fool you!

In the age of AI tools, and as an ex-323 ULA, everyone, please: STOP using ChatGPT or other AI tools to write and debug your code. You can ask it for advice, but you have office hours and you have stackoverflow, and those are going to be far more reliable. Not to mention being able to solve issues without ChatGPT is why you're in school to be a programmer; using ChatGPT will make it harder for you to get as good at programming as you want to be (and I've seen that happen to people). Go to office hours, ask your friends for help, search the internet!! No one should be writing your code but you.

Also, guys, please take more than just CS/STEM classes! Yale has world-class programs in a lot of fields, and your CS skills become 100x more valuable if you know how to apply them outside of programming and software engineering. Plus, they're just really cool, and you'll befriend an academically diverse set of students and professors.

Take 200 or 201. I came from a large public high school and took a AP CS A course and thought I could start in data structures. I opted to stay in 201 and WOW I learned a lot. It might seem boring or "oh this won't get me SWE for the summer". You have the rest of your life to work as a software engineer. The basics I learned in 201 have helped me out in literally every following elective I took.

Some courses get easier after you take the intro sequence. 370 Intro to AI is super straightforward if you've taken algorithms and discrete math. It's a lot harder as a second-semester first year trying to prove yourself -- Yale's CS program isn't like that.

Push for exceptions, take unique courses. I joke that I took more courses in the Jackson School than CS dept at one point in my cs career, and it made me so much better as a person and engineer. It's one thing to build, it's another to understand the world our work lives in and how to navigate it.

Talk to DSAC if you have issues -- they'll get it in front of the right people.


Is there anything that you wish you had done differently (any regrets)?

Not taking more non-CS classes

I wish I hadn't taken a graduate class in my first year without meeting the prerequisites :) I also wish I'd taken MATH 244 instead of CS 202, because I likely would have switched to CS+Math if I'd known!

I regret that I had but only four years at Yale. Don't spend all your time doing homework - make friends, do things, travel, attend games... it'll go quick