|Hidden Near a Freeway, Old Meets New|
As always, my SIGCSE (ACM Special Interest Group on Computer Science Education) week hit the ground running. Barely had I gotten to my hotel room and hooked up with my roomie than she and I were plotting and planning. So far this year we have not blown up anything or needed to call hotel mechanics. Such a shame.
My day today started off with a bone chilling walk to explore the Kansas City area in search of...whatever. Bone chilling mostly because it was below 20F and I didn't have winter clothes. My eyebrow had just about frozen together along with the freezing of my knuckles as I kept whipping out my camera to capture something just too good to pass up (see archaeology picture above) when I ran into three guys with no jackets at all (they must be natives because they didn't look half as brittle as I did in my fleece jacket) who directed me to a local independent coffee shop where I recuperated while supporting free trade coffee.
Some time later I found myself (by design) in the SIGCAS meeting (Special Interest Group on Computers and Society) which traditionally takes place the day before the start of the SIGCSE Technical Symposium. One interesting presentation after another about incorporating socially beneficial projects and activities into the computer science curriculum. Some projects were very local and some were global. From Latina community concerns to water scarcity allocation modeling to Bangladesh. By the end of the afternoon all sorts of ideas were flying through my head.
What makes a "Good" computing professional? We're talking "good" in the sense of socially beneficial, rather than technically good. More to the point, how do we know? How do we evaluate this term? (Do we want to evaluate it? Define it?) It's interesting to think about this because if we want to encourage the integration of socially / environmentally beneficial considerations into the very heart of the curriculum, how do we know we are doing it well? If we want computing professionals to integrate a social consciousness into their work how do we determine what that looks like? Or, do we even want to do this? It is worth pondering from a first principles perspective.
How are Codes of Conduct interpreted across cultures? Several global organizations such as ACM and IEEE have codes of conduct that professional members are asked to adhere to. It hadn't occured to me until today that this could be tricky due to differences in cultural interpretations of what is ethical. The idea was planted in my head because one of the presenters today said a segment of their students (economically disadvantaged, from some developing nations) said the hardest part of these Codes to adhere to would be the prohibition on taking bribes. Really? The hardest. Well, when you think about cultures where taking bribes is endemic, and business is done that way, ... sure it might be really hard to imagine bucking the system. I ask myself...how might one determine how "bad" this activity really is? Might one for example need to follow the chain reaction effect of individual bribes? How bad is it if it gets things done? Whoa....
We know that story telling, making content personal, is an effective way of making material (academic in this case) engaging and accessible. Some programming languages, (many?) don't, by their very nature, lend themselves to story telling. Java comes to mind. Python. Scratch? As opposed to a language like Alice. So, how might we talk about incorporating story telling into teaching introductory programming? This sounds like a really interesting challenge. Can it be done? I'd love to see ideas kicked around about this.
I gotta say that this was one dynamic meeting. The group made some decisions about action items to take, which, darn it, I missed due to having to boogie off to a meeting of the ACM Education Council. However, I'll find out and report back on this at a later date with a followup.
Tomorrow, the SIGCSE conference starts. Turbo charged. Stay tuned.