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.
I finally saw the movie ‘The Social Network’ last month. We all know and expect that movies stretch the truth for entertainment purposes. But there were a couple of ideas in the film that I actually thought communicated some useful truth about computer science. One was the idea that a group of young people can build something that no one saw coming and that makes a big impact on the world. There have been many famous examples of this kind of thing over the last few decades. It happens. Of course, it has happened in the recent history of the world in many technological domains. But I think computing has produced these kinds of moments more often, and more quickly than any other enabling technology.
The second cool idea for me was the example of how you can get an idea, run to your room, implement and test it, and deploy it … all in one evening. That actually happens. And it’s a huge rush!
Kevin Carey has a nice article in a recent issue of the Chronicle of Higher Education, on ‘Decoding the Value of Computer Science.’ He does a good job of describing some of the broad benefits a CS education provides, including things like clarity of thought and expression, an attention to detail, and an ability to study complex systems. If you are a young person considering studying CS, please don’t listen to those messages that your peers or the media may give you — you know what I mean: ‘being a slacker is cool’, ‘don’t get a job where you have to think hard’, ‘style is more important than substance.’ In fact, thinking hard and figuring out how stuff works and creating things that improve people’s lives is great fun! And you can get paid to do it!
Not much blogging going on here lately. But there has been all kinds of interesting stuff going on in CS@VT over the last few months: another amazing job fair season in September, with once again, more companies than graduating seniors; visits from interesting speakers like Peter Lee from Microsoft Research, who has done lots of interesting things in a distinguished career, including being the brainchild of the interesting DARPA Network Challenge; a steady stream of good publicity about jobs in CS (like this article in CNNMoney.com on the best jobs in America — I think I counted 14 of the top 40 that were in the computing field) and about the high ranking that employers give our department and college (see the Wall Street Journal online article). And now we’re getting ready to celebrate the 40th anniversary of the CS Department. Here’s hoping many of you alums will make it back to check out the exciting place that CS@VT is today.
One of the misconceptions I’m constantly trying to correct is the one that says computer science is about the study of computers. Or the slightly more sophisticated misconception that says that it’s the study of programming computers. No. CS is much more about what can be done with computing! Here’s two great examples of what computer scientists do, which might help you get the idea of how broad and diverse and exiting this field is: yokyworks.org, an effort led by Professor Yoky Matsuoka of the University of Washington, and the Craft Technology Group, led by Professors Mike and Ann Eisenberg at the University of Colorado.
My research work has mostly been in ‘scientific computing,’ a generic term that refers to computational approaches to problems arising in the natural sciences and engineering. This field combines mathematical modeling of natural and engineered systems, algorithms, advanced software implementation techniques, high-performance parallel computing, computational performance measurement and modeling, and data and visual analytics — all to solve some of the most important problems out there. Great stuff!
I love this quote from Dan Reed (from this 2008 article in SIAM News), which views computational modeling & science as a scientific instrument:
The breadth of these examples highlights a unique aspect of computational modeling that distinguishes it from other scientific instruments—its universality as an intellectual amplifier. Powerful new telescopes advance astronomy, but not materials science. Powerful new particle accelerators advance high-energy physics, but not genetics. In contrast, computing and computational models advance all of science and engineering, because all disciplines benefit from high-resolution model predictions, theoretical validations, and experimental data analysis.
Computer science consistently rates near the top of majors in terms of the percentage of graduates that find jobs directly related to their major. You can spin this various ways. If your major is near the bottom of this list, you can claim that you are preparing students for a wide variety of careers! Okaaay. Of course, we will claim that the reason for this statistic is that there are lots of companies that want to hire people with CS degrees, so students only go a different direction because they want to, not because they have to. Another way to see this is to stare at Figure 1 in this news item from the NSF, which summarizes recent data on employment in science & engineering occupations. Notice the size of the pie chart corresponding to ‘mathematical and computer scientists’ and ‘programmers.’ And compare to ‘engineers,’ ‘physical scientists’ and ‘life scientists.’ Let’s just say that a similar pie chart of students majoring in the corresponding fields would look quite different.