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

CS 681 Designing Expert Systems

Meeting time: Tuesday 4:30 pm – 7:10 pm
Meeting location: IN 326

Instructor: Dr. Gheorghe Tecuci, Professor of Computer Science

Office hours: Tuesday 3:30 pm – 4:20 pm
Office: Research I Building, Room 436
Phone: 703 993 1722
tecuci at gmu dot edu


Teaching Assistance

Dorin Marcu and Marcel Barbulescu, 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; 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 three parts: theory, tools and project. In the theoretical part, the instructor will present and discuss the various phases and methods of building an expert system. In the second part the students will experience the use of artificial intelligence tools for building expert systems. In the project part the students will design and develop an assistant for evaluating the believability of websites.

Grading Policy

Exam – 50%
Expert System Development – 50%


Tecuci G., Lecture Notes on Designing Expert Systems, Fall 2008 (required).

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

Additional papers required or recommended by the instructor.

Lecture Notes on Designing Expert Systems

Classical Approaches to the Design and Development of Expert Systems

Ontology Design and Development

Learning-Oriented Knowledge Representation

Problem Reduction and Solution Synthesis

Modeling Expert’s Reasoning

Agent Teaching and Multistrategy Rule Learning

Mixed-Initiative Problem Solving and Knowledge Base Refinement

Tutoring Expert Problem Solving Knowledge

Design Principles for Expert Systems

Frontier Research Problems