Live data from Hacker News

Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

codemanship.co.uk

121–130 of 205 posts

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#121

Earlier quoted context omitted.

Starting with your ad hominem, I think you took exactly the wrong things away from this article. Regardless of his writing style, his points are dead-on: 1. Computer science doesn't teach programming (with the corollary that computer scientists specifically don't want to teach programming). 2. Most people going into computer science want to learn programming. 3. Many people get fed up with the rigors of computer scie…

At the university that i attend (University of Waterloo, Canada), we actually do have a Software Engineering program which is part of the Engineering department, and a Computer Science curriculum which is part of the Mathematics department. The SoftEng degree owners can even qualify to become professional engineers. I'm also 99% sure that the two degrees are also common at quite a number, if not the majority of big t…

The same here in Argentina. You have may have a Computer Science which belongs to the "Exact Science" department (along with Maths, Physics, Chemistry, Geology, etc...) and then, you have a Software Engineering curriculum in the Eng department, (along with Electrical, Mechanical, Nautical, etc)...

Back in the day I choose Software Engineering because the other (CS) seemed extremely theoretical to me. But I think that having that "blur line" of yours (ref to SoftwareMaven), let's you mix both worlds a little more, so I would prefer that. But maybe it's just because we always want what we don't have ;)

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#122
The rift between CS and SE is unfortunate. To use Greek terms for different kinds of knowledge, computer science is logos (reasoning from first principles). Software engineering is metis (practical, local knowledge). They complement each other.

I suspect that the only reason there is such a rift in the first place is because the sources of funding for people employed in CS and SE are different. CS is funded via (predominantly) government grants. SE, clearly, is typically funded privately.

Like China commenting on diplomatic rows between North and South Korea, I'll say: both sides need to learn how to work with each other.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#123
Basically, we should only learn the 'real' programming skills and forget that the whole state of computing technology rests on the shoulder of giants who created these algorithms and did all this research for 'real programmers'. Oh, we certainly don't need CS, because it gets in the way of writing code.

Seriously, I understand what the author is trying to convey, but IMHO he goes too far on the bias against CS. It is a serious handicap to program anything worthwhile and using APIs and frameworks without understanding (at least to some degree) what they do ... my .2 cents

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#124
Basically, we should only learn the 'real' programming skills and forget that the whole state of computing technology rests on the shoulder of giants who created these algorithms and did all this research for 'real programmers'. Oh, we certainly don't need CS, because it gets in the way of writing code.

Seriously, I understand what the author is trying to convey, but IMHO he goes too far on the bias against CS. It is a serious handicap to program anything worthwhile and using APIs and frameworks without understanding (at least to some degree) what they do ... my .2 cents

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#125

Earlier quoted context omitted.

Starting with your ad hominem, I think you took exactly the wrong things away from this article. Regardless of his writing style, his points are dead-on: 1. Computer science doesn't teach programming (with the corollary that computer scientists specifically don't want to teach programming). 2. Most people going into computer science want to learn programming. 3. Many people get fed up with the rigors of computer scie…

I agree with the sentiment that software engineering isn't computer science, but I disagree with the sentiment that software engineering is a discipline worthy of note on the same scale that we afford to, say, electrical engineering, civil engineering, or mechanical engineering. To date, software engineering is still largely a collection of (fairly subjective and contextually-sensitive) best practices. Software Engin…

> software engineering is still largely a collection of (fairly subjective and contextually-sensitive) best practices.

I agree

I'm glad I did computer science. Even though my title now is Software Engineer, I learned most software engineering best practices on the job. What's very difficult to learn on the job is computational complexity theory, advanced data structures and algorithms, or simply a solid background in discrete math. Basically, you probably won't find yourself contributing hard, cognitively challenging problems in computation with a "software engineering" degree. In hindsight, if I had done some kind of "software engineering" program, I really would have sold myself short.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#126
I interview a lot of people who want programming jobs.

What I find is: almost nobody can program, and almost nobody knows basic CS 101 data structures.

It does not matter if you are a self-taught programmer with ten years of experience in the best companies, odds are that you cannot solve a trivial coding exercise.

It does not matter if you have a masters degree in Computer Science, odds are that you cannot successfully build a tree structure.

I have no idea how these people keep their jobs or how they graduated, but this is the norm. People who can do CS at all, and people who can code at all, are both rare. Or at least, are rare in the pool of people applying for work.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#127
post #98

Earlier quoted context omitted.

It would be like saying an Art History major could "easily" learn to paint. The skills just aren't transferable.

> The skills just aren't transferable. Not all comparison are good. I agree that playing music requires skills that you probably don't have if you only studied art history, but this is absolutely not true when it comes to CS and SE. CS and SE both have to do with abstraction, languages, logic, models ...

The skills of "programming in the large" are hard-won through experience. There is no good "theory" that will help you structure a large program (despite many languages from academia making the claim of good structure). That's just one example.

In my experience, it's easier to teach a programmer CS theory than the other way round. At least the programmer knows what he doesn't know.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#128

Earlier quoted context omitted.

I agree with the sentiment that software engineering isn't computer science, but I disagree with the sentiment that software engineering is a discipline worthy of note on the same scale that we afford to, say, electrical engineering, civil engineering, or mechanical engineering. To date, software engineering is still largely a collection of (fairly subjective and contextually-sensitive) best practices. Software Engin…

2 years after I graduated with a BS in Computer Science from the LAS College the Engineering College introduced the Software Engineering program. It was a joint effort between the ComS & CompE departments. Becoming increasingly common.

My institution has introduced similar programs. I question their utility in the face of the cost of college and the shelf-life of what you can learn in a 4-year classroom setting (not to mention general ed requirements).

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#129

Earlier quoted context omitted.

At the university that i attend (University of Waterloo, Canada), we actually do have a Software Engineering program which is part of the Engineering department, and a Computer Science curriculum which is part of the Mathematics department. The SoftEng degree owners can even qualify to become professional engineers. I'm also 99% sure that the two degrees are also common at quite a number, if not the majority of big t…

The same here in Argentina. You have may have a Computer Science which belongs to the "Exact Science" department (along with Maths, Physics, Chemistry, Geology, etc...) and then, you have a Software Engineering curriculum in the Eng department, (along with Electrical, Mechanical, Nautical, etc)... Back in the day I choose Software Engineering because the other (CS) seemed extremely theoretical to me. But I think that…

Yeah, in terms of curriculum differences, CS is definitely a lot more theoretical, with heavier math and pure CS courses, while SE has project management components, more programming, some computer science, some Computer Engineering courses and even some Electrical Courses.

In Waterloo's case, the whole "knowing CS, but not how to program" falls flat, since we have an amazing co-op program where you can easily 2 year-ish of experience at different companies by the time you graduate, so most CS students that come out, do come out of the CS with Co-op, and as a result are great programmers.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#130
post #63

Earlier quoted context omitted.

You can have an intuitive sense of how many operations you're performing without knowing big-O notation.

Of course, but part of the benefit from studying CS is that you'll be able to recognize intuitively when there is or there should be a better solution. Let's say you want a data structure that performs three operations. Insert, Delete, and Find (as in, 'is this in the database?'). The intuitive sense may come from saying, "Linked-Lists would be horrible for this! Each operation would be slow." (O(n)) The practiced pr…

I got into trouble once at an interview, when I answered a question about joining two data sets by writing a SQL join. The interviewer didn't know how to think of the performance of SQL - he was assuming I'd write something iterative so we could talk Big-O. Which is to say - a lot of tools used in the real world don't easily submit to Big-O, and some academic types resist learning them for that reason.
Post reply on HN