Live data from Hacker News

Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

news.ycombinator.com

91–100 of 278 posts

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#91
A lot of great advice so far.

Right now, you don't need to know stuff. The point of college is to teach you stuff. You need to know how to learn stuff.

Young programmers can get used to solving a problem by alternating between typing code and googling until it goes away. No, expect to use your brain on a different level. Be prepared to sit down with a pen and paper and just think for a couple hours. To be stumped, and ask others for help. To spend time with textbooks and lecture notes trying to figure out what they mean and how they empower you to solve your problem. To be humbled, to have bad grades or struggle sometimes.

Find ambitious, excited, positive people with similar goals to yours. Help each other succeed. I agree with joining an ICPC team as soon as possible.

Many people don't question the standard course progression, but a college path is very customizable. Ask advisors or professors how you can do more. Sometimes you can take a graduate version of a class instead of an undergrad version. Make sure you get the math prereqs early and really nail those classes, don't just go through the motions.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#92

Learn to meditate, find a sport that you like and do it regularly, take a class on how to learn (Coursera has a good one "Learning how to Learn"), and take a class on how to take good notes. You might also want to study up on personal organization and personal finance. WRT study groups, YMMV. I found them incredibly stressful and counter-productive, but other people really seemed to like them. Eventually I actively a…

Whoa, harsh take on love, but I understand it. I met the love of my life during my freshman year, and though there have been times I feel my focus and productivity suffered as a result, I would not have it another way. Love, and even heartbreak, are such fundamental and enriching parts of human life that I really think they are worth sacrificing for.

I can get past distraction. I still code don't I? I still learn. But to eschew love for fear of heartbreak is cowardice.

"Far better is it to have a stout heart always and suffer one's share of evils, than to forever be fearing what may happen." - Herodotus

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#93

Be mindful of your program's retention rate. My first CS class has a very bimodal distribution (this is common in CS classes), and about half the students weren't in the followup class next semester. We lost another third after that semester. The engineering program at my school was run similarly--only about a third of students entering the program would graduate with an engineering degree. Not every school is run li…

How did you have time to get three minors? I got a 4 year business degree from a liberal arts college, and between the business school requirements, the major requirements, and the gen-ed requirements, I had maybe 2 open elective slots. And this was even with AP course waivers.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#96

1. Sweat the fundamentals. CS isn't a coding school. Algorithms, complexity theory, databases, operating systems, graph theory, compilers, math, etc. will get you further than any coding. 2. Go for depth, not breadth. I know most US colleges make students do all sort of breadth stuff, which I don't get (I come from European undergrad, all our classes were CS/EE - coming to US for grad school, I was more prepared than…

#5 big time. A lot of CS grads struggle their first year or so working. Try to code something everyday. Learn to use tools. Doesn't matter what you code or what tools you use really. The idea is to get comfortable with not knowing all the answers and then get fast at figuring things out. Most importantly, get enough sleep, exercise, and sun. Your mind needs to be sharp and that starts with maintaining your body. Good…

> Try to code something everyday. Learn to use tools.

fish45 made it clear they're already an experienced programmer, so I don't see that it makes sense to emphasise this.

They're more likely to struggle with theory than with their programming tools.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#98

1. Sweat the fundamentals. CS isn't a coding school. Algorithms, complexity theory, databases, operating systems, graph theory, compilers, math, etc. will get you further than any coding. 2. Go for depth, not breadth. I know most US colleges make students do all sort of breadth stuff, which I don't get (I come from European undergrad, all our classes were CS/EE - coming to US for grad school, I was more prepared than…

I disagree on breadth vs. depth. Breadth will give you the tools to succeed in a wide variety of areas and prepare you to delve deeper on your own. If you go deep into ML for example that doesn't prepare you to work on operating systems, but if you have a broad understanding of both then you'll have the tools you need to find new resources and read research papers in both areas. (For the record, my school has a huge emphasis on depth over breadth and I feel like I'm sacrificing parts of my education by not being able to study more areas of CS).

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#99

1. Don't assume your CS classes will always be easy. Having programmed a lot is a big advantage, but you're going to be learning a wide variety of things as a CS major that you may not have had to think about previously, and there is going to be a lot of it which isn't intuitive. Be prepared to study more than you have in the past and don't get cocky; sometimes it isn't until your junior or senior year that you get b…

I strongly second both of these points will provide some more color: > 1. Don't assume your CS classes will always be easy. Easy or quick . Some of my worst college experiences involved putting off CS work that, while still easy, had sneaky edge-cases that took many hours to cover. Don't be lazy with your CS projects and you will be in a comfortable place. > 2. Try to double major or minor in something completely unr…

> Easy or quick. Some of my worst college experiences involved putting off CS work that, while still easy, had sneaky edge-cases that took many hours to cover.

This still burns me at my actual job, more than a decade later. Stupid edge cases.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#100
CS is less about coding and more about thinking analytically about coding. I started coding at 11, but some of my college classes were still pretty difficult. I wouldn't assume your classes will be a cakewalk - definitely put the time into studying your material even if you think it's easy.

With respect to getting a job - I would think about programming as a tool. What industry do you want to use that tool on? I would think long and hard about that and consider double majoring/minoring in that new thing. Physics, math, business, whatever. Computer Science + some area of study where you can use CS for the betterment of an industry (outside of CS) will leave you in the best position to do well.

I would also suggest really focusing on Data Structures/Algorithms. Worst case, you'll be good at whiteboard interviews and can get a job at a FAANG company.

Network, hard. Your professors probably know lots of people, and your classmates (in your major) will go on to get jobs you might be interested in. Develop connections with the people around you, and become a person they want to work with in the future.

Above all, don't waste your college time. Actually give a shit about what you're learning. Try new things, make mistakes, have fun, but also work hard on your degree.

Post reply on HN