Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
trs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
trs
Commits
a19046f3
Commit
a19046f3
authored
Nov 09, 2011
by
Sander Mathijs van Veen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Applied Krzysztof's suggestions.
parent
63ad66df
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
32 deletions
+35
-32
docs/proposal.tex
docs/proposal.tex
+35
-32
No files found.
docs/proposal.tex
View file @
a19046f3
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
\setlength
{
\parindent
}{
0pt
}
\setlength
{
\parindent
}{
0pt
}
\setlength
{
\parskip
}{
1ex plus 0.5ex minus 0.2ex
}
\setlength
{
\parskip
}{
1ex plus 0.5ex minus 0.2ex
}
\title
{
Mathematical Term Rewriting System
}
\title
{
An interactive math tutoring system for secondary schools
}
\author
{
Taddeus Kroes (taddeuskroes@hotmail.com)
\author
{
Taddeus Kroes (taddeuskroes@hotmail.com)
\and
Sander Mathijs van Veen (smvv@kompiler.org)
}
\and
Sander Mathijs van Veen (smvv@kompiler.org)
}
...
@@ -24,21 +24,23 @@ reductions. The basic idea is that the student can work on an assignment using
...
@@ -24,21 +24,23 @@ reductions. The basic idea is that the student can work on an assignment using
an online text editor. The text entered in the editor is converted to a
an online text editor. The text entered in the editor is converted to a
mathematical notation and displayed on the screen in real-time. If the student
mathematical notation and displayed on the screen in real-time. If the student
gets stuck while rewriting a mathematical formula, he or she can request a
gets stuck while rewriting a mathematical formula, he or she can request a
'hint' from the system. The system should recognize the best reduction to
`hint' from the system. The system should recognize a best reduction to apply
a
pply at that time, and push the student in the right direction by displaying
a
t that time, and guide the student in the right direction by displaying a
a textual hint that tells the user what sort of reduction can be applied. The
textual hint that tells the user what sort of reduction can be applied. When
system should also be able to apply that reduction
itself.
asked the system should apply an appropriate reduction step
itself.
This document lists the different sections in which the project can be
This document lists the different sections in which the project can be
divided,
divided,
along with their expected gradations.
along with their expected gradations.
\section
{
Purpose
}
\section
{
Purpose
}
\begin{itemize}
\begin{itemize}
\item
A user can simplify / reduce a mathematical expression.
\item
A user can simplify / reduce a mathematical expression.
\item
Program can verify the user's reduction step.
\item
Program can verify the user's reduction step
s
.
\item
A user should be able to ask for zero, one or more hints (with a
\item
A user should be able to ask for zero, one or more hints (with a
maximum of one hint per reduction step).
maximum of one hint per reduction step). In case the hint does not help,
the system should output the outcome of an appropriate single reduction
step.
\item
Program can generate exercises using predefined templates.
\item
Program can generate exercises using predefined templates.
\end{itemize}
\end{itemize}
...
@@ -50,54 +52,53 @@ divided, along with their expected gradations.
...
@@ -50,54 +52,53 @@ divided, along with their expected gradations.
\item
Parse expressions and interpret functions (
\texttt
{
integrate()
}
,
\item
Parse expressions and interpret functions (
\texttt
{
integrate()
}
,
\texttt
{
expand()
}
,
\texttt
{
diff()
}
, etc.). This will include building a
\texttt
{
expand()
}
,
\texttt
{
diff()
}
, etc.). This will include building a
parser generator using
\emph
{
bison
}
and
\emph
{
flex
}
.
parser generator using
\emph
{
bison
}
and
\emph
{
flex
}
.
\item
Canonicalize an expression:
$
4
+
x
^
2
+
x
\rightarrow
x
^
2
+
x
+
4
$
.
\item
Bring an expression to a normal form:
$
4
+
x
^
2
+
x
\rightarrow
x
^
2
+
x
+
4
$
.
\end{itemize}
\end{itemize}
\subsection
{
Validation and tutoring
}
\subsection
{
Validation and tutoring
}
\begin{itemize}
\begin{itemize}
\item
Validate e
xpressions with the expression of given exercise
.
\item
Validate e
acg reduction step and the final input
.
\item
If requested, select the best hint (based on the chosen strategy).
\item
If requested, select the best hint (based on the chosen strategy).
\item
Generate exercise using predefined templates.
\item
Generate exercise
s
using predefined templates.
\end{itemize}
\end{itemize}
\subsubsection
{
Modules
}
\subsubsection
{
Modules
}
Each module will require design of an appropriate set of term
rewriting rules and selection of an appropriate reduction strategy
that allows for nondeterminism, both in the choice of the rewriting
rule and in the choice of the subterm to which the rule will be
applied. Nondeterminism is needed for validating every user's input
(outcome of a single reduction step) against the previous term.
\begin{itemize}
\begin{itemize}
\item
Expressions without variables.
$
(
3
+
4
)
\times
(
5
+
7
)
$
\item
Expressions without variables.
$
(
3
+
4
)
\times
(
5
+
7
)
$
,
$
\frac
{
3
}{
4
}
+
\frac
{
4
}{
5
}$
\item
Linear expressions.
$
(
3
+
2
p
)
\times
7
$
\item
Linear expressions.
$
(
3
+
2
p
)
\times
7
$
\item
Linear expressions with absolute values.
$
|x
-
1
|
=
2
$
\item
Linear expressions with absolute values.
$
|x
-
1
|
=
2
$
\item
Systems of linear equations (two variables).
\item
Equations of the second degree.
$
(
x
+
1
)(
x
-
2
)
+
2
x
+
7
$
,
$$
\
$$
\
\begin
{
array
}{
|rcr|
}
\begin
{
array
}{
|rcr|
}
3
x
+
2
y
&
=
&
5
\\
3
x
+
2
y
&
=
&
5
\\
2
x
-
3
y
&
=
&
6
2
x
-
3
y
&
=
&
6
\end
{
array
}
\end
{
array
}
\
\
\rightarrow
\dots
\
\begin
{
array
}{
|rcr|
}
x
+
\frac
{
2
}{
3
}
y
&
=
&
\frac
{
5
}{
3
}
\\
x
-
\frac
{
3
}{
2
}
y
&
=
&
3
\end
{
array
}
\
\rightarrow
\
\frac
{
5
}{
3
}
-
\frac
{
2
}{
3
}
y
=
3
+
\frac
{
3
}{
2
}
y
\
\rightarrow
\
\
\begin
{
array
}{
|rcr|
}
\begin
{
array
}{
|rcr|
}
x
&
=
&
2
\frac
{
1
}{
13
}
\\
x
&
=
&
2
\frac
{
1
}{
13
}
\\
y
&
=
&
-
\frac
{
8
}{
13
}
y
&
=
&
-
\frac
{
8
}{
13
}
\end
{
array
}
\end
{
array
}
$$
$$
\item
Trigonometric functions.
\item
Derivatives.
\item
Trigonometric functions, as considered in VWO.
\item
Derivatives, as considered in VWO.
\item
Integrals (computing antiderivates).
\item
Integrals (computing antiderivates).
\end{itemize}
\end{itemize}
\subsection
{
Graphical user interface
}
\subsection
{
Graphical user interface
and evaluation
}
\begin{itemize}
\begin{itemize}
\item
Mathematical notation viewer:
\item
Mathematical notation viewer:
...
@@ -105,8 +106,8 @@ divided, along with their expected gradations.
...
@@ -105,8 +106,8 @@ divided, along with their expected gradations.
\item
Rewrite shell expressions to
\LaTeX
.
\item
Rewrite shell expressions to
\LaTeX
.
\item
\LaTeX
$
$
to HTML/CSS/JS using
\emph
{
MathJax
}
.
\item
\LaTeX
$
$
to HTML/CSS/JS using
\emph
{
MathJax
}
.
\end{itemize}
\end{itemize}
\item
Vie
w hints (if requested by the user) in the notation viewer.
\item
Sho
w hints (if requested by the user) in the notation viewer.
\item
Evaluate the GUI with some early adopters (
few
pupils and a teacher).
\item
Evaluate the GUI with some early adopters (
some
pupils and a teacher).
\end{itemize}
\end{itemize}
\subsection
{
Screencast, tutorial and final report
}
\subsection
{
Screencast, tutorial and final report
}
...
@@ -115,6 +116,8 @@ divided, along with their expected gradations.
...
@@ -115,6 +116,8 @@ divided, along with their expected gradations.
\item
Create a screencast to demonstrate the project.
\item
Create a screencast to demonstrate the project.
\item
Write a few short-length tutorials (how to use the system).
\item
Write a few short-length tutorials (how to use the system).
\item
Write the final report (e.g. evaluation of the project).
\item
Write the final report (e.g. evaluation of the project).
\item
Clarify for which chapters of the VWO mathematic books the system can
be used.
\end{itemize}
\end{itemize}
\section
{
European Credits
}
\section
{
European Credits
}
...
@@ -124,7 +127,7 @@ divided, along with their expected gradations.
...
@@ -124,7 +127,7 @@ divided, along with their expected gradations.
EC
&
Component
\\
EC
&
Component
\\
\midrule
\midrule
3
&
Input parsing and canonical form
\\
3
&
Input parsing and canonical form
\\
9
&
Validation
and tutoring
\\
9
&
Validation
, tutoring and evaluation
\\
3
&
Graphical user interface
\\
3
&
Graphical user interface
\\
3
&
Screencast, tutorial and final report
\\
3
&
Screencast, tutorial and final report
\\
\bottomrule
\bottomrule
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment