Since returning to academia, I have found myself increasingly involved in what one might call academic administration. In particular, I have worked on a number of educational and curricular efforts at both the undergraduate and graduate levels. Along the way, I've developed some strong opinions about how to think about computing as an intellectual enterprise and tried to put that into practice.
What is Computing?
I think that a lot of confusion about computing comes from an assumption that computing must be either mathematics, or science, or engineering. This assumption is unsurprising because it is easy to draw those connections. Like mathematics, we build models; unlike mathematics’, our models are active and effect-making: they cause things to happen. Like science, we study a system that exists in nature; however, like engineering, our systems are artificial technology and subject to complex trade-offs in implementation. Computing also bears resemblance to the arts—the creation of artifacts—to humanities—the study of texts—and to the social sciences—the study of humans and societies.
For me, the differences are simple to state: Computationalists grok that models, languages and machines are equivalent.
I would define computing in the way that my co-authors and I have in ACM SIGCSE Bulletin, 41(4): any purposeful activity that marries the representation of some dynamic domain with the representation of some dynamic machine that provides theoretical, empirical or practical understanding of that domain or that machine. Often but not always, computationalists then further actualize those representations by executing them on a physical computing artifact.
In this way, the practitioners we often call computer scientists and those we often call information scientists are both engaging in computing. In fact, this definition might well encompass parts of operations research, business processes, and even sociology or ethnography, provided that the results are automatable or automatically manipulable models.
Some computationalists build running models, or machines. Others construct intellectual models that are more abstract than concrete. Some computationalists focus more on understanding the machines, others on the domains. In any case, every computationalist’s intellectual toolkit includes both the activity of automation and the ways of thinking—disassembling domains, carving them at their joints—that make this automation possible. Computationalists often build models of processes including concurrent, distributed, and human processes.
The important point here is that computing is a way of thinking as well as doing. Much of the benefit of the computationalist mindset comes from this activity of fitting the model and the language to the needs of the domain. When computationalist thinking met biology, the transformation changed the language that biologists use to describe their own artifacts. Computationalist thinking requires a precision and a disambiguation that is clarifying for the domain to be modeled. Computationalists become proficient in crafting intellectual segmentations of domains that themselves can be significant contributions. But the full impact of computationalist approaches comes when the automation power of the artifacts can be combined with the intellectual tools.
What do I do about Computing?
I spend a lot of time working with organizations for broadening the computing community, including increasing participation and enrollment among students at all levels and in the professoriate. My goal is to help make the computing community as broad in its participation as it is broad in its intellectual interests. Some of these efforts are supported by various grants and some just with my time.
Locally at Georgia Tech, I am an architect of the undergraduate Threads curriculum, a new structuring principle for computing curricula. Threads are not simply areas of computing; rather, they provide a cohesive, coordinated set of contexts for understanding computing skills. The union of all threads covers the breadth of computer science. The union of any two threads is sufficient to cover a computer science degree. The first class to enter under Threads started Fall, 2006. We've done a lot of assessment of the program and have worked to extend the idea and have it adopted at other departments and programs.
We cover the Threads in some detail during CS 1100 (Freshmen LEAP) every Fall. The official web site is a good place to start otherwise, and naturally the CS advisors are the definitive source of information.
Although it is different in scope, our MS CS degree also reflects the Threads idea in that we have created specializations to provide specific but flexible paths through an MS degree. We began implementing that program in 2010 and it appears to be successful
Speaking of the MS CS, I am also intimately involved in the newly-announced OMS CS, the first Master of Science in Computer Science that students can earn exclusively through the Massively Open Online Course delivery format. It is too early to have properly assessed the program, but we have worked hard to ensure that the degree will not only reflect the quality of our well-regarded on-campus MS, but that it can be delivered for a fraction of the cost of traditional, on-campus programs.
I am truly excited about this new effort. I said earlier that it's about making the computing community broader. I hope that we will be able to provide a truly top-tier experience in a way that is accessible to orders of magnitude more than any on-campus degree. Stay tuned for more.
I am currently the Senior Associate Dean for the College of Computing. One of my roles is to oversee Academic Affairs, so I worry about all things academic affairs-y in the College: undergraduate, graduate, and off-campus programs as well as related recruiting, outreach, and strategic efforts. Because so many of our programs span the Schools of the College, my office also handles several logistical and advising issues that would not be at a College that had more rigid disciplinary boundaries. In addition to academics, I also oversee faculty affairs and college business operations. I see my job as creating organizations and processes that help make the enterprise of education and research actually go. You can find an org chart somewhere that explains this in picture form, probably a bit more clearly.
In addition, I have sat on a ridiculous slew of committees and boards, for a variety of purposes. I won't list them here but there are a whole lot of them.
Apparently, I enjoy this sort of thing. More to the point, I do it because I think it's a reasonable way to have the sort of impact I'd like to have on the field. So far, it's been pretty fun.