« Capturing Students' Interest in Computer Science | Main | Qualifications for Teaching AP CS »

Issues Old and New

Monday August 17th was *our* first day officially back with classes starting Thursday and, as usual, the new school year is raising many issues, some new and some not so new.

Like many CS educators, I am trying to learn how to do a number of new things at once. I will be teaching a course in C++ this fall, so I have been spending a lot of time in that world. But I am also trying to learn how to program the Google Android mobile phone, and that's done in Java (with a lot of XML files to specify colors, formats, and display). It's not easy switching back and forth from one to the other.

I am also working with an industry consortium here and with some of the local school districts in defining and advertising their IT and CS curricula. It's an old story, and a hard sell. As a discipline we suffer from the riches of too many job opportunities. The school administrators seem to want to go for the numbers count rather than quality, and thus emphasize all the things you can do with as little educational effort needed as is possible. As one of the corporate collaborators points out, though, upper management won't be coming from the group that didn't go to college or university.

A recent study of "persistence" puts university computer science students at the absolute bottom for retention from the first to the eighth semester at university. The 38% persistence for CS is worse than engineering, business, social science, and other science majors. What are we doing wrong? Are we getting the wrong set of students coming into our programs? Are they coming in not properly informed? Are we at the universities doing a bad job? Probably some of all of the above. This was a study over 17 years, so it's not *just* the dot com boom or the dot com bust. There is something clearly different about computing.

The more I see and think of these issues, the more I realize how important it is that we are clear in our message, and how the Level I, II, and III courses present that message. Computing technology is everywhere (the word I picked up from the CS & IT symposium this summer was "everyware"). But how do you distinguish those who are simply users of the technology from those who might know how to construct the next version of the software? In becoming universal, the IT business has become extremely broad, and it's hard to convey the breadth to prospective students. I keep going back to the nature of the Level II course, which would cover some of the major applications to which computing is put, and then look a little deeper into the technology necessary to make those applications actually work.

And this takes me back to programming the Android phone. A phone, with a complete browser capability built in, and that can also be programmed for games. It's very slick, and to make this work there must be a great deal under the hood that the better students, who might become computer science majors, need to be aware of even if they never actually program an Android. It is enough that they know of and understand the existence of these layers of software that distinguish a modern mobile device from a paperweight.

Duncan Buell
CSTA Board of Directors

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)