Procházet zdrojové kódy

Applied Krzysztof's suggestions.

Sander Mathijs van Veen před 14 roky
rodič
revize
a19046f3cd
1 změnil soubory, kde provedl 35 přidání a 32 odebrání
  1. 35 32
      docs/proposal.tex

+ 35 - 32
docs/proposal.tex

@@ -8,7 +8,7 @@
 \setlength{\parindent}{0pt}
 \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)
     \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
 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
 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
-apply at that time, and push the student in the right direction by displaying
-a textual hint that tells the user what sort of reduction can be applied. The
-system should also be able to apply that reduction itself.
+`hint' from the system. The system should recognize a best reduction to apply
+at that time, and guide the student in the right direction by displaying a
+textual hint that tells the user what sort of reduction can be applied. When
+asked the system should apply an appropriate reduction step itself.
 
-This document lists the different sections in which the project can be
-divided, along with their expected gradations.
+This document lists the different sections in which the project can be divided,
+along with their expected gradations.
 
 \section{Purpose}
 
 \begin{itemize}
     \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 steps.
     \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.
 \end{itemize}
 
@@ -50,54 +52,53 @@ divided, along with their expected gradations.
     \item Parse expressions and interpret functions (\texttt{integrate()},
     \texttt{expand()}, \texttt{diff()}, etc.). This will include building a
     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}
 
 \subsection{Validation and tutoring}
 
 \begin{itemize}
-    \item Validate expressions with the expression of given exercise.
+    \item Validate eacg reduction step and the final input.
     \item If requested, select the best hint (based on the chosen strategy).
-    \item Generate exercise using predefined templates.
+    \item Generate exercises using predefined templates.
 \end{itemize}
 
 \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}
-    \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+2p) \times 7$
     \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) + 2x + 7$,
     $$ \
     \begin{array}{|rcr|}
     3x + 2y & = & 5 \\
     2x - 3y & = & 6
     \end{array}
     \
-    \rightarrow
-    \
-    \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
+    \dots
     \
     \begin{array}{|rcr|}
     x & = & 2\frac{1}{13} \\
     y & = & -\frac{8}{13}
     \end{array}
     $$
-    \item Trigonometric functions.
-    \item Derivatives.
+
+    \item Trigonometric functions, as considered in VWO.
+    \item Derivatives, as considered in VWO.
     \item Integrals (computing antiderivates).
 \end{itemize}
 
-\subsection{Graphical user interface}
+\subsection{Graphical user interface and evaluation}
 
 \begin{itemize}
     \item Mathematical notation viewer:
@@ -105,8 +106,8 @@ divided, along with their expected gradations.
         \item Rewrite shell expressions to \LaTeX.
         \item \LaTeX $ $ to HTML/CSS/JS using \emph{MathJax}.
     \end{itemize}
-    \item View hints (if requested by the user) in the notation viewer.
-    \item Evaluate the GUI with some early adopters (few pupils and a teacher).
+    \item Show hints (if requested by the user) in the notation viewer.
+    \item Evaluate the GUI with some early adopters (some pupils and a teacher).
 \end{itemize}
 
 \subsection{Screencast, tutorial and final report}
@@ -115,6 +116,8 @@ divided, along with their expected gradations.
     \item Create a screencast to demonstrate the project.
     \item Write a few short-length tutorials (how to use the system).
     \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}
 
 \section{European Credits}
@@ -124,7 +127,7 @@ divided, along with their expected gradations.
 EC & Component \\
 \midrule
 3  & Input parsing and canonical form \\
-9  & Validation and tutoring \\
+9  & Validation, tutoring and evaluation \\
 3  & Graphical user interface \\
 3  & Screencast, tutorial and final report \\
 \bottomrule