|
Director of the Game Design Initiative at Cornell |
|
As Director for the Game Design Initiative at Cornell, I am responsible for the courses in computer game design offered through Cornell's computer science department. The primary games courses are CIS 300 and CIS 400. These courses are designed to allow students to bring together the topics that they learn in more traditional computer science classes (such as graphics, AI, networking, or distributed computing) and apply it to a complex software engineering problem.
I also work with game studios --- such as Microsoft or Electronic Arts --- to help our students find work in the industry. Cornell has a very successful track record in placing students in either internships or full time employment with computer game companies.
I am a mathematical logician by training. My original thesis work was in computable model theory. From this work I moved onto the design of high-level languages for databases and information systems. More recently, I have combined my professional research in databases and query languages with my hobbies in gaming and game design. My research group is a leader in the area of data management issues in computer games.
The following is an overview of my most recent research projects.
Computer games are becoming increasingly data-driven, meaning that the the game content is separated from the game code. Just as database queries retrieve data declaratively, game designers want to specify the behavior of nonplayer characters (NPCs) through rules and specifications. However, as with databases, the expressiveness of this behavior comes at the price of performance. In the Cornell data-driven games project, we are developing a language framework that allows designers to specify complex character behavior, without worrying about how to implement it efficiently [WDKGR07].
Cayuga is a highly scalable data stream processing system. It is intended to bridge the performance gap between general data stream management systems, such as STREAM, and publish/subscribe systems. The goal is to find a sweet spot where we can achieve both expressiveness and scalable implementation. My interest in this project has been in the design of a novel query languages with formal semantics [DGHRW06,DGPRSW07]. The design of this query language has lead to several interesting theoretical questions on the nature of time stamps in streams [WRGD06-TR].
Before coming to Cornell, I was an assistant professor of mathematics at the University of Dallas. I was responsible for the development of a large part of their computer science program. I have experience in teaching all levels of mathematics and computer science. I am interested in the role of mathematical logic in both mathematics and computer science education. I am currently the chair of the Education Committee of the Association of Symbolic Logic.
I also have extensive experience in inquiry-based learning in mathematics, sometimes known as the Moore Method. I have several theorem sequences (available on request) suitable for "bridge courses", which introduce students to the concept of proof. One is designed for mathematics majors, while another, on synthetic geometry, is geared towards humanities majors. Before taking over the game design curriculum at Cornell, I applied these techniques to computer science in my course CS 305: Problem Solving in Computer Science.