ideas: Feedback services for intelligent tutoring systems

[ apache, education, library ] [ Propose Tags ] [ Report a vulnerability ]

Ideas (Interactive Domain-specific Exercise Assistants) is a joint research project between the Open University of the Netherlands and Utrecht University. The project's goal is to use software and compiler technology to build state-of-the-art components for intelligent tutoring systems (ITS) and learning environments. The ideas software package provides a generic framework for constructing the expert knowledge module (also known as a domain reasoner) for an ITS or learning environment. Domain knowledge is offered as a set of feedback services that are used by external tools such as the digital mathematical environment (DME), MathDox, and the Math-Bridge system. We have developed several domain reasoners based on this framework, including reasoners for mathematics, linear algebra, logic, learning Haskell (the Ask-Elle programming tutor) and evaluating Haskell expressions, and for practicing communication skills (the serious game Communicate!).

Modules

[Last Documentation]

  • Ideas
    • Common
      • Ideas.Common.Classes
      • Ideas.Common.Constraint
      • Ideas.Common.Context
      • Ideas.Common.Derivation
      • Ideas.Common.DerivationTree
      • Ideas.Common.Environment
      • Ideas.Common.Examples
      • Ideas.Common.Exercise
      • Ideas.Common.ExerciseTests
      • Ideas.Common.Id
      • Ideas.Common.Library
      • Ideas.Common.Predicate
      • Ideas.Common.Rewriting
        • Ideas.Common.Rewriting.AC
        • Ideas.Common.Rewriting.AutoTerm
        • Ideas.Common.Rewriting.Confluence
        • Ideas.Common.Rewriting.Difference
        • Ideas.Common.Rewriting.RewriteRule
        • Ideas.Common.Rewriting.Substitution
        • Ideas.Common.Rewriting.Term
          • Ideas.Common.Rewriting.Term.Class
          • Ideas.Common.Rewriting.Term.Data
          • Ideas.Common.Rewriting.Term.Decoder
        • Ideas.Common.Rewriting.Unification
      • Ideas.Common.Rule
        • Ideas.Common.Rule.Abstract
        • Ideas.Common.Rule.Parameter
        • Ideas.Common.Rule.Recognizer
        • Ideas.Common.Rule.Transformation
      • Ideas.Common.Strategy
        • Ideas.Common.Strategy.Abstract
        • Ideas.Common.Strategy.Choice
        • Ideas.Common.Strategy.Combinators
        • Ideas.Common.Strategy.Configuration
        • Ideas.Common.Strategy.CyclicTree
        • Ideas.Common.Strategy.Derived
        • Ideas.Common.Strategy.Legacy
        • Ideas.Common.Strategy.Location
        • Ideas.Common.Strategy.Prefix
        • Ideas.Common.Strategy.Process
        • Ideas.Common.Strategy.Sequence
        • Ideas.Common.Strategy.StrategyTree
        • Ideas.Common.Strategy.Symbol
        • Ideas.Common.Strategy.Traversal
      • Traversal
        • Ideas.Common.Traversal.Iterator
        • Ideas.Common.Traversal.Navigator
        • Ideas.Common.Traversal.Tests
        • Ideas.Common.Traversal.Utils
      • Ideas.Common.View
    • Encoding
      • Ideas.Encoding.DecoderJSON
      • Ideas.Encoding.DecoderXML
      • Ideas.Encoding.Encoder
      • Ideas.Encoding.EncoderHTML
      • Ideas.Encoding.EncoderJSON
      • Ideas.Encoding.EncoderXML
      • Ideas.Encoding.Evaluator
      • Ideas.Encoding.LinkManager
      • Ideas.Encoding.Logging
      • Ideas.Encoding.ModeJSON
      • Ideas.Encoding.ModeXML
      • Ideas.Encoding.NewDecoderJSON
      • Ideas.Encoding.NewEncoderJSON
      • Ideas.Encoding.NewModeJSON
      • Ideas.Encoding.OpenMathSupport
      • Ideas.Encoding.Options
      • Ideas.Encoding.Request
      • Ideas.Encoding.RulePresenter
      • Ideas.Encoding.RulesInfo
      • Ideas.Encoding.StrategyInfo
    • Main
      • Ideas.Main.CGI
      • Ideas.Main.CmdLineOptions
      • Ideas.Main.Default
      • Ideas.Main.Revision
    • Service
      • Ideas.Service.Apply
      • Ideas.Service.BasicServices
      • Ideas.Service.Diagnose
      • Ideas.Service.DomainReasoner
      • FeedbackScript
        • Ideas.Service.FeedbackScript.Analysis
        • Ideas.Service.FeedbackScript.Parser
        • Ideas.Service.FeedbackScript.Run
        • Ideas.Service.FeedbackScript.Syntax
      • Ideas.Service.FeedbackText
      • Ideas.Service.ProblemDecomposition
      • Ideas.Service.ServiceList
      • Ideas.Service.State
      • Ideas.Service.Submit
      • Ideas.Service.Types
    • Text
      • Ideas.Text.HTML
        • Ideas.Text.HTML.Templates
        • Ideas.Text.HTML.W3CSS
      • Ideas.Text.JSON
        • Ideas.Text.JSON.Builder
        • Ideas.Text.JSON.Class
        • Ideas.Text.JSON.Data
        • Ideas.Text.JSON.Decoder
        • Ideas.Text.JSON.RPC
      • Ideas.Text.Latex
      • Ideas.Text.MathML
      • OpenMath
        • Dictionary
          • Ideas.Text.OpenMath.Dictionary.Arith1
          • Ideas.Text.OpenMath.Dictionary.Calculus1
          • Ideas.Text.OpenMath.Dictionary.Fns1
          • Ideas.Text.OpenMath.Dictionary.Linalg2
          • Ideas.Text.OpenMath.Dictionary.List1
          • Ideas.Text.OpenMath.Dictionary.Logic1
          • Ideas.Text.OpenMath.Dictionary.Nums1
          • Ideas.Text.OpenMath.Dictionary.Quant1
          • Ideas.Text.OpenMath.Dictionary.Relation1
          • Ideas.Text.OpenMath.Dictionary.Transc1
        • Ideas.Text.OpenMath.FMP
        • Ideas.Text.OpenMath.Object
        • Ideas.Text.OpenMath.Symbol
        • Ideas.Text.OpenMath.Tests
      • Ideas.Text.UTF8
      • Ideas.Text.XML
        • Ideas.Text.XML.Attributes
        • Ideas.Text.XML.Builder
        • Ideas.Text.XML.Data
        • Ideas.Text.XML.Decoder
        • Ideas.Text.XML.Document
        • Ideas.Text.XML.Parser
        • Ideas.Text.XML.Unicode
    • Utils
      • Ideas.Utils.BlackBoxTests
      • Ideas.Utils.Decoding
      • Ideas.Utils.Parsing
      • Ideas.Utils.Prelude
      • Ideas.Utils.QuickCheck
      • Ideas.Utils.StringRef
      • Ideas.Utils.TestSuite
      • Ideas.Utils.Typeable
      • Ideas.Utils.Uniplate

Flags

Automatic Flags
NameDescriptionDefault
logging

enable support for logging interactions to a sqlite3 database

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.5.8, 0.6, 0.7, 1.0, 1.1, 1.2, 1.3, 1.3.1, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9.1
Change log CHANGELOG.txt
Dependencies base (<4.22), blaze-builder (>=0.4 && <0.5), bytestring (>=0.11 && <0.13), case-insensitive (>=1.2 && <1.3), containers (>=0.6 && <0.8), Diff (>=0.4 && <0.6), directory (>=1.3 && <1.4), filepath (>=1.4 && <1.6), HDBC (>=2.4 && <2.5), HDBC-sqlite3 (>=2.3 && <2.4), http-types (>=0.12 && <0.13), mtl (>=2.3 && <2.4), network (>=3.1 && <3.3), parsec (>=3.1 && <3.2), QuickCheck (>=2.14 && <2.19), random (>=1.3 && <1.4), semigroups (>=0.18 && <0.19), streaming-commons (>=0.2 && <0.3), time (>=1.12 && <1.15), uniplate (>=1.6 && <1.7), wai (>=3.2 && <3.3), wl-pprint (>=1.2 && <1.3) [details]
Tested with ghc ==9.6.7, ghc ==9.10.3, ghc ==9.12.4
License Apache-2.0
Copyright (c) 2019
Author Bastiaan Heeren †, Alex Gerdes, Johan Jeuring
Maintainer alexg@chalmers.se
Uploaded by AlexGerdes at 2026-09-05T18:13:40Z
Category Education
Home page http://ideas.cs.uu.nl/
Source repo head: git clone https://github.com/ideas-edu/ideas.git
Distributions
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 10088 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2026-09-05 [all 2 reports]