Now this is what a computer lab is supposed to look like.
Now don’t get me wrong. Our lab isn’t typically so colorful. Usually, the desktops are white and bare, and you’d never see colored construction paper, scissors, or hot glue guns lying around. And yet, this week, our computer lab looks more like an art studio than a place where (insert frumpy face here) “serious software development” occurs.
Seriously, though, I think this is more like what Computer Science education is supposed to be. This is actually a whole lot more representative of the field.
I’ve heard people who don’t know much about Computer Science say that it’s all about programming, that Computer Science is simply about algorithms and languages and debugging. That is an antiquated view, but it’s a popular one. In fact, until four years ago, our Introduction to Computer Science course was essentially fifteen weeks of just learning how to program. Still, today, most colleges have a programming focus in their introductory course. Faced with declining enrollments and a nagging realization that there was a growing disconnect between what students were limited to creating with their fledgling coding skills and what they expected to create based on the technology they used in their everyday lives, we made the decision to redesign our introductory Computer Science course to teach programming as a vehicle for learning more about all the other areas of Computer Science: animation, robotics, communications, data storage, networking, and security. Programming was re-prioritized from serving as the be-all-and-end-all to being simply a tool in the Computer Scientist’s arsenal.
At the time, we thought this was gamble. However, as technology has continued to evolve, we’ve been proven right. Programming is just a tool, a means to an end. It isn’t an outcome unto itself. Rather, it is a device for achieving outcomes. Today, our students learn not only how to program, but why it’s even worth learning this difficult skill in the first place. They end up appreciating it a lot more. They find that the code they write isn’t to be appreciated just because it is an expression of abstractions in some arcane language. It is, instead, the life force that makes cool technologies possible. That shift in focus is subtle, but it is essential to understanding the field and its potential impact.
Earlier this week, I wrote about the Girls Create with Technology camp we’ve been running, sponsored by AT&T. Today, the girls started building their robots. They attached a variety of craft supplies to motors and servos, which they wired to a microcontroller. They programmed the microcontroller using Snap, a visual programming language based on the popular Scratch environment. In other words, they took the programming skills they learned just this week and used them as a tools to develop something animated and colorful and creative.
That’s what Computer Science is: animated, colorful, and creative. This week, the girls are becoming 21st Century Computer Scientists.