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. Bu…
Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
111–120 of 278 posts
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#112My advice might be controversial, but here are some thoughts I have... My big piece of advice: Major in something useful (CS, check!), minor in something fun. A lot of the computer science classes you take will be boring AF, or you'll start to bang your head against the desk wondering why you have to know how operating systems work when you just want to make iOS apps (or vice versa!). Some of the classes will be deep…
I read through this waiting to get to the controversial part and never found it. This is good advice not only for CS but for any rigorous degree. One of my favorite classes in undergrad was Ultimate Frisbee because it ensured I got some aerobic exercise each week and I got to experience playing UF with some really good people. There are lots of other critical points casually shoved in here that could probably be expa…
Except for a handful of classes it was mostly just letting us lift weights for an hour, but the instructor helped improve my form and I learned how to prepare my own weight training program. A good amount of it has stuck with me 10 years later, although I'm out of the habit of doing it regularly now (kinda hard to get back into it now because of the pandemic, too, except a couple of kettlebells I own).
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#113Make sure you get out often, have fun every week, meet people. I wish I'd have come out of college with a group of close friends and more people to talk to about jobs. Also, go to the career fair every year and attend other employment events. Having interview experience and a couple internships under your belt will help a lot after graduation.
Consider being a TA, it's a good way to learn/demonstrate interpersonal and teaching skills.
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#114You’ll notice that most people here are telling you to do some specific set of actions but few of them overlap significantly. That’s because there aren’t “right” things for you to do. They’re just pushing their biases on you.
I’d argue that you just take it easy and do whatever makes you happy. You can definitely still be successful that way.
I just finished my CS degree from a no-name state school with a below 3.0 gpa. But I still found a job making six figures (really good pay for my area) before I graduated. I attribute most of my success to the various pieces of software I wrote for fun. Just little things on my GitHub that helped me land a couple of internships.
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#115This is more of an aside, but since you've been coding for some time, please understand that concepts you already know need to be taught to those that do not. Concepts like a nested loop are often one of the hardest initial hurdles for many students. Your first CS courses will spend a lot of time on these types of concepts. Please be patient and not become annoyed with how "slow" the class is going. Students that str…
In my CS101 class students were penalized for skipping ahead. Remember that the instructor has put thought into how to sequence the course material. Follow the instructions for assignments. Focus on demonstrating what has been taught in lectures & do things by hand the long way before jumping ahead to use an advanced technique that saves time.
If you get done with an assignment early, consider putting time into formatting your output or improving the user experience (just as worth while for programs that run in a text-only terminal).
Go to office hours and get to know the professor. If you do well in the course, the professor may offer opportunities to get involved with research or even get paid to help with the course in a future semester.
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#116Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#1171. 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…
It helps to already be a competent programmer, but fish45 comes across as overconfident in saying I'm not worried about struggling academically. A computer science degree covers plenty of topics they're unlikely to have ever dealt with, and one shouldn't count on easily breezing through all of them. Topics like complexity theory, compiler theory, formal methods, computer architecture, and AI.
I'd done some programming before my undergraduate studies, but I'd never heard of proof by induction, and I didn't know what a 'set' was. I had plenty to learn, right from day 1.
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#118Contrarily to w/e narrative people will tell you:
1. Most college junior/seniors look similar on paper. Especially after they do some GPA cutoff.
2. The recruiting process is a lot more about "fit" than you realize. The amount of "are you my kind" that goes on is more prevalent than you'd think. They can't admit to this of course. So a senior who vouch for you will go very far.
General advice: open your blinders and really get to know your classmates and professors. If you go to a to research school, your professors will often publish/collaborate w/ people on the R&D side of Google, Microsoft, etc. These jobs can be very differentiated, but the pipeline into these roles go through these professors. They do not go through your university cattle call machine.
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#119CS 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 woul…
I spend most of my time coding on side projects, so as it turns out I'm not great at algorithms. Recently I've learned that I can only really do easy problems on Leetcode/codeforces etc, and I've been trying to improve.
Thanks for the advice!
Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
#120CS 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 woul…
Since when is this the worst case scenario for a CS grad? Last I checked, FAANGs value and compensate their engineers more than basically every other industry.
I double majored in economics and comp sci, then got a masters in cs/ml. I didn't plan on going to a FAANG until I realized a few things:
1. Staying in academia was clearly not an option for me. I still have friends who are miserable trying to get through their postdocs and I can't deal with the hobnobbery that some departments exhibit, the political infighting etc. I felt like if I got into the wrong program for a PhD I'd miss out on 5-8 years of my 20s and early 30s.
2. Did the startup thing. Found that most smaller startups are 90% talk and marketing and nothing really groundbreaking happens there. There are a few exceptions to that and if you're lucky enough to find one of those companies, good for you.
3. Other industries that don't focus on software often don't value SWEs the same way. It wasn't until a few years ago that the IT guy who maintained everyones desktops at a small financial firm and the person who wrote the internal software were the same individual. There is nothing wrong with those roles, but if you have the skills most CS grads acquire, you can specialize much more if you find a more software focused role
4. Starting my own thing isn't an option for me personally. I started some companies very early on when in doing my first degree (2009-11) and they failed, great experiences, don't need them again. If this is for you, then good, go for it.
5. FAANGs and other large software corps give you the structure to focus on work, like a laser, and then turn off and still maintain a healthy work/life balance. There are still politics and other bullshit to deal with, but your chances of finding a good team that minimize bullshit are high, in my experience. This doesn't happen at most startups where you have to play many roles. At a FAANG if you are really into a project, you're free to dive into it 24/7. If you're at a different phase in your life, say you just had your first child, you can take a step back and slow down for a bit. Nobody is going to ask "why haven't you pushed 50 diffs this week?" And obviously there is the pay.