Have you seen the video from code.org? Kinda cool. So coding is cool now? Works for me. I’ve always really enjoyed programming. I miss it when I don’t get to do it much. But for the last decade, we’ve also tried to tell people that CS isn’t just coding. Which is true. It’s a misconception that studying CS or working in a CS-enabled career means doing nothing but coding. There is so much more to CS. But maybe we’ve over-reacted a bit here. Maybe we’ve gotten too close to apologizing for something that really is fun and worthwhile and important. I’m glad the guys at code.org are bringing coding back out of the closet!
No posts for over a year? Yikes. Is nothing going on in CS@VT? Well … quite the opposite. Lots has been going on. Like hiring several new faculty members. And like seeing our undergraduate enrollment grow by about 40% in three years. And the group of companies hiring out students is growing at least that fast. This has the feel of the third big boom in computer science enrollments. The first was around the time the PC emerged, the second coincided with the explosion of the Web, and now — it’s mobile, it’s ubiquity, it’s natural interfaces, it’s the cloud, it’s a million things. A really exciting time, again, to be in computing!
Many people I speak with don’t have a sufficiently broad view of what goes on in a computer science department, and what can be done with a computer science degree. A PhD defense that took place in our department recently is a great example of the kind of work people might not expect to find in CS. The title of the dissertation is “Patterns of Domestic Video Mediated Communication.” The student explored the design and use of technology that allows families to communicate and remain connected across distance. I think most people would agree that this is fascinating and timely work. But who does this kind of work? What kinds of skills and insights and abilities does someone need in order to approach this topic? Well … certainly there are concepts from psychology and communications theory which feed into this work. But suppose some of the critical issues have to do with the design and use of the (computing) technology that makes this kind of communication possible. That’s where the CS background comes in — especially the area of CS known as human-computer interaction. In the real world, large problems and opportunities require contributions from many people, with all kinds of expertise. Increasingly, a pivotal member of these teams is someone with CS training, because they understand the technology that drives and enables so many of today’s most interesting systems and societal trends.
Here’s a great video about some future possibilities, produced by a well-known glass company: “A Day Made of Glass… Made possible by Corning” (link). (No endorsement implied!) As a computer scientist, when I watch something like this, I think about all the cool and challenging software that someone is going to have to write to make all this work. Of course, it’s going to take lots of specialties — materials science, electrical & computer engineering, mechanical engineering to name just a few. But a huge percentage of what will make all this work is software, and computer science is the major that best prepares you to build these kinds of rich, multi-modal, human-interaction rich software systems.