George Mason University
of Information Technology and Engineering
Department of Computer Science

CS 681 Designing Expert Systems

Meeting time: Wednesday 3:10pm – 5:50pm
Meeting location: IN 330

Instructor: Dr. Gheorghe Tecuci, Professor of Computer Science

Office hours: By appointment
Office: Research I Building, Room 436
Phone: 703 993 1722
E-mail: tecuci at gmu dot edu


Teaching Assistance

Dr. Mihai Boicu, Research Assistant Professor

Marcel Barbulescu, Cristina Boicu, Vu Le, Dorin Marcu, Graduate Research Assistants and PhD students

Course Description

Prerequisite: CS 580 Introduction to Artificial Intelligence

An expert system is a software system that incorporates a large amount of human problem solving expertise in a specific (scientific, engineering, medical, military, etc.) specialty, allowing it to perform a task that would otherwise be performed by a human expert. An expert system may support a human expert to perform a task, may perform an expert task for a non-expert user, or may teach a user how to perform a task.

The objective of this course is to present the principles and major methods for designing and constructing expert systems, and to involve the students in expert systems research. Major topics include: modeling expert’s reasoning; ontology design, development, import and export; knowledge acquisition and machine learning; agent teaching and multistrategy learning; mixed-initiative problem-solving; knowledge base refinement; knowledge base verification, validation and integration; tutoring expert problem solving knowledge; overview of several expert systems; and discussion of frontier research problems.

The students will learn about all the phases of building an expert system and will experience them first-hand by using the Disciple development environment. Disciple has been developed in the Learning Agents Center of George Mason University and has been successfully used to build expert systems for a variety of domains, including intelligence analysis; military center of gravity determination; course of action critiquing; emergency response planning; planning the repair of damaged bridges and roads; teaching of higher-order thinking skills in history and statistics; and PhD advisor selection.

The classes will consist of a theoretical part and a practical part. In the theoretical part, the instructor will present and discuss the various phases and methods of building an expert system. In the practical part the students will apply this knowledge to specify, design and develop an actual system. The students are encouraged to bring a laptop with them.

Grading Policy

Exam – 50%
Expert System Development – 50%


Tecuci G., Lecture Notes on Designing Expert Systems, Fall 2006, available online (required).

Tecuci G., Building Intelligent Agents: An Apprenticeship Multistrategy Learning Theory, Methodology, Tool and Case Studies, Academic Press, 1998 (recommended).

Additional papers recommended by the instructor.

Lecture Notes on Designing Expert Systems

Introduction to Expert Systems

Design Principles for Expert Systems and Overview of the Disciple Approach

Modeling Expert’s Reasoning

Ontology Design and Development

Tutoring Expert Problem Solving Knowledge

Machine Learning and Knowledge Acquisition

Agent Teaching and Multistrategy Rule Learning

Mixed-Initiative Problem Solving and Knowledge Base Refinement

Knowledge Bases Verification, Validation and Integration

Overview of Several Expert Systems

Discussion of Frontier Research Problems