I headed to SIGCSE a day early this year in order to participate in a couple of workshops. The first draw was Mark Guzdial’s and Barbara Ericson’s workshop using media computation to teach introductory computing to both CS majors and non-majors. I have long been a fan of this work but have never seen them describe it. This seemed like a great chance to learn a little from first principles and also to hear about recent developments in the media comp community.

The new educators themselves came from this range of schools and more (one teaches at Milwaukee Area Technical College up the street) and were otherwise an even more mixed lot, ranging from undergrads to university instructors with several years experience. The one thing they all have in common is a remarkable passion for teaching. They inspired this old-timer with their energy for 100-hour work weeks and their desire to do great things in the classroom.

In the second paper, Craig Struble described a three-day workshop for introducing computer science to high school science teachers. Struble and his colleagues at Marquette offered the workshop primarily for high school science teachers in southeast Wisconsin, building on the ideas described in A Novel Approach to K-12 CS Education: Linking Mathematics and Computer Science. The workshop had four kinds of sessions:

tools: science, simulation, probability, Python, and VPython

content: mathematics, physics, chemistry, and biology

outreach: computing careers, lesson planning

fun: CS unplugged activities, meals and other personal interaction with the HS teachers

In a way unlike many other disciplines, writing programs can affect how we think in other areas. A member of the audience pointed out CS also fundamentally changes other disciplines by creating new methodologies that are unlike anything that had been practical before. His example was the way in which Google processes and translates language. Big data and parallel processing have turned the world of linguistics away from Chomskian approach and toward statistical models of understanding and generating language.

You can see the list of papers, books, and websites offered by the panelists on this page. The most impassioned proposal was Eric Roberts’s tale of how much Rich Pattis’s Karel the Robot affects Stanford’s intro programming classes to this day, over thirty years after Rich first created Karel.

The real buzz this year was CS, and CS ed, looking outward. Consistent with recent workshops like SECANT, SIGCSE 2010 was full of talk about computer science interacting with other disciplines, especially science but also the arts. Some of this talk was about how CS can affect science education, and some was about how other disciplines can affect CS education.

What’s up? A large and influential committee of folks from high schools, universities, and groups such as the ACM and NSF are designing a new course. It is intended as an alternative to the traditional CS1 course, not as a replacement. Rather than starting with programming or mathematics as the foundation, of the the course, the committee is first identifying a set of principles of computing and then designing a course to teach these principles. Panel leader Owen Astrachan said that the are engineering a course, given the national scale of the project and the complexity of creating something that works at lots of schools and for lots of students.

So, what should we teach? Syntax and semantics are fairly well settled as matter of theory. We can thus devote time to the less mathematical parts of the job, such as the art of writing grammars. Aho noted that in the 2000s, parsing natural languages is mostly a statistical process, not a grammatical one, thanks to massive databases of text and easy search. I wonder if parsing programming languages will ever move in this direction… What would that mean in terms of freer grammar, greater productivity, or confusion?

One panelist made a great comment in the spirit of looking outward. Paraphrase: While we in CS argue about what “computational thinking” means, we should embrace the diversity of computational thinking done out in the world and reach out to work with partners in many disciplines.

Another panelist commented on the essential role that computing plays in other disciplines. He used biology as his example. Paraphrase: To be a biologist these days requires that you understand simulation, modeling, and how to work with large databases. Working with large databases is the defining characteristic of social science these days.

Many of the issues that challenge computer scientists who want to engage in interdisciplinary research of this sort are ones we have encountered for a long time. For instance, how can a computer scientist find the time to gain all of the domain knowledge she needs?

How many professors throw busy slides full of words and bullet points up on the projector, apologize for doing so, and then plow ahead anyway? Judging from SIGCSE, too many.

How many professors go on and on about importance of active learning, then give straight lectures for 15, 45, or even 90 minutes? Judging from SIGCSE, too many.

Mismatches like these are signals that it’s time to change what we say, or what we do. Old habits die hard, if at all.

Finally, anyone who thinks professors are that much different than students, take note. In several sessions, including Aho’s talk on teaching compilers, I saw multiple faculty members in the audience using their cell phones to read e-mail, surf the web, and play games. Come on… We sometimes say, “So-and-so wrote the book on that”, as a way to emphasize the person’s contribution. Aho really did write the book on compilers. And you’d rather read e-mail?