Live data from Hacker News

10000 things all CS students should do before graduating

tagide.com

31–40 of 164 posts

Re: 10000 things all CS students should do before graduating

#31
post #3

How is any of that computer science ? I mean, is there a list out there for astronomy students that includes, grind your own lenses?

This article has got me really conflicted. On one hand, I am a CS graduate, but on the other hand, I work in theory, and I would always point out to people that computer science and computer engineering are two completely different things. Unfortunately the two are often conflated in almsot all CS curricula. Maybe there ought to be two different majors, one that focuses on building systems and implementing algorithms (as suggested) and the second that focuses on the basic stuff, designing algorithms, working on math applied to computer science (crypto, AI, etc.)

Re: 10000 things all CS students should do before graduating

#32
post #3

How is any of that computer science ? I mean, is there a list out there for astronomy students that includes, grind your own lenses?

Its not, and that's the point. I've seen computer science students struggle at basic system administration tasks - even things like moving files and directories. I maintain that half the trouble we have deployment is that developers don't know anything about how configuration and setup works in the real world. This list helps to bridge some of that divide by having programmers deploy software, not just build it. EDIT…

I agree, and count me as one of those who needs to learn sys admin tasks (though I can move files and directories around :) ). I developed a side project last year and used Google App Engine precisely because I've never setup my own web server. In the short-term I think it was the right decision as I had a tight deadline to get the app running. In the long-term I'm not so sure since I'm now locked into GAE.

So 0001 is definitely on my someday TODO list.

Re: 10000 things all CS students should do before graduating

#34

Earlier quoted context omitted.

I assume he means putting together a computer in the sense of constructing one from commodity parts, in which case that one is definitely in line with the rest of the list. The other two are certainly more advanced exercises than the rest, but I think they are absolutely things CS students should be expected to be able to do, though many won't be willing to. Many won't be willing to do the other things on the list ei…

Oh. I read it as, "design and construct your own circuit board." Building your own computer isn't that hard, but I don't know what (if anything) it has to do with computer science / software engineering.

You would be surprised how many CS students don't even know what parts are in the computer. Picking parts yourself forces you to research exactly what each part does.

Though I think that is a much lower bar than pretty much anything that is on the list there, any nontechnical person could figure out what parts to buy and put it together but it would be a lot harder for those people to write a MapReduce.

Re: 10000 things all CS students should do before graduating

#35

I think a lot of people here missed the point. This isn't a list of "stuff that will make you SUPER BALLER," it's a list of easy things that teach you very much and give you a lot of confidence for a very small amount of effort. Plus, all of these tasks are highly relevant in our web database-driven world. Not everyone wants to be Johnny Writes His Own C Compiler Geek, but every CS student SHOULD be able to configure…

I'm surprised that most people seem to have ignored this line:

> it’s about doing, as opposed to knowing or learning

After graduating, I had to teach myself everything in that list before I could actually do anything that I found interesting. Now, this obviously doesn't apply if you're, as you say, writing a compiler, but for the average CS student, this is a great list to complete.

Re: 10000 things all CS students should do before graduating

#36

up to 0100 and haven't been accepted to a CS program... (havent applied yet either)

Actually that's not a bad comment about how an actual College CS program may not have anything to do with the real world. I run my own servers, I code my sites from scratch in HTML, JavaScript, PHP, SQL etc.. build all my computers.. made several open source contribution coding in C.. I can do everything in that list and much more..

Yet when I applied to a local University in a CS program a couple years ago I was denied. Why? High School Math grades not quite high enough.

Re: 10000 things all CS students should do before graduating

#37
post #31
post #3

How is any of that computer science ? I mean, is there a list out there for astronomy students that includes, grind your own lenses?

This article has got me really conflicted. On one hand, I am a CS graduate, but on the other hand, I work in theory, and I would always point out to people that computer science and computer engineering are two completely different things. Unfortunately the two are often conflated in almsot all CS curricula. Maybe there ought to be two different majors, one that focuses on building systems and implementing algorithms…

Yeah in my experience (both personal and from interviewing people), you end up getting a poor introduction to both (at least at the undergraduate level) since in many universities the major can't decide which it wants to be. You have cases where people know of NP (but have never done a reduction), and simultaneously know of version control (but have never actually used svn or git). This is really unfortunate because I feel similar majors (like math and EE) probably prepare you better for these fields (math perhaps being a better precursor to real CS and EE giving you great fundamentals for programming/comp engineering). It seems more and more like there needs to be a clearer separation, something like how econ or finance is separate from math, where math majors don't really have to learn excel or financial formulas, and econ/finance majors don't have to learn linear algebra, and both can go pretty deeply into the things they actually care about.

The counter argument to this is that we often see computer engineers that lack a basic grasp of the importance of algorithmic complexity and theoretical folks who write terrible code. You have only to read some discussions on "JS performance" to see the ridiculous attention paid to making sure variables are local, when in almost all cases user programs are actually being slowed down by O(n^2) algorithms being used. Similarly, a lot of theoretical work takes a long time to make it into the "real world" because they are inaccessible to engineers (being written completely "in math"), and often when they do provide actual sample code for their work its written in a very sloppy way (from a "code organization" standpoint). It really would be ideal if you could have a major that covered both of these really well (and I'm sure there exist some that do, I obviously have not gone through every CS/CECS/EECS major in every university).

Re: 10000 things all CS students should do before graduating

#38
post #3

How is any of that computer science ? I mean, is there a list out there for astronomy students that includes, grind your own lenses?

Its not, and that's the point. I've seen computer science students struggle at basic system administration tasks - even things like moving files and directories. I maintain that half the trouble we have deployment is that developers don't know anything about how configuration and setup works in the real world. This list helps to bridge some of that divide by having programmers deploy software, not just build it. EDIT…

While I'm surprised someone got through four years of CS without learning to use mv, if you are looking for 'developers' then you should look for software engineering majors, and if you are looking for sysadmins then you should look at people with two year associates degrees in information systems or something. CS is a branch of mathematics; expecting fresh CS grads to make good sysadmins is like expecting comparative literature majors to win spelling bees. They might do better than average but it's not really what they're educated in.

Re: 10000 things all CS students should do before graduating

#39
post #31
post #3

How is any of that computer science ? I mean, is there a list out there for astronomy students that includes, grind your own lenses?

This article has got me really conflicted. On one hand, I am a CS graduate, but on the other hand, I work in theory, and I would always point out to people that computer science and computer engineering are two completely different things. Unfortunately the two are often conflated in almsot all CS curricula. Maybe there ought to be two different majors, one that focuses on building systems and implementing algorithms…

At University of Waterloo we make that distinction by having a Software Engineering program that's part of both the Math department (the department CS belongs to) and the Engineering department.

We also have Computer Engineering, which is a middle ground between Electrical Engineering and SoftEng. :)

Post reply on HN