Skip to content

Creating Rule-based Intelligent Tutoring Systems​

This course will help you:
  • Explain ACT-R theory and Foundations of Productions Systems behind cognitive tutor technology
  • Design and linking the interface representation dynamically to the semantic representation of the problem
  • Develop and debug cognitive models
    • Design your own working memory representation
    • Implementing new fact types
    • Using rules to support multiple strategies within a single problem
    • Create a dynamic interface with a Nools tutor
  • Scope problems suitable for creating rule-based intelligent tutors.

Start Any Time

Work at your own pace and you will have instructors available to help you answer any questions.


Approximately 4 weeks, 6-8 hours/week


$2000 - Professional Rate
$600 - Full-time Student Rate*

*Proof of full time student enrollment required. Acceptable forms of id include a letter from your university’s registrar office or an unofficial transcript. Email your documents to

Certificate Course Description

Rule-based cognitive models help understand student thinking and problem solving, help guide many aspects of the design of a tutor, and can function as the “smarts” of a system. Cognitive Tutors using rule-based cognitive models have been proven to be successful in improving student learning in a range of learning domain.

In this course, you will learn how to develop rule-based cognitive models for creating Cognitive Tutors using the Cognitive Tutor Authoring Tools (CTAT). You will also learn ACT-R theory and Foundations of Production Systems behind Cognitive Tutors.

Our team hosts office hours for all courses over Zoom on the 2nd and 4th Wednesday of each month, 10:00 AM – 11:00 AM EDT/EST (4:00 PM – 5:00 PM CAT). On 2nd Wednesdays, Dr. Ken Koedinger, who is the Director of the Masters of Educational Technology and Applied Learning Sciences (METALS) program, will be available. On 4th Wednesdays, you will have the opportunity to speak with our learning engineers.

Module 1: ACT-R and Cognitive Modeling
  • Define the main claims of ACT-R
  • Distinguish between declarative and procedural knowledge
  • Explain evidence that production rules are units of procedural knowledge acquisition
  • Describe key relationships between ACT-R and Cognitive Tutor technology


Module 2: Foundations of Production Systems
  • Define production rules
  • Explain how a basic production rule interpreter works
  • Given a set of rules and task context, interpret production rules
  • Write production rules for a given task


Module 3: Model Tracing – Nools

  • Describe how working memory is represented in Nools
  • Implement a fact template with a define statement
  • Create a fact in working memory
  • Create a Nools rule
  • Populate working memory with a bootstrap rule
  • Implement tutor flow with backtracking, halt, and checkSAI
  • Explain model tracing in the context of ITSs
  • Implement a tutor-performed action
  • Create a hint in Nools
  • Create a Done rule in Nools
  • Set up a Nools Development Environment


Module 4: Model Tracing – Debugging
  • Interpret the output of debugging commands
  • Given an error, select which debugging command to choose
  • Diagnosing Problems with a Cognitive Model using the Conflict Tree
  • Given a set of production rules and a state of the interface, predict the output of debugging commands


Module 5: Model Tracing – Assignments
  • Assignment 1: Create a Cognitive Tutor for Squaring Numbers Ending in 5*
  • Assignment 2: Create a Cognitive Tutor for proportional reasoning*


Module 6: Course Project or Final Exam

At the end of the course, you’ll have an opportunity to build a rule-based tutor for a task for which building an example-tracing tutor is not practical, namely, an abductive reasoning task in Mendelian genetics. That will provide you with a nice experience to apply the fundamentals you will learn in the modules to a larger, more authentic, context. It will be graded by the instructor and you will receive personalized feedback along with a sample solution.

The project offers an opportunity to learn about the following:

  • Doing an analytical cognitive task analysis
  • Designing your own working memory representation
  • Modeling steps with multiple rules
  • Linking the interface representation dynamically to the semantic representation of the problem, as opposed to statically
  • Creating a dynamic interface with a Nools tutor
  • Additional Nools constructs (e.g., not, exists, salience, arrays as slot values).


* Each assignment will be graded by the instructor and you will receive personalized feedback along with sample solution

A computer is required where CTAT can be installed. The instructions are here.

Required prerequisite: Knowledge or example-tracing tutors OR Example-tracing Tutors: Intelligent Tutor Development for Non-programmers

Researchers, developers, product/UX designers, instructional designers, and teachers who want to create intelligent tutors. Anyone interested in edtech.

Course Instructors

Dr. Vincent Aleven

is a professor in Carnegie Mellon’s Human-Computer Interaction Institute (HCII). He has 20 years of experience in research and development of advanced learning technologies, grounded in cognitive theory.

[Read More]


Upon successful completion of the program, participants will receive a verified digital certificate of completion from Carnegie Mellon University’s Open Learning Initiative.

In addition to the knowledge and immediately applicable frameworks you will gain by attending your selected courses, you will benefit from:

  • A digital, verified version of your Executive Certificate (Smart Certificate) you can add to your resume and LinkedIn
  • Networking with a global group of your peers and instructors for advancing your career

Register Here:


Enter your email address:


For this course, copy the course key: Coming soon!


Click on this link: Carnegie Mellon University’s Open Initiative

Paste the course key in the text box labeled “Course Key:”


Register and try out the course for 48 hours before payment is due.

If needed, watch this video on how to register in OLI:

Optional additional step but highly recommended:


 Set OLI to automatically resume from where you left off in the course:

1) Click on your name in the upper right corner to bring up your OLI profile settings.

2) Change the option on the dropdown to “Yes, always resume automatically”.

3) Lastly, select “UPDATE”.