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

141–150 of 278 posts

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

#142

Do you know how to study? No, I mean really? Was high school easy? CS won't be. Your math classes will force you to think in a new way, unless you had a very proof-oriented math education, which is exceedingly rare in the US. A significant number of the smart kids that land in freshman engineering are smart enough that they never had to study in high school, and therefore never learned how to study hard things, on a…

I'm not sure whether my math at HS was good or during my higher edu it was shitty, but what do you actually mean by "think in a new way"?

I don't see big difference between e.g math analysis in college and advanced math in HS. Except ofc complexity of concepts and tricks used there.

Only graph theory looks relatively different to that.

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

#143
post #7

start doing competitive programming as early as you can , enroll in ICPC https://icpc.baylor.edu/ and join competitive programming weekly group at you school (or start one if you don't find any) this is a good book for preparation https://www.amazon.com/Competitive-Programming-3rd-Steven-Ha... participate in contests on https://onlinejudge.org/ , topcoder or similar on weekly basis (you will hear a lot about leetcode…

Yeah I've recently been trying leetcode and codeforces and I'm way worse at it than I'd expected. It's fun though, so I'm working hard to improve.

Thanks for your advice!

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

#144

Earlier quoted context omitted.

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…

I didn't recommend to "eschew love for fear of heartbreak" though. I was really trying to ease an FOMO he might feel if he doesn't fall in love in college (which is pretty common, too, especially among the nerdy set, or at least was when I went to college in the 90's).

I did not read your last paragraph that way. With this explanation I totally understand your advice now. I had friends who seemed dead set on finding a girlfriend as priority number one. I even had multiple friends express their jealousy to my face that I had found a person to love and they hadn't. I wanted to smack those friends and say "just live your life man! There's nothing stopping you from being happy except yourself."

The FOMO is real and I think your advice is great.

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

#145

Most CS programs skip the details of software engineering, such as Linux, command line, editors, IDEs. Maybe you can check out this course from MIT to get a head start: https://missing.csail.mit.edu

I've read through that course!

Luckily I accidentally installed Ubuntu when I was in 6th grade because I read it would give me higher fps in Minecraft and it had an exe installer so I didn't realize it was a whole OS. I've been Linux only since then and learned all the other stuff there as a result

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

#146
Most of early CS is struggling through math. Take the courses, but I would recommend you look into Khan Academy or some other mastery-based tutorials (mastery is when you acre able to answer enough questions with accurate answer, only then do you move onto the next section). If you assume that just because you got a C that you can forget a topic (especially the early concepts), you will get bitten later.

Make friends with other students in your department. Engineering students tend to forget that humans are valuable resources, just like computers are.

Lots of programming (not necessarily CS) is "learn by doing". You will need to spend time struggling with a compiler/interpreter -- you can't substitute this by reading a book. You are lucky that they are much more mature and at least a little more user-friendly than when I started. Finding enjoyable programming projects which are not too easy nor too difficult will help you hone your skills/craft.

I would highly recommend you ignore your "cowboy" instincts once you get decent at writing code and learn Test Driven Development (where you think about what your function/class should do early and write unit tests before you write any code). This will help you think more about how your code should be structured.

Learn to use your tools. In computer science, there is always someone with a better (eg. more optimized/ergonomic) tool set. Occasionally seek to break out of your comfort zone and seek to change your editor/IDE, your keyboard, your window manager, browser extensions, macros, etc. If you start and stick with a really basic setup for too long, more efficient programmers will get progressively more efficient and you won't increase your efficiency.

Not specific to CS: Lots of people are willing to help you for free -- you just have to be brave enough to ask. I'm not talking about doing your homework for you. I mean help as in mentor or lend you a couch to stay on or a few bucks if you are hungry. The older I get, the more I see people who are worthy of assistance be too prideful to ask for it.

Good luck!

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

#148
post #119
post #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 woul…

I haven't thought about trying to be a developer in a non-IT field; it seems like something I'd really like to do. 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!

The key to doing this is to look at the economics: is it possible for my customer to pay me what I want to be paid?

This even applies internally, if your customers are other parts of your company.

MaxCompensation = UnitValue * NumberOfUnits

In tech companies, NumberOfUnits is commonly one million+.

In non-tech companies... it's much less.

So either deliver more value (petrogeology simulations!) or work for a specialized company that services multiple clients (healthcare software!). Be aware the former can be morally onerous, and the latter craven to protect their (relatively few) key clients.

That said, if done right, I find it way more interesting. Solving problems in {x field} with software means you get to learn about {x field} and software!

Just be sure to self-motivate on keeping your skills up to date. It's easy to get complacent and rust, given there's not the same competitive tech pressure (for better and worse).

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

#150
the quality of job you receive is based on 3 categories:

1. being friendly / assuming good intent 2. raw experience coding 3. algorithms / CS

school generally takes care of 3 and a bit of 2. 1 is arguably the most important in transitioning from junior -> senior level and beyond

Post reply on HN