Experience

Carnegie Mellon University September 2002 - Present
Professor, Human-Computer Interaction Institute, (Promoted from Associate Research Professor in 2024; Promoted from Sr. Systems Scientist in 2015)

At CMU, I conduct research on human learning, game-based learning, intelligent tutoring, and e-learning principles. I am the head of the McLearn Lab. My current research is focused on studies with digital learning games. I have also done many studies of learning with intelligent tutors, for instance in how students learn when presented with correct or erroneous examples in conjunction with intelligent tutors (See the AdaptErrEx project webpage).  I have also done a series of experiments investigating how chemistry students learn when presented with polite hints and feedback (See the Stoich studies webpage).   Finally, Vincent Aleven and I developed a website for middle-school mathematics, called Mathtutor.

Saarland University, Germany September 2010 - 2013
Adjunct Principal Researcher, Center for e-Learning Technology (CeLTech)

At Saarland University, I conducted research on collaborative learning and applying AI techniques to collaborative argumentation. My projects there included LASAD and Metafora.

German Research Center for Artificial Intelligence, Germany
(Deutsches Forschungszentrum für Künstliche Intelligenz) July 2006 - August 2010

Visiting Senior Researcher, Competence Center for e-Learning

At DFKI I primarily did research on collaborative learning, argumentation and technology for analyzing collaborative argumentation. On both the LASAD and ARGUNAUT projects my research was focused on developing educational technology, using AI techniques, to help teachers moderate collaborative e-Discussions and arguments. Together with two students I advised, Oliver Scheuer and Jan Mikšátko, we investigated the use of  machine learning and AI techniques in analyzing what students do in e-Discussions. We used the resultant machine-learned classifiers to support teacher moderation of multiple, on-going e-discussions.

OpenWebs Corporation (now CarParts Technologies) May 2000 - November 2002
Director, eCommerce Technologies, April 2002 - November 2002 (See my references page - Philip Hayes, John Fischer, Daniel Garcia, Yilmaz Kara - for my work at this position.)

After CarParts Technologies purchased OpenWebs Corporation, I assumed additional responsibilities. In particular, I led a team of four engineers that developed and deployed eCommerce technologies and products in the automotive aftermarket. Additional responsibilities included leading all eCommerce projects within the company, devising eCommerce strategy in conjunction with a product management team, and researching the application of intelligent technologies to eCommerce.

Director, Research and Development, May 2000 - April 2002 (See my references page - Philip Hayes, John Fischer, Daniel Garcia, Yilmaz Kara - for my work at this position.)

During my time at OpenWebs Corporation, I was the leader of a team that developed an intelligent B2B trading product. Promoted to director from a manager's role in May 2001. Responsibilities included the management of two software engineers, leadership of all phases of software development, and research of advanced technologies. Our team used Microsoft .NET for development of the B2B product. For more information about the work that we did, see a paper I co-wrote for the 2001 International Conference on Internet Computing: (PDF)

The IBM Transarc Laboratory March 1999 - Feb. 2000
Independent Consultant (Part-time employment while completing Ph.D.) (See my references page - Jeff Kaminsky - for my work at this position.)

Perl developer, JavaScript developer, Enterprise Java Bean system tester, and technical writer for transaction processing middleware products. During my tenure with Transarc, I gained familiarity with distributed processing, multi-tier architectures, and the Unified Modeling Language (UML).

Maya Design Group Aug. 1998 - Feb. 1999
Independent Consultant (Part-time employment while completing Ph.D.)

Project manager, technical leader, and developer for a project involving information visualization and intelligent scheduling. Responsible for scoping project, maintaining client relations, and providing technical leadership. Developed rudimentary prototype scheduling interface in Java (using Swing components).

Carnegie Group, Inc. (now Logica) Sept. 1986 - May 1998
Project Manager, May 1996 - May 1998 (See references my references page - Debra Logan, Gary Kahn - for my work at this position.)

Responsible for managing projects, writing proposals, acting as lead designer, and handling customer interactions.

From November 1996 to August 1997, I wrote two winning proposals of approximately $100,000 each that were executed by a team of two engineers. The projects involved consulting with the Unisys corporation and developing application software for improving field service support.

I was originally promoted to project manager to oversee international application projects with a customer headquartered in the Netherlands. In this capacity I was responsible for technical design and development, proposals, budgets, customer contact, and management of a small (2-3 person) project team. Frequent international travel to Europe was required.

I led a project intended to provide field engineers with a user-friendly, consistent interface to local and remote applications on a laptop computer.

Senior Engineer, January 1989 - April 1996

Responsible for the design and implementation of knowledge-based applications in the areas of diagnosis, intelligent tutoring systems, text processing, manufacturing design and configuration. During a seven-year period, I was a senior engineer and/or project lead on the following projects:

Project leader on a four person diagnostic application project for Philips Medical Systems. The project involved the extension and customization of Carnegie Group's TestBench product. I programmed in Visual Basic and C for this project.

Lead designer and developer of an intelligent tutoring system developed for the U.S. Army. I developed a prototype tutoring system in Smalltalk to train enlisted soldiers in troubleshooting.

Lead designer and project leader of a case-based reasoning module for the TestBench product. This module has been added as a standard component of the company's product offering.

Designer and developer on a project team to develop a technical documentation authoring system. The authoring system was developed for Caterpillar, Inc. and is currently being used to generate documentation in up to 12 languages. I was the sole designer and developer of the user interface (in C and Motif). This application was awarded Patent Number 5,677,835.

Designer and project leader on a project team for a technical documentation management system. This system was designed and developed as a research and development effort for the Pennsylvania state government. I was the project lead of a three-person project team. I programmed in Common Lisp and HyperCard on this project.

Designer and developer for a motor configuration system for Emerson Motors, Inc. Carnegie Group has since marketed and resold the system as a general-purpose software tool. I programmed in Knowledge Craft and Common Lisp on this project.

Designer and developer of an electronic circuit layout program. I was responsible for the requirements analysis, design, and implementation of a design support system used for assisting in the physical layout of electronic circuits on vehicle plan forms for the Ford Motor Company. I programmed in Knowledge Craft and Common Lisp on this project.

Senior Consultant for Carnegie Group in England, September 1986 to December 1988

During a 2 and 1/2 year stint for the Carnegie Group office in England, I was responsible for the company's expert systems projects in Europe. Tasks included: sales presentations and demonstrations, writing of proposals and technical reports, management and execution of project work, contributing to strategic decision making, and the hiring and training of new U.K.-based employees. I assumed project management/technical lead responsibility for two projects:

Knowledge-based simulation of a printed circuit board plant in Italy. I was responsible for the proposal, feasibility study, design, and implementation of an AI simulation modeling package for Italsim, an Italian communications company. I was project manager of a two-to-four person project over a period of 14 months. I programmed in Knowledge Craft and Common Lisp on this project.

Turbine-generator diagnosis for the Central Electricity Generating Board (CEGB). I was responsible for the knowledge acquisition, design, and implementation of a prototype system used to diagnose faults in turbine-generators. I developed a novel diagnostic approach that has since been reused in other Carnegie Group projects. I programmed in Knowledge Craft and Common Lisp on this project.

Robotics Institute, Jan. 1985 - Sept. 1986
Carnegie Mellon University
Project Supervisor, Research Programmer (See references for my work at this position on my references page)

Project Supervisor of a seven person job-shop scheduling project in the Intelligent Systems Laboratory. Responsible for development and delivery to the customer, IBM. The Opportunistic and Intelligent Scheduling System (OPIS) is a well-known system in the application of Artificial Intelligence to manufacturing scheduling problems. I programmed in Knowledge Craft and Common Lisp on this project.

University of Pittsburgh Sept. 1983 - April 1986
Part-time Instructor of Computer Science

First taught as a graduate teaching assistant and later returned as a part-time instructor. Full responsibility for introductory Computer Science courses. Duties included preparing and presenting lectures; designing, preparing, and grading all course work; assigning of final course grades for students. Taught courses in Pascal and Basic.

General Electric (Locomotives Division) Oct. 1981 - Dec. 1982, Summers of 1983 and 1984
Programmer

Responsible for designing, implementing, and maintaining various manufacturing business systems in Cobol and a GUI language called Screenwrite. I was the lead programmer in the development of an automated warehouse distribution system.