Hacker News new | ask | show | jobs
by deeebug 3536 days ago
This doesn't sound like a Computer Science course. Maybe for something like a Software Engineering degree, but not for CS.
4 comments

Agreed. The post is so devoid of any context about where this would fit in a program that it's hard to tell what the author was attempting to convey.

It's absolutely inappropriate as a starting point for either CS or SE.

Agreed. This raises even more questions: Do we need more computer scientists or software engineers? Why do so many universities offer computer science programs, if the job market is primarily asking for software engineers? Even worse, why do so many universities offer software engineering programs that call themselves “computer science” programs? Isn't that lying to students?
The job market seems to favor Computers Science degrees over Software Engineering degrees.

Although it favors job experience over both.

Why? Because of the word “scientist” in the degree's name? What exactly is the point to employing a scientist to perform non-scientific tasks?
My guess would be that a CS program would cover more fundamentals on which you can always build upon, but a Sw Engineering program might not focus on the basics as much. Of course there might be exceptions in either programs.
In a lot of schools, a CS degree can be a barrier. Many people change majors or wash out due to the rigor of a CS degree.
I think its because the job market favors CS degrees, so the best students go for the CS degree
I think because CS degrees tend to produce more competent programmers, for some reason.
Because CS endows a more fundamental understanding than SE. SE classes are often along the lines of "Here's how you do OOP in Java", whereas CS classes are more along the lines of "Here's how you formalize OO semantics and then implement the semantics at a low level." The latter approach is generally more effective, if more difficult.
Sometimes I'm not even sure if “software engineering” can be said to exist as a discipline. In every other branch of engineering (mechanical, chemical, etc.), practitioners actually understand the scientific foundations of their profession, even if they aren't research scientists themselves.
I would actually like to see a study on that. I'm not so sure its true, and it certainly has not been my experience. I do wonder if anyone is ever going to do a full study on the subject.

Weirdly, some of the best programmers I have met are people who go their degree in Music Theory. Odd and really not enough sample size.

> Weirdly, some of the best programmers I have met are people who go their degree in Music Theory. Odd and really not enough sample size.

This is a very common experience, and I think it's a form of selection bias. If you look around at the top people in the industry, most have studied CS or closely related, highly mathematical subjects (math, physics). But the reason why so many people see "great" programmers who have studied art, music, literature or any other field is, according to my hypothesis (which may well be wrong), because they don't work in an environment where the typical bright CS student goes to work. So if you're working in a small web-dev company, you're not getting the cream of the crop from MIT, Stanford, CMU and other top universities (or even the less well known ones) -- those guys (or gals) go to work for Google, Facebook, hot startups in the valley or stay in academia. Instead, you're getting the average or below average CS students, and the brightest people who studied irrelevant subjects, who would have a hard time getting into a company like Facebook.

Again, I may be wrong, we need a much more in-depth analysis to draw any form of conclusion. Still, I think this also highly depends on what you consider a "great programmer". Many people consider a programmer to be great if he writes very clean, logical and easy to understand code. Personally, I think this is way too low of a bar, and I think being called great requires a very in-depth understanding of a subfield of programming (be it graphics -- Abrash, scalability -- Dean, languages -- Stroustroup, Sutter, Alexandrescu etc.) Maybe not as good or well known a the people I mentioned, but I wouldn't call any random programmer from a random company writing CRUD apps great.

What metrics do you use to evaluate 'best programmers?'
Are SE degrees common the US? I've only seen a couple of colleges that offer them and they weren't very good colleges or quite obscure. If the top 50~ universities offered a SE degree that included say, half of a CS degree with the other half being project/internship/"real world" stuff, would the job market still prefer CS?
It seems to me that most job adverts require a technical degree or relevant experience. I feel that very few jobs would make a distinction between a SE or CS degree.
That's what you do in courses like "Introduction to Software Engineering" (first/second lecture), which usually are part of the first BSc CS semester.

I don't disagree though that the title is misleading and the content quite disappointing and it wouldn't make a semester-long course because that list is covered in 10 minutes and it's nowhere near academia.

I knew what to expect from the title. An actual computer scientist wouldn't be clueless enough to suggest (s)he can teach everything about computer science. Instead he would probably say how (s)he would teach something in his(er) narrow field of specialization - algorithms, databases, operating systems, compilers, whatever.
It's not even software engineering, it's just basic troubleshooting skills. You could teach automotive repair or plumbing the same way, probably. I'd like to see a course taught in that that doesn't necessarily focus on computers, because those skills are tremendously applicable in pretty much every field.