Live data from Hacker News

What every computer science major should know (2011)

matt.might.net

41–50 of 101 posts

Re: What every computer science major should know (2011)

#41
"Scala is a well-designed fusion of functional and object-oriented programming languages. Scala is what Java should have been."

The only thing I disagree with. Scala is the only language I know of that several startups have decided to give up on. How can you call C++ a necessary evil and recommend Scala, which is basically the JVMs C++?

Anyway, that list is pretty long - I don't think I know any CS major with that skillset. Or even half of it. You'll still be employable, don't worry - but its a good long term guide.

Re: What every computer science major should know (2011)

#42
Every time I read one of these "what computer science should be" posts, I keep coming back to the old quote, "computer science is no more about computers than astronomy is about telescopes". I feel there are many computer scientists that wish they had studied engineering instead, but assume the career is the one that needs change. This author IMHO tries to solve that by making sure that CS contains everything, which I think it's a bit too much.

I think I'd cut most of the more technical subjects (robotics, computer graphics, system administration), moving them to an elective basis. I have no issue with a Comp. Scientist that doesn't know Racket or Smalltalk, but if I don't see formal proofs there will be blood.

Re: What every computer science major should know (2011)

#43

Suggested revisions: - More on databases (including non-relational). We all need to know a lot of this for day-to-day work yet it but it barely made the list. - More on writing clean, readable code (this isn't on anyone's list, damn it!) How to name variables appropriately, how to comment, how to not write 150-character lines, etc. Fail them if they can't produce code that other students can quickly read. - Corporate…

Any book to recommend to learn Corporate survival skills, and writing clean code?

Re: What every computer science major should know (2011)

#44
post #30

I graduated 10 years ago and never used calculus, differential equations, linear algebra, or physics in my job. I'm not saying this to say they aren't useful. But does anyone find them generally useful for their job? If so, what for? I'd like to know what I'm missing here, if anything. I don't want to go through a refresher just to forget it in another couple of years.

Anyone who does low-level storage will probably end up touching some form of error correcting code, which has quite a bit of mathematical basis: http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_corr...

And anyone who deals with large distributed systems will inevitably deal with statistics with regard to failure rates and expected uptime, etc.

I can't say I've used calculus or differential equations, though. But linear algebra, statistics, and algebraic manipulation are quite useful.

Re: What every computer science major should know (2011)

#45

Every time I read one of these "what computer science should be" posts, I keep coming back to the old quote, "computer science is no more about computers than astronomy is about telescopes". I feel there are many computer scientists that wish they had studied engineering instead, but assume the career is the one that needs change. This author IMHO tries to solve that by making sure that CS contains everything , which…

the first & most important lesson my professor thought me before we start our programming class

'Programming is a self-thought discipline'

that guides me to this day...

Obviously I have apply it to broader IT segments, not just programming

Re: What every computer science major should know (2011)

#46

Suggested revisions: - More on databases (including non-relational). We all need to know a lot of this for day-to-day work yet it but it barely made the list. - More on writing clean, readable code (this isn't on anyone's list, damn it!) How to name variables appropriately, how to comment, how to not write 150-character lines, etc. Fail them if they can't produce code that other students can quickly read. - Corporate…

Any book to recommend to learn Corporate survival skills, and writing clean code?

For writing clean code, I highly recommend Uncle Bob's "Clean Code":

http://www.amazon.com/Clean-Code-Handbook-Software-Craftsman...

Re: What every computer science major should know (2011)

#47
post #30

I graduated 10 years ago and never used calculus, differential equations, linear algebra, or physics in my job. I'm not saying this to say they aren't useful. But does anyone find them generally useful for their job? If so, what for? I'd like to know what I'm missing here, if anything. I don't want to go through a refresher just to forget it in another couple of years.

My two latest research projects required all of those things. More specific, I tried (and failed) to model movement in an environment as a particle in an electric field. Defining this model required physics of a particle, and optimizing the parameters required differential equations. A sub-section of the project (not done by me) defined a grammar, which required some properties over a semi-ring, which I remember from…

That sounds interesting; can you provide a link to your homepage? Or describe the project in more detail?

Re: What every computer science major should know (2011)

#48
post #35

There is more harm in the notion that there is anything at all that absolutely everyone needs to know to succeed than there is benefit from the contents of such lists themselves (which boil down to "everyone needs to know what I know"). To succeed, all you really need to know is enough to be able to do meaningful contributions to society in any way whatsoever. This is all there is to it and there are thousands of ind…

Could not agree more, we really need to go away from the notion of doing 'IT' just for the sake of it, and use our computer knowledge to solve a problem (make sure the problem is real first).

Which is why most of the awesome programmers I've met, NOT a major in IT, self-thought and actually used the computer as a tool to solve a problem.

Re: What every computer science major should know (2011)

#50

"Scala is a well-designed fusion of functional and object-oriented programming languages. Scala is what Java should have been." The only thing I disagree with. Scala is the only language I know of that several startups have decided to give up on. How can you call C++ a necessary evil and recommend Scala, which is basically the JVMs C++? Anyway, that list is pretty long - I don't think I know any CS major with that sk…

> Scala is the only language I know of that several startups have decided to give up on.

Not sure this makes any sense. Companies changing stacks for whatever reason happens about hundred times every day on this planet.

Plus, I think the C++ comparison doesn't do you any favors...

Post reply on HN