Computer Science Across the Curriculum

afse-LogoYesterday I had the pleasure of meeting with Seung Yu, the principal of the new Academy for Software Engineering, a new software/computer science focused school opening in New York City this fall. We had a great discussion about the school, its goals and how Microsoft might work with them. It’s an exciting idea – a school like this. I understand teacher openings have been posted and resumes are pouring in. I can imagine that to be the case. Beyond this particular school I have found myself thinking about a broader issue of fitting computer science into the curriculum. Not just at a school focused on software engineering but schools in general.

My good friend Leigh Ann DeLyser, who is on the advisory board of AFSE among other activities, pointed out to me that the latest math standards include recursion. This is of course an important concept in computer science as well. Seems like a good fit to join the two fields. There are of course many other examples we could find with a little looking. We get caught up in the discussion of “is computer science and math or a science or none of the above” rather often. I get caught up in it myself. We do this because we tend to compartmentalize subjects in education. We break down math into algebra, trigonometry, calculus, and more even though its all really mathematics. The upside of this is likely to be being able to focus. The down side is that we take too much in isolation and out of usable contexts. We do tend to mix some things. Math needs to support physics for example. Though in all honesty I have heard physics teachers complain that they have to teach some of the math needed for physics because the math department doesn’t cover it. This is a symptom of the compartmentalization I already alluded to.

Its worse with computer science. In schools we treat it as if it didn’t relate to math or science or anything else for that matter. In the world away from school this is far from the case. We seldom talk about CS in isolation. It is CS & biology, CS & physics, CS & business, CS & just about any field of endeavor you can name. So why do we teach CS in isolation in schools?

This is changing in higher education. The Georgia Tech system of different intro CS courses including their cool media computation course for example. Wheaton College (MA) uses genetics as a context. And there are more including using robotics which combines CS and various engineering disciplines into a single course. I can see this trend increasing but I’m not sure it is a model that fits well into high schools.

I think we need to work at ways of including more computer science into other parts of the curriculum for two solid reasons. One is that we are losing the battle for stand along computer science courses. The battle over including CS as a math or a science is a tough one and there are tough entrenched interests (math and science teachers) who are not real happy about the idea of losing students to a “new” program. The second reason is that we need to get students thinking more computationally and we need them thinking about computer science as a tool for solving problems in other areas. And we need them thinking this way sooner.

At Microsoft we have created (or really had teachers create for us) some web development curriculum that is designed to work well with other subjects. (Take a look at https://expression.microsoft.com/education) for some samples. It’s a start. But ultimately we have to look at more ways to include more programming tools (Kodu for some, Small Basic for others and serious stuff like Kinect and Windows Phone programming for others) into helping to teach more subjects. Of and more tools from other people no doubt. The key thing is to find things that work – that mutually support both Computer Science and other subjects.

What we need are win-win solutions that stop things from being a zero-sum game as they are today. I’ve seeing to helpful things in this area by the way. One is that Imagine Cup teams are looking at educational games which tend to pair computer scientists with subject matter experts from other fields. The other is the really exciting projects teachers are submitting as part of the Microsoft Partners in Learning US Forum. You can read about the US Forum entries from round one at Finalists Announced for Round 1 of the Microsoft Partners in Learning 2012 US Forum. while I have highlighted just the CS related ones at CS Finalists for 2012 Microsoft Partners in Learning Forum. If you are doing something cool I hope you will apply as well. The deadline is May 15th.

And take a look at what students are doing and vote for your favorite at Imagine Cup people's choice voting. Is it bad that I am promoting voting for the one high school team in the mix? Digital Infinity! No Facebook account or what to vote more often? Text "Digital" to 45444 Or Tweet your vote "@mstechstudent I am voting for #Digital in #ICPeoplesChoice. Rules: bit.ly/PCRules"