| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- \documentclass[10pt,a4paper]{article}
- \usepackage[english]{babel}
- \usepackage[utf8]{inputenc}
- \usepackage{amsmath,hyperref,graphicx,booktabs,float}
- % Paragraph indentation
- \setlength{\parindent}{0pt}
- \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
- \title{An interactive math tutoring system for secondary schools}
- \author{Taddeus Kroes (taddeuskroes@hotmail.com)
- \and Sander Mathijs van Veen (smvv@kompiler.org)}
- \begin{document}
- \maketitle
- \section{Introduction}
- This project comprises the design and production of a web application that can
- assist high school students in learning how to apply mathematical term
- 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 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.
- \section{Purpose}
- \begin{itemize}
- \item A user can simplify / reduce a mathematical expression.
- \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). 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}
- \section{Components}
- \subsection{Input parsing and canonical form}
- \begin{itemize}
- \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 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 eacg reduction step and the final input.
- \item If requested, select the best hint (based on the chosen strategy).
- \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)$,
- $\frac{3}{4} + \frac{4}{5}$
- \item Linear expressions. $(3+2p) \times 7$
- \item Linear expressions with absolute values. $|x-1| = 2$
- \item Equations of the second degree. $(x+1)(x-2) + 2x + 7$,
- $$ \
- \begin{array}{|rcr|}
- 3x + 2y & = & 5 \\
- 2x - 3y & = & 6
- \end{array}
- \
- \dots
- \
- \begin{array}{|rcr|}
- x & = & 2\frac{1}{13} \\
- y & = & -\frac{8}{13}
- \end{array}
- $$
- \item Trigonometric functions, as considered in VWO.
- \item Derivatives, as considered in VWO.
- \item Integrals (computing antiderivates).
- \end{itemize}
- \subsection{Graphical user interface and evaluation}
- \begin{itemize}
- \item Mathematical notation viewer:
- \begin{itemize}
- \item Rewrite shell expressions to \LaTeX.
- \item \LaTeX $ $ to HTML/CSS/JS using \emph{MathJax}.
- \end{itemize}
- \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}
- \begin{itemize}
- \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}
- \begin{tabular}{rl}
- \toprule
- EC & Component \\
- \midrule
- 3 & Input parsing and canonical form \\
- 9 & Validation, tutoring and evaluation \\
- 3 & Graphical user interface \\
- 3 & Screencast, tutorial and final report \\
- \bottomrule
- \end{tabular}
- \end{document}
|