In the last 48 hours, I have had the chance to listen to presentations from two leaders in the field of Computer Science, and I’m interested in the harmonic chords that both speakers’ presentations struck with me.
Over the weekend I attended Carnegie Mellon University’s “Opportunity for Undergraduate Research in Computer Science,” or OurCS workshop in Pittsburgh. You can see my tweets about it by searching for the hashtag #OurCS. That’s where I heard the first speaker Dr. Jeannette Wing, President’s Professor of Computer Science and Department Head, Computer Science Department, Carnegie Mellon University. Dr. Wing’s thesis was that the disciplines learned and studied in the course of obtaining an undergraduate computer science degree are fundamental to studying a wide variety of disciplines. These ideas were outlined in her paper Computational Thinking, (CACM – Communications of the Association for Computing Machinery, vol. 49, no. 3, March 2006). Put another way, Dr. Wing argues that many other disciplines could be illuminated by applying fundamental computer science techniques like algorithm analysis and designs, data abstraction, and heuristics. She says, “Thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction.” The analytic skills taught in a computer science curriculum teach one to logically dissect a problem, construct a solution, and analyze its results in terms of how fast it will solve a problem, how much computational power it will take, and how much storage it will require. These analytic skills, she argues can inform a variety of disciplines, and should become part of the basic toolkit of educated people. It reminds me of the law school professors who told me that they like to have students with computer science undergraduate degrees because they are accustomed to teasing out the logic of a situation and thinking methodically.
Today, I heard a presentation by David Clark, entitled, “Computer Science as Social Science: The Future of the Internet.” Dr. Clark was the Chief Protocol Architect of the Internet from 1981-1989. As you can imagine, he has seen a tremendous change in his career. His talk was about lessons he’s learned in 35 years of working on the internet, and the forces that will shape the future of the internet. His point: the internet is deeply embedded in social, economical and cultural forces that will drive its future. Dr. Clark draws widely from the law, economics, and other disciplines in his talk. And he makes the point to future researchers that they should consider these influences as well.
What do I take away from all of this?
Well, I’ve been thinking interdisciplinary for a very long time. Starting with my undergraduate double major in Computer Science and English I was frequently struck by parallels across the disciplines. One example was the semester I was focusing on Shakespeare. I was reading the play “As You Like It,” wherein the original production a male actor, playing the role of Rosalind, would then take on the persona of Ganymede (a young male page) in the play within the play. At the same time, I was studying the LISP programming language in which a subroutine is called with a given value for a variable, which recurses so that the subroutine calls itself with a slightly different version of the variable, and this continues until a terminal condition is met. At the time I remember thinking, “Wow, recursion has been around for a long time, since it was clearly established by Shakespeare’s time.”
Each of these speakers, in the fullness of their mature careers, are reflecting on the role of Computer Science within the broader academic community. Dr. Wing wants us to spread the word about what we do, and apply it more broadly. Dr. Clark encourages us to broaden ourselves and learn more about the context in which we are working. I think both views are worthy of consideration, and I’m glad to be working in the field when these cross-disciplinary currents are strengthening.