Monday, November 29, 2010

What to Do About Struggling Computer Science Programs

Pretty draconian statement from Ben Morris
Eliminate the Computer Science major: I believe we should do away with Computer Science as a field of undergraduate study

until you read the rest of the thought - at least, the way it's implemented right now.

Morris considers other majors Geology, Biology, Art and the subsequent careers geologist, biologist, artist and wonders why there's a disconnect between the Computer Science major and a programming career.

Morris sees computer science as theoretical and involving

complex math and theory that is useful and interesting and takes a sharp mind to fully comprehend;

Unfortunately,

most undergrads don't care and increasingly are not being exposed to it. Instead, popular languages are being taught in undergraduate courses, with the intention of preparing students for future work (see Joel Spolsky's The Perils of JavaSchools for another take on this phenomenon.)

Morris doesn't think students in these programs are learning programming, instead,

Students with a passion for programming study it in their free time, work on their own projects, and do most of their learning outside of the classroom. Fresh graduates with a BS in Computer Science and no real experience programming just don't have the skills they need to do anything but grunt work.

Morris assesses the state of computer science programs and proposes his own remedy:

Solutions thus far have been to dumb down the CS degree by using higher level ("easier") programming languages and teaching less theory and advanced math. I think that aiming to dumb down the curriculum in order to prepare students for a corporate programming career is killing off the pool of intelligent academic computer scientists. The solution? Accept that there's a difference and offer two distinct majors: Computer Science and Programming [He later amends the post to note that Software Engineering is a better term than Programming].

According to Morris, "programming students would learn the basics they need to succeed in the corporate world," "while smart CS students wouldn't be hampered by the dumbing down of their programs of study." There would be negative consequences as well, including "a huge shift of students from CS to Programming," smaller Computer Science departments, and potentially the closing of "some CS departments."

No comments:

LinkWithin

Related Posts Plugin for WordPress, Blogger...