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

31–40 of 278 posts

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

#31
My advice as someone who was in the same position and has just done a year in industry and about to go back and do my final year of CS (UK), is make sure you enjoy yourself and learn how to manage your time as this will help dramatically. Then during this time if you can learn parts of the syllabus, so it's not the first time you hear about it when going into a lecture. Find your niche what interests you, and gets you excited, talk to your lectures about that stuff, that can help later, especially if you get bored or want to go into research. Overall spend time doing side projects, enjoying learning, part taking in clubs and societies and if you find it easy find something to challenge you! If you want to ask me anything more about my experience so far, feel free to send a message (email in bio)

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

#32
post #22

Skill up in the humanities. Pick topics outside of technology that interest you, and learn how to communicate about them. Take as many seminar discussion and writing-heavy classes as you can. From a career perspective, programming skill is relatively easy to come by. Programming AND speaking AND good writing will put you on a better career path. You won't get stuck after a job or two when you know the tools of the tr…

On the flip side, if a degree program is at a liberal arts institution it may have plenty of humanities builtin and you may want to add a few extra CS courses to round things out.

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

#33
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…

This. After a couple years of serious effort on Codeforces, algorithms interviews are trivial. And perhaps more importantly, it becomes much easier to bang out a state machine, toss around some data structures, check for edge cases. You'll become really comfortable with that middle tier of software algorithms that are a non-trivial composition of standard ideas, but still fall short of needing a research paper, etc. (And you'll develop a sense for when a problem is actually-hard).

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

#34
Discrete math topics teach amazing way to think that most people never get to see in high school. Knowing stuff in free a book like [0] is immensely helpful. There are a ton of decent introductory discrete math books like the ones by Susanna Epp, Ed Scheinerman, Goranko bros and Gary Chartrand. Just google "list of discrete math book". What google spits out won't even scratch the surface of what's available out there. But modern CS folk will have to know much more than the basics of discrete math. For example, math analysis and probability theory are very helpful. This free book [1] gives a sampling of such topics. As preparation, one can start by looking at pre-real-analysis books like the ones by Lara Alcock and Jay Cummings, Linear Algebra by Kuldeep Singh and Probability Theory by Dimitri Bertsekas/Tsitsiklis. These books are very easy to read. There are also introductory books that give a bare-bones sampling of most undergrad math subjects from abstract algebra to topology like the ones by Gary Chartrand (separate from his discrete math book) and Steve Warner. Such books are designed to be as hand-holdy as possible. The more I type the more I realize there's more (much, much, much more) to say about the math side of things. Anyway, for another thing, google category theory just to be aware of it. There are a few undergrad/high school level books on the subject, but I am not sure how useful that is to a freshman.

[0] Book Of Proof by Richard Hammack

https://www.people.vcu.edu/~rhammack/BookOfProof/

[1]Foundations of Data Science by Avrim Blum, John Hopcroft, and Ravindran Kannan

https://www.cs.cornell.edu/jeh/book%20no%20so;utions%20March...

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

#35
I've written a lot about this. If you want a job, start applying early. But don't feel like you have to get one immediately. If you're sufficiently motivated, consider taking time off to work on your own projects.

1. Don't take all CS classes. Try other subjects and diversify your knowledge. 2. Get good at sending emails. It can help you get a job, get contacts or just gather information. 3. Even though you should take non-CS courses, that doesn't mean you should get a double major. It's not always worth it. 4. Make sure you like CS. Having experience is a good sign, but people can be advanced or good at a subject they don't like. Make sure you like it even when it gets tough.

[1]: https://blog.torchnyu.com/2020/03/04/take-fewer-cs-classes.h... [2]: https://blog.torchnyu.com/2019/12/19/sent-from-my-iphone.htm... [3]: https://blog.torchnyu.com/2020/05/15/the-case-against-double... [4]: https://blog.torchnyu.com/2020/05/14/do-you-like-it.html

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

#37
post #5

College is more than just learning a vocation. Another goal is evolving yourself into a well rounded human being. Each quarter / semester take one course outside your comfort zone. Public speaking, improv theater, drawing, photography, music, philosophy, film production, drama, writing. Join a non-tech club. Learn new stuff, and how to relate to non-nerds. Expand your abilities, world view, and persistence.

I think more people who be apt to do this if electives were pass/fail. There were tons of interesting classes available that I could have taken but chose not to because I had a decent GPA in major reqs.

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

#39
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 like this, but it's something to be aware of.

Don't immediately freak out if you get a 70% on your first Physics exam. A lot of science and math classes are graded on curves, and professors don't want to see too many (or any) perfect scores. I had one class where 25% was the lowest passing score on an exam.

Especially at research universities, professors are often more interested in research than teaching. Even when it's not obviously that bad, they're worse at teaching and care less than the average high school teacher.

Try to get out and have some fun.

Also do something that's somehow very different than programming. I majored in CS, but got three minors (two in liberal arts), and even found time to take a golf class and a scientific glassblowing class. But even intramural sports are good.

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

#40

You should know why you want a degree in CS. Because if it's solely to get a job in software development, know that it's one of the longest and most expensive ways to reach that goal, especially since you've been coding for such a long time. There are many other reasons one would want to go to college, and if they apply to you, feel free to disregard this comment. But to reiterate, if your only goal is to be a softwa…

Disagree. Skip a CS degree and be instantly skipped over for coveted jobs. Sure you’ll still get a job. Ask me how I know.

I think these are good times for this theory of not needing a CS degree to be tested. I am thinking of Google's recent rescinding of offers to thousands of contractors, or the latest from https://layoffs.fyi/tracker . Lots of companies have frozen hiring.

I know I would not want to be among the "I did some coding on my own, and a bootcamp for a few months" brigade. Also someone is of this age and is not thinking of it, but in some years time how will they feel in tough times when they have no degree and have a mortgage and kids, and the wife just told them another kid is on the way, and their current job is shaky or they just got laid off?

Of course you can always point to outliers like John Carmack and what have you.

I don't see how getting a CS degree is "the longest" way to reach that goal. You will have to learn most of this stuff any how (unless you never learn it and want to be doing low level low paying CRUD work in thirty years). The only difference is you get a degree when doing it, plus professors with office hours, peers studying the same thing you are etc. College is flexible - you can study for four years, or you can get a full-time job and take one class a semester at night or on weekends. The latter way is longer, but eventually you graduate.

As far as expenses - you can go to an expensive private school, or you can go to an affordable but decent state school. And if you want an impressive college name at some point but money is an issue at the moment - get a Bachelor's from a state school, then get an advanced degree at a fancy, expensive school at some future point.

Look at all the layoffs and rescinded offers and hiring freezes and ask if you would prefer not to have a degree now. If you send your resume in but you don't get a response from a high percentage of them - maybe it's because they got a lot of resumes, and only kept the ones of people who had degrees.

Post reply on HN