10000 things all CS students should do before graduating
51–60 of 164 posts
Re: 10000 things all CS students should do before graduating
#52Earlier quoted context omitted.
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 comparativ…
In the meantime, a good CS program is a perfectly reasonable foundation for a career in systems and networks. I ran through the gamut of logic, basic logic circuits, assembly, algorithms, data structures, complexity and then features of various languages, operating system structures, and finally graphs, automata, networks and projects in all of the above. All of that is a solid base. As with anything else worth doing, you then need to build on that base with the tools of the day.
I suspect the overall high failure rate of IT projects is attributable to "people with two year associates degrees in information systems or something". I'd rather hire an autodidact with a degree in math, physics or engineering.
Re: 10000 things all CS students should do before graduating
#53Earlier quoted context omitted.
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 comparativ…
Google expects its software engineers to do all that and more with a computer science degree. So what if it's not taught in the major? You're smart -- figure it out.
Re: 10000 things all CS students should do before graduating
#54Earlier quoted context omitted.
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 comparativ…
We don't have good programs in systems administration and network engineering, but we should. (Any major university starting one?) In the meantime, a good CS program is a perfectly reasonable foundation for a career in systems and networks. I ran through the gamut of logic, basic logic circuits, assembly, algorithms, data structures, complexity and then features of various languages, operating system structures, and…
Re: 10000 things all CS students should do before graduating
#55Binary... not a literal 10,000 item list, a mere 16 items in base-10.
Re: 10000 things all CS students should do before graduating
#56Earlier quoted context omitted.
That's the point. There's a general disconnect in a good amount of CS programs between the curriculum and reality. This post is trying to bridge the two. I'd also like to add: 10000 Learn to use source control, use it to store your new LAMP code on Github. 10001 Start studying design: web, graphic, type.
Whats a good place to start studying for 10001? Say for someone engineering minded.
— The Visual Display of Quantitative Information by E. R. Tufte;
— The Elements of Typographic Design by R. Bringhurst;
— The Design of Everyday Things by D. Norman;
— Don't Make Me Think! by S. Krug.
Beware of Tufte. Using charts to abduct engineers into the world of design is just dirty.
Re: 10000 things all CS students should do before graduating
#57It's an interesting list, but I do believe it lacks a lot of computer-specific things which I personally think people should do. For example - Build your own computer - Build your own (small) operative system - Build your own programming language would be on my list of things a CS-student should do before graduating, because you will most likely get into problems where knowledge of the three things mentioned above wi…
Programmers not at least familiar with low-level concepts are not grounded in reality. Their solutions to problems and code may be of worse quality than those of more well-rounded programmers.
I probably sound like quite a snob, but I'm the kind of guy who reads Understanding the Linux Kernel before bed and reverses parts of the stage 2 iPhone bootloader for fun, so put what I say into perspective.
Re: 10000 things all CS students should do before graduating
#58Re: 10000 things all CS students should do before graduating
#59I 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…
This is a list of hard things to do from a beginner, freshman, perspective. But they are also highly necessary if you want to work on fun stuff later on.
A sysadmin who doesn't understand pools of threads will go nowhere, same goes for a developpers who doesn't know what database replication implies.
Re: 10000 things all CS students should do before graduating
#60Earlier quoted context omitted.
That's the point. There's a general disconnect in a good amount of CS programs between the curriculum and reality. This post is trying to bridge the two. I'd also like to add: 10000 Learn to use source control, use it to store your new LAMP code on Github. 10001 Start studying design: web, graphic, type.
I am wary of that sort of very specific advice. Why LAMP, just because it's fashionable? There are many, many other sorts of web stack alone, let alone the many, many other sorts of application. Same with GitHub (which I use myself, btw), there are plenty of others. It just sounds like ESR's advice, to be a great hacker you should be just like me...
I think it's better presented as a heuristic instead of an imperative (as it is here), though: "Use X until you can articulate a reason not to."