Live data from Hacker News

10000 things all CS students should do before graduating

tagide.com

81–90 of 164 posts

Re: 10000 things all CS students should do before graduating

#81
post #62

I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…

Concurrent programming (#3) is covered in most CS courses, as well as studying some theoretical areas (#4). Many universities seem to also include courses that include both writing some level stuff (#1) (like OS course) and writing at least a toy compiler for some given language (#2). The point of post is to give students tasks that are not required in their courses, but may give some knowledge/skills valuable in their future work. However, I think that your points are valid too - all of the things you mentioned are something worth spending a longer while when studying, not just being a homework assignment you forget about the day you submit it.

(Also, please don't use asterisks (* ) to indicate footnote or put a whitespace after each one. See http://news.ycombinator.com/formatdoc)

Re: 10000 things all CS students should do before graduating

#82
post #62

I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…

Stuff on the list gets you jobs. Your stuff doesn't.

I know people who do stuff on the parent's list won't find the number of job postings as plentiful as the ones who do the items in the link, but let's face it, those are hard to come by skills.

If a recent grad finds himself lacking in confidence with his or her abilities, then taking "baby" steps like those outlined in the link are perfectly fine. I know I could stand to try some of those myself. The hope though is that should a person have the drive, that they can eventually be able to do the computer science tasks.

Re: 10000 things all CS students should do before graduating

#83
post #62

I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…

Stuff on the list gets you jobs. Your stuff doesn't.

Umm... I don't think so. If you are thinking of CS as in Computer Science then that is CS and what the list mentions is what someone who wants to work in IT would need to know. Computer science is much more than just web technologies and many many people on HN will testify they got jobs because of knowing what this list mentions I am not denying that there are many others who would say they got jobs by knowing stuff on the list in the link, but hey its just plain wrong to say these things do not get you jobs. Many university professors have this as a minimal requirements for their job, thats one example.

Re: 10000 things all CS students should do before graduating

#84
post #62

I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…

Stuff on the list gets you jobs. Your stuff doesn't.

I would be wary of confusing the idea of pursuing an education with that of getting a job. There's a correlation between the two, for sure, but they're not the same thing. I think universities themselves have been pushing this correlation, but I don't think it's necessarily the right idea to push. raffi's point is a very good one. If you're a computer scientist, then study computer science. If you're a professional programmer, then practice programming that you'll need for your job. It's like comparing technical institutes with universities.

Re: 10000 things all CS students should do before graduating

#85
This is very web-based, which is good and I think it should be done by current CS students - it shows passion/motivation and actually getting real-world exp.

On the other hand, for a more CS-based list of tips, this is what Joel Spolsky has to say: http://www.joelonsoftware.com/articles/CollegeAdvice.html

Re: 10000 things all CS students should do before graduating

#86
post #68
post #6

Earlier quoted context omitted.

It isn't computer science per se, but it is a list of common tasks that many CS grads will end up doing in their career. However, I think it is basically a list of things for those who are going into web/software dev type positions. If I've just been hired to write Roomba firmware, some of that might not be quite as helpful. EDIT: Also, the list is numbered in binary

This is Hacker News, sir--how dare you suggest that coding positions exist which are not web development? :)

Haven't you heard? Mobile native applications are the new black. Great job security.

Re: 10000 things all CS students should do before graduating

#87
post #75

Earlier quoted context omitted.

Right, but if you had to configure LAMP, could you? What I said was, "every CS student SHOULD be able to configure LAMP." If you graduate with a degree and you can't configure the easiest web stack possible, then something went terribly wrong. edit sub LAMP with WISC# or whatever you want. The specific technologies aren't the point of the article. It's far more useful for him to say, "Do this in Python" for somebody…

> What I said was, "every CS student SHOULD be able to configure LAMP." If you graduate with a degree and you can't configure the easiest web stack possible, then something went terribly wrong. This is kind of meaningless. Every CS student should be able to do X, but that doesn't mean every CS student should actually do X. X here could be "set up LAMP", "implement a linked list in every language you know", "read Mozi…

Bingo.

I got a job where I learned pretty much everything I could about the LAMP stack within a couple of months. I purposefully ignored everything to do with web programming when I was in uni because I wasn't even the slightest bit interested.

A computer science student should be able to get up to speed fairly quickly on any computer science subject - they shouldn't be an expert on all computer science when they graduate (although they probably will have a specialization in which they're pretty good).

Re: 10000 things all CS students should do before graduating

#88

Earlier quoted context omitted.

Building your own computer or your own operating system very rarely help, in my opinion, because the real systems you work on are so much more complex than the pretend stuff you build that you miss massive layers of complexity. It's far better to have a good knowledge of how modern systems work than waste years attempting to build such a system. Similarly, I have no idea why you would build your own programming langu…

> Similarly, I have no idea why you would build your own programming language. So, I might be biased because I'm a wannabe languages geek, but I think studying PL really does give you a lot of insight. I think if more people tried to write their own language, there would be far fewer flame wars about inane things like syntax, and far fewer poorly argued debates about types. Plus, learning about parsing is definitely…

I'm doing research in PL, but as much as I like it I just don't think that designing your own PL is much of a benefit.

I think if more people tried to write their own language, there would be far fewer flame wars about inane things like syntax, and far fewer poorly argued debates about types.

I'd much rather people just leaf through some the PL research that already exists rather than try and invent their own. Most people don't even know what HM is.

Plus, learning about parsing is definitely practical and useful.

I completely disagree. Writing a parser is a character-building exercise. It ultimately wastes more time than its worth and you're better off using someone else's parsing system anyway.

Re: 10000 things all CS students should do before graduating

#89

Earlier quoted context omitted.

Right, but if you had to configure LAMP, could you? What I said was, "every CS student SHOULD be able to configure LAMP." If you graduate with a degree and you can't configure the easiest web stack possible, then something went terribly wrong. edit sub LAMP with WISC# or whatever you want. The specific technologies aren't the point of the article. It's far more useful for him to say, "Do this in Python" for somebody…

If you graduate with a degree and you can't configure the easiest web stack possible, then something went terribly wrong. I think you've confused your specialty with the whole of computer science here. I have no idea how to configure any sort of web stack, but I certainly think I got a good value out of my degree. I bet that many people who would have no idea how to go about writing device drivers if you gave them a…

Fair enough. I guess I've been living in web / cloud la-la land where that's 99% of what me and my peers do, I literally forgot there was non web-based CS work. My apologies.

Re: 10000 things all CS students should do before graduating

#90

Earlier quoted context omitted.

Building your own computer or your own operating system very rarely help, in my opinion, because the real systems you work on are so much more complex than the pretend stuff you build that you miss massive layers of complexity. It's far better to have a good knowledge of how modern systems work than waste years attempting to build such a system. Similarly, I have no idea why you would build your own programming langu…

But wasn't that how Linux came to be?

I'm not sure what you're saying, but regardless it's not useful to attempt to create another open source OS from scratch. Unless you're an expert you're probably not going to do a very good job anyway.
Post reply on HN