proposal.tex 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. \documentclass[10pt,a4paper]{article}
  2. \usepackage[english]{babel}
  3. \usepackage[utf8]{inputenc}
  4. \usepackage{amsmath,hyperref,graphicx,booktabs,float}
  5. % Paragraph indentation
  6. \setlength{\parindent}{0pt}
  7. \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
  8. \title{An interactive math tutoring system for secondary schools}
  9. \author{Taddeus Kroes (taddeuskroes@hotmail.com)
  10. \and Sander Mathijs van Veen (smvv@kompiler.org)}
  11. \begin{document}
  12. \maketitle
  13. \section{Introduction}
  14. This project comprises the design and production of a web application that can
  15. assist high school students in learning how to apply mathematical term
  16. reductions. The basic idea is that the student can work on an assignment using
  17. an online text editor. The text entered in the editor is converted to a
  18. mathematical notation and displayed on the screen in real-time. If the student
  19. gets stuck while rewriting a mathematical formula, he or she can request a
  20. `hint' from the system. The system should recognize a best reduction to apply
  21. at that time, and guide the student in the right direction by displaying a
  22. textual hint that tells the user what sort of reduction can be applied. When
  23. asked the system should apply an appropriate reduction step itself.
  24. This document lists the different sections in which the project can be divided,
  25. along with their expected gradations.
  26. \section{Purpose}
  27. \begin{itemize}
  28. \item A user can simplify / reduce a mathematical expression.
  29. \item Program can verify the user's reduction steps.
  30. \item A user should be able to ask for zero, one or more hints (with a
  31. maximum of one hint per reduction step). In case the hint does not help,
  32. the system should output the outcome of an appropriate single reduction
  33. step.
  34. \item Program can generate exercises using predefined templates.
  35. \end{itemize}
  36. \section{Components}
  37. \subsection{Input parsing and canonical form}
  38. \begin{itemize}
  39. \item Parse expressions and interpret functions (\texttt{integrate()},
  40. \texttt{expand()}, \texttt{diff()}, etc.). This will include building a
  41. parser generator using \emph{bison} and \emph{flex}.
  42. \item Bring an expression to a normal form:
  43. $4 + x^2 + x \rightarrow x^2 + x + 4$.
  44. \end{itemize}
  45. \subsection{Validation and tutoring}
  46. \begin{itemize}
  47. \item Validate each reduction step and the final input.
  48. \item If requested, select the best hint (based on the chosen strategy).
  49. \item Generate exercises using predefined templates.
  50. \end{itemize}
  51. \subsubsection{Modules}
  52. Each module will require design of an appropriate set of term
  53. rewriting rules and selection of an appropriate reduction strategy
  54. that allows for nondeterminism, both in the choice of the rewriting
  55. rule and in the choice of the subterm to which the rule will be
  56. applied. Nondeterminism is needed for validating every user's input
  57. (outcome of a single reduction step) against the previous term.
  58. \begin{itemize}
  59. \item Expressions without variables. $(3+4) \times (5+7)$,
  60. $\frac{3}{4} + \frac{4}{5}$
  61. \item Linear expressions. $(3+2p) \times 7$
  62. \item Linear expressions with absolute values. $|x-1| = 2$
  63. \item Equations of the second degree. $(x+1)(x-2) + 2x + 7$,
  64. $$ \
  65. \begin{array}{|rcr|}
  66. 3x + 2y & = & 5 \\
  67. 2x - 3y & = & 6
  68. \end{array}
  69. \
  70. \dots
  71. \
  72. \begin{array}{|rcr|}
  73. x & = & 2\frac{1}{13} \\
  74. y & = & -\frac{8}{13}
  75. \end{array}
  76. $$
  77. \item Trigonometric functions, as considered in VWO.
  78. \item Derivatives, as considered in VWO.
  79. \item Integrals (computing antiderivates).
  80. \end{itemize}
  81. \subsection{Graphical user interface and evaluation}
  82. \begin{itemize}
  83. \item Mathematical notation viewer:
  84. \begin{itemize}
  85. \item Rewrite shell expressions to \LaTeX.
  86. \item \LaTeX $ $ to HTML/CSS/JS using \emph{MathJax}.
  87. \end{itemize}
  88. \item Show hints (if requested by the user) in the notation viewer.
  89. \item Evaluate the GUI with some early adopters (some pupils and a teacher).
  90. \end{itemize}
  91. \subsection{Screencast, tutorial and final report}
  92. \begin{itemize}
  93. \item Create a screencast to demonstrate the project.
  94. \item Write a few short-length tutorials (how to use the system).
  95. \item Write the final report (e.g. evaluation of the project).
  96. \item Clarify for which chapters of the VWO mathematic books the system can
  97. be used.
  98. \end{itemize}
  99. \section{European Credits}
  100. \begin{tabular}{rl}
  101. \toprule
  102. EC & Component \\
  103. \midrule
  104. 3 & Input parsing and canonical form \\
  105. 9 & Validation, tutoring and evaluation \\
  106. 3 & Graphical user interface \\
  107. 3 & Screencast, tutorial and final report \\
  108. \bottomrule
  109. \end{tabular}
  110. \end{document}