Lernsysteme lassen sich durch eine Vielzahl von Kriterien charakterisieren. Neben der Interaktionsform (Interaktivität), fallen darunter die zugrundeliegenden Lehr-/Lernstrategien. Am üblichsten ist jedoch die Klassifizierung nach den Lernzielen. Übungssoftware hat dabei den Anspruch, durch Üben zu vertiefen. Sowohl ``Drill and Practice'' Software als auch intelligentere Frage-Antwort-Ansätze lassen sich in diese Kategorie einordnen. Beispiele sind Vokabeltrainer und Mathelernprogramme. Gemeinsam ist ihnen der Wiederholungsgedanke.
Tutorensysteme (auch: tutorielle Systeme) versuchen einem Lerner beim Wissenserwerb in einem für ihn neuen Bereich zu unterstützten. Konventionelle Tutorensysteme folgen dabei einem statischen Ablauf, im einfachsten Fall eine Sammlung von verlinkten Texten, in der Regel ein Wechsel von Lernmaterial und Verständnisfragen. Bei Software, die intelligent auf Benutzerantworten reagiert, spricht man in der Regel dann von Intelligenten Tutorensystemen. Eine weitere Unterkategorie sind adaptive Tutorensysteme, die anhand eines Benutzermodells auf einen individuellen Lerner eingehen.
Um Zusammenhänge in einem (vorzugsweise geschlossenen) System zu verstehen, eignen sich Simulationen. Hier können modellhafte Mikrowelten manipuliert und die Auswirkungen beobachtet werden. Häufig können wirtschaftliche Zusammenhänge so deutlich gemacht werden. Abgeschlossen ist diese Aufzählung nicht, beispielsweise Spiele, die einen Unterhaltungswert in den Vordergrund stellen, oder Virtuelle Communities (Gemeinschaftsgedanke) können weiter unterschieden werden.
Die Auswertung von Antwortauswahlen beschränkt sich auf Vergleiche mit einer vordefinierten Antwort. Auch kurze Texte lassen sich noch relativ einfach vergleichen, solange die Ansprüche nicht zu hoch sind - beispielsweise mit regulären Ausdrücken. Es gibt einige Ansätze, Aufsätze mit Hilfe von Markov Chains auf Relevanz zu prüfen. Dabei wird jedoch prinzipiell das Verhältnis bestimmter Wörter im Aufsatz geprüft, insofern ist dieser Ansatz kritisch zu bewerten.
Im Falle von 'maschinenlesbaren' Texten gibt es mehr Möglichkeiten. Hauptproblem sind dabei nicht Syntax-, sondern eventuelle Semantikchecks. Wenn wir von einem Programm ausgehen kann die Semantik dabei prinzipiell durch eine Spezifikation vorgegeben werden und die Korrektheit bewiesen werden, oder aber durch Ausführung und Tests verifiziert werden. Tests sind deutlich weniger elegant, es müssen einerseits vernünftige Tests angegeben werden, was durchaus nicht trivial sein kein (Stichwort: Blackboxtests), andererseits muss das Programm erst in einen ausführbaren Kontext gebracht werden. Tests haben aber einen entscheidenden Vorteil: sie sind durchführbar.
Die Spezifikation kann durch ein korrektes Beispielsprogramm oder durch eine andere, abstrakte Syntax erfolgen. Beides läuft jedoch auf die gleichen Probleme hinaus. Das allgemeine Äquivalenzproblem für Programme ist algorithmisch unlösbar. Und auch für praxisrelevante Unterprobleme, wie beispielsweise innerhalb einer funktionalen Programmiersprache wie Haskell, ist ein vollautomatischer Beweis noch nicht möglich. Mit AProVE zeigt die Technische Hochschule Aachen die Möglichkeit eines halbautomatischen Terminierungsbeweises, aber das ist weit von den Anforderungen bei der Auswertung entfernt. Die Auswertung von mathematischen Inhalten ist im Gegensatz dazu unproblematischer.
Eine weiterer denkbarer Antworttyp ist ein Baukasten. Ein Baukasten umfasst kombinierbare, unveränderliche Bausteine mit denen eine Antwort formuliert werden kann. Ein Baukasten ist dabei an einen bestimmten Kontext gebunden, austauschbare Kombinationen von Bausteinen werden durch Äquivalenzregeln festgelegt. Dadurch können semantische Vergleiche durchgeführt werden. Für diesen Aufgabentyp konnten keine Beispiele gefunden werden. Die mangelnde Praxisrelevanz kann eventuell darauf zurückgeführt werden, dass einfache Baukästen nur wenig zur Komplexität möglicher Antworten beitragen beziehungsweise einfache Kontexte voraussetzen. Komplexe Baukästen hingegen könnten aufgrund der exponentiell steigenden Äquivalenzregelanzahl zu hohen Aufwand verursachen.