Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>Maybe they just don't teach that in computer science classes, but they should.

Should they? This seems like a classic conflation of computer science with programming. Perhaps the reason this important craft skill is not taught in CS is because it has nothing to do with complexity classes, automata theory, etc.

Programming != CS



It may be the case that programming is applied CS, and that a CS grad might therefore not actually be a decent programmer. However, employers are considering a CS degree as proof of competency in programming. So, if CS classes don't teach programming, then they're failing to provide what the expectation is that people have of that degree.


And they're also failing to educate their CS grads as well as they should. I think every CS grad should have a firm grasp of programming, and I'd consider a CS grad who doesn't know how to program to have a gaping hole in their education.

This notion of considering programming a "craft" that's below you gets at the attitude problem I think a lot of people (not just pure theoretical computer science graduate students) have towards reading other people's code.


Just to be clear. I don't consider it a craft that's below me, I'm a working progammer. I don't consider the use of the word craft to be in any way derogatory either. Quite the opposite. I have a knowledge base from CS and a knowledge base of craft skills that is derived from the practical professional application of the former. I consider these to be separate domains. The latter is not in any way a prerequisite for the former. The obverse may not be true. YMMV.


Given that all the things you list that are important parts of a Computer Science course are tools to create better software, why do you consider the ability to analyse and understand code as seperate from CompSci?

When you are working out the complexity of a program, you need to be able to read and understand it. It seems to me that if tiu are taught the fundamentals of CompSci, reading code and understanding good coding practices naturally are part of the subject matter you should be taught!


The academy should not exist to serve short term corporate interests (I.e. outsourcing employee training). Also university students who want to work in corporations should intern, or if for some reason you can't get an internship, volunteer to build real world apps. I've trained several new grads, who have trouble with implementing even the most basic tasks. This is a failing of the students and the places that hire them, not the schools. It would be like blaming schools for under-employeed English grads.


How do the schools advertise the CS degree? Do they advertise it as a purely academic pursuit with little practical benefit, or do they promote it as the start of a career? If the latter, it is very much the schools who are to blame if they fail to teach the things needed to have that career.


They aren't the same, but they aren't mutually exclusive either.

I think all computer scientists should learn to program, and learning to program requires getting over your distaste of reading other people's code.

I doubt a pure academic "computer scientist" who doesn't like to get their hands dirty reading or writing code because they look down on it as a "craft" is going to be of much use on the types of projects we're discussing that require rewriting or refactoring existing code.


TIL some people have seriously negative connotations of the word 'craft', which appears to have made it a poor word choice, please see my explanatory comment above. I'd be interested to hear if there's some context I'm missing. Both responses that express negative interpretations of the word have mentioned computer scientists' attitudes, but I don't hang out with any IRL. Have I missed out on some historic flame war?


No, you just missed out on some bad professors. ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: