Hacker News new | ask | show | jobs
by abstractbill 5433 days ago
I love SICP as much as the next person. I've spent vacations devouring it while despairing girlfriends try to get my attention. Seriously, it is awesome.

But, being realistic, an incredible amount of value is currently being created by software engineering. Value to society, and (hence) value to those who can practice the craft. I'm not surprised that so many schools are teaching software engineering, instead of computer science.

3 comments

But engineers of the physical world variety learn the fundamentals of physics while learning the pragmatics of building codes, loads, and laws. Shouldn't software engineering aspire to the same level of preparedness?
Nuclear Engineer here. I think you're looking at Physics I with rose-colored glasses.
If that's what a school wants to do, then it should just discontinue CS and rename it software engineering.

Actually, my old school had such a major...

It's not an either/or. Software Engineering is a part of Computer Science.
I dispute that. Mechanical engineering isn't physics and neither is electrical engineering. Chemical engineering isn't chemistry (it is, in fact, more thermo- and fluid-dynamics). So, in the same way, software engineering isn't computer science. At best, it has a relationship analogous to that between applied mathematics and pure math.
Unfortunately the trend seems to be the replacement of one with the other. What I am suggesting, one major for each, is exactly the opposite of either/or.
Part, but if they focus so completely on the subset, then is it really computer science anymore?
Note that this contention is over one course in the entire CS curriculum. I think there is quite a lot to be gained by continuing to teach SICP somewhere early on, even if the degree programs begin to take on a more earthy, practical approach to compsci. There is no reason "Dive Into Python" can't be taught in something like "Modern Software Engineering 101" and SICP taught in "Fundamental of Software Design" or something to that effect. I think there's place for both, and I fully agree with the author that SICP (or a modern equivalent, if one is ever published) is an important formative text in the mind of the novice programmer. SICP is usually one of the most serious interactions a working "software engineer" will have with functional programming until his beard grays a bit more and he takes a deeper interest in the craft over the day-to-day "engineering". A very valuable experience imo.