Hacker News new | ask | show | jobs
Open source in higher education - why not? (imperialwicket.com)
14 points by michaeltwofish 5696 days ago
1 comments

"How is it that a CS major pays tens of thousands of dollars for a degree, and has little to no concept of version control, project roles, design documentation, functional specs, or a bug tracker?"

Simple: this isn't what Computer Science is about! A fundamental misconception about computer science seems to be that is is software engineering. This couldn't be further from the truth. CS is about algorithms: their efficiency, their provable correctness, and their applicability to actual problems. None of that necessitates version control.

Dijkstra said, "Computer Science is no more about computers than astronomy is about telescopes." It seems to me that version control, bug trackers, and wikis are about software, not Computer Science. These things are important, to be sure, but they're not Computer Science.

You make a valid point, and I probably should have centered more around CS majors seeking software development positions. I have not investigated this, but I have to assume that a large percentage of CS majors end up working in software development at some point or other; thus it seems a slight modification to the CS major could prove fruitful.

This also touches on the ever-sensitive recruiter/hiring manager issues. So many recruiters seeking a software developer have a mandatory checkbox that indicates Computer Science degree; which (as you point out), just is not an appropriate fit; but why not?

Also, Dijkstra was a bright guy, but I don't think the distinction between Computer Science and computers is at stake here. There are plenty of skilled software engineers who couldn't replace RAM if their project depended on it. However, I don't think the jump from the theory and foundation of computer science to software development techniques is a large one. Wikipedia (citing numerous sources) calls Computer Science - the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. I think your CS distinction is the first clause - and I think it's important. Nonetheless, my point falls into the second clause, and learning the "practical techniques for their implementation" seems more economical for most individuals.

The system is a little bit flawed, because you can't survive with algorithms alone, sorry, that's just not happening, you can't win a job interview with a sorting algorithm.

The reality is that the industry needs developers that are good at one thing, they rarely need general algorithmic guys.

CS in it's current form is a major waste of time(says me who has a CS degree), it's basically: a little bit of this, a little bit of that, but let's avoid proper knowledge in any of them.

Education doesn't reflect the needs of the industry, the industry needs: server admins, front end developers, web developers, <insert your language here> developers. It's impossible to teach all these in an all in one CS solution. In my opinion CS should be broken up into professions.

What I just said, may not be the case everywhere in the world, it's certainly the case where I live.