# triska/rits

Rule-based Intelligent Tutoring System
JavaScript CSS Prolog TeX Perl HTML Makefile
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
 Failed to load latest commit information. backend content Jul 3, 2015 slides web .gitignore Jul 4, 2015 LICENSE Jan 26, 2016 Makefile README.md Apr 28, 2017 TODO Jul 3, 2015 debug.pl interaction.pl Jul 3, 2015 load.pl load_student.pl load_teacher.pl lorits.pl merge_translations.pl prepare_translation.pl rits.pl rits_architecture.pdf rits_architecture.tex rits_common_multiple.pl rits_fractions.pl Jul 3, 2015 rits_multiple_choice.pl rits_principles.pdf Jul 3, 2015 rits_principles.tex Jul 3, 2015 testing.pl translations.pl Jul 3, 2015 utrits.ps Jul 3, 2015

## RITS: Rule-based Intelligent Tutoring System

RITS implements a domain-specific language for guiding students through solving tasks. See rits_fractions.pl for the definition of a concrete use case.

See rits_architecture.pdf for more information.

See the web directory for web-based access.

Try the web-based demo.

Screenshots of the fractions example and a multiple choice test:

Developed in cooperation with Vamobi. Intended for inclusion in Vamobi TA to help pupils, teachers and administrators in Mozambique.

Example invocation on the console:

``````\$ swipl -q -f interaction.pl -g "solve_with_student(1/2+3/4)"
``````

Example interaction:

``````Please solve:

1/2 + 3/4
|: 4/6.
This is wrong.
You cannot just sum the numerators when the denominators are different!

Let us first find a common multiple of 2 and 4!
Please enter a common multiple of 2 and 4:

|: 2.
This is wrong.
2 is no common multiple of 2 and 4, since 2 is not divisible by 4!
So, let's try again!
Please enter a common multiple of 2 and 4:

|: 3.
This is wrong.
3 is not a common multiple of 2 and 4, since 3 is not divisible by 2!
So, let's try again!
Please enter a common multiple of 2 and 4:

|: 5.
This is wrong.
I see you are having a hard time with this.
Hint: 2 * 4 = 8 is a possible solution.
So, let's try again!
Please enter a common multiple of 2 and 4:

|: 8.
Good, the solution is correct. There is also a smaller solution!
Now apply this knowledge to the original task!
Please solve:

1/2 + 3/4
|: 10/8.
Good, the solution is correct, but not minimal.
Please cancel common divisors in:

10/8
|: 1/4.
This is wrong!
Unfortunately, I cannot give any useful hints here.
So, let's try again!
Please cancel common divisors in:

10/8
|: 5/0.
The denominator of a fraction cannot be 0.
So, let's try again!
Please cancel common divisors in:

10/8
|: 5/4.
Good, the solution is correct and also minimal. Very nice!

the interaction history: [solve(1/2+3/4),internal(1/2+3/4=4/6),solve(cm(2,4)),internal(cm(2,4)=2),solve(cm(2,4)),internal(cm(2,4)=3),solve(cm(2,4)),internal(cm(2,4)=5),solve(cm(2,4)),internal(cm(2,4)=8),solve(1/2+3/4),internal(1/2+3/4=10/8),solve(cancel(10/8)),internal(cancel(10/8)=1/4),solve(cancel(10/8)),internal(cancel(10/8)=5/0),solve(cancel(10/8)),internal(cancel(10/8)=5/4)]
true.
``````