Skip to content

Comment on Stroustrup: What Should We Teach New Software Developers?parent

Comments

The purists complaining that CS isn't about programming are correct but misguided: the vast majority of CS majors don't _want_ to study "real," abstract CS.

IMO the right thing is to offer degrees in Software Development, which would include some classic CS curriculum but by no means all, and we could have discussions about the right way to teach programming without people getting bent out of shape that Programming Is Not CS.

But CS is about programming. However, in order to really understand programming (that is, making computers do things), it's important to understand "algorithms, data structures, machine architecture, programming (principled), some math (primarily to teach proof-based and quantitative reasoning), and systems (such as operating systems and databases)". Similarly, a real artist needs to know the different constructions of canvas, consistency and production of paint, brushes, etc., in order to use his tools and medium to the fullest extent.

I'm a CS major, and while I admittedly wasn't fully aware of what "computer science" entailed, I knew enough to know I wanted to study it. And I don't regret it.

Yeah, same here, except I graduated in 2004. I took CS from an engineering school, so I had a little less theoretical background (that was replaced with EE / CompE basics). But I agree -- I had exposure to big-O in h.s., but didn't realize that CS would involve so little programming (I probably wrote under 2k lines of code in 4 years, to be honest... but I was a slacker too ;) ).

IMO, if one is to choose between theoretical background and EE/CompE, the latter is significantly more valuable. Of course, both are important.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.