Why is Intro CS Dull and Intro Chem Fun?

Mark Guzial of Georgia Tech has an (yet another) excellent post exploring teaching and CS:

Read Mark’s Post (Excerpted below)

A couple of weeks ago, Barb and I were awarded Georgia Tech’s Service Award for our work with Georgia Computes!. At the same awards ceremony, across the table, was David Collard of Chemistry who was getting the Professional education award. He’s been part of an effort (described below) called cCWCS which teaches chemistry faculty how to teach better — and the program has taught over a thousand faculty!

A thousand faculty?!? I’ve blogged about how hard it is to get CS faculty to come to our workshops, either Media Computation or Georgia Computes. I’ve talked to other folks who offer workshops to CS faculty, and they say that they have to invite high school teachers, too, or they won’t have enough people to run the workshop. Why do so many Chemistry professors show up, when we struggle to get CS professors to show up at teaching workshops?

My Response:

I think that the reason is that in Chemistry they accept the fact that students in college are typically forced to take intro Chemistry classes and they have accepted the fact that if they try to entertain the students a bit, they will impart more knowledge than if they spend all their time in dry formulae. So the field as a whole accepts the fact that some attempt at making the course pleasant is worthwhile. In CS, that first class is seen as starting to build the mental toughness that is needed to succeed in a four-year degree – so in CS, the norm is that the class is not supposed to be fun or enjoyable – but instead the class is about tail recursion to compute factorials, abstraction, counting parenthesis and other uninteresting things.

CS needs to start thinking about how they might teach that first computing course to *non-CS-majors* and how they might make such a class interesting and engaging and worthwhile to those students rather than it being a ‘boot camp’ to see who is tough enough to make it in a CS BS.

I am not against tough and challenging classes in CS – all fields have these and to master a field, you need to be challenged. Just not in the non-majors class.

All I am saying is that CS needs to start a movement to build courses that appeal broadly and then start a movement where we talk about how to best teach those computing courses. It is not about secretly recruiting them for CS – it is about serving the life-long education needs of non-CS majors.

Interestingly, 20 years ago, nearly all universities *required* some kind of computing class of all students and handed that class to CS departments to teach. Over time, CS chose to treat that required intro class as either (a) a recruiting tool for CS majors or (b) a ‘how to use a spreadsheet’ class.

The problem is that all the other departments were not too excited about forcing their students to take an (a) and high schools started teaching (b) – so there is no need for a broadly-required CS course so it no longer part of the core required courses at most universities.

Chemistry on the other hand treasures its ‘natural science is required’ position in the liberal arts curriculum and works hard to deserve to be in the broader general undergraduate curriculum. It also must often compete amongst the rest of the ‘natural science’ alternatives. And so they work hard to make sure their teachers are good across the country because they know if they mess up teaching the intro chem course, they will be dropped from the curriculum.

You can make chemistry fun and learn at the same time. You can make computing fun and learn at the same time. Describing data structures using many levels of nested parenthesis is not fun even if you set it on fire to get the students interested and tail recursion is not fun even if you shoot it across a room with a pneumatic gun.

Making cool web pages with Ajax and Javascript and retrieving RSS feeds and reformatting them with CSS *is* fun. And it is computing. But it is not so much preparation for a CS major.

CS is a long way from chemistry because we lost that cherished required course across all undergraduate programs. It is not likely we will regain that requirement with the current CS offerings. So perhaps the right approach is to build a good course and see if we can make it interesting and useful enough to non-majors that they *choose* to take the course. That would be a start.