proposal.tex 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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{Mathematical Term Rewriting System}
  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. TODO
  15. TODO
  16. TODO
  17. \section{Purpose}
  18. \begin{itemize}
  19. \item A user can simplify / reduce a mathematical expression.
  20. \item Program can verify the user's reduction step.
  21. \item A user should be able to ask for zero, one or more hints (with a
  22. maximum of one hint per reduction step).
  23. \item Program can generate exercises using predefined templates.
  24. \end{itemize}
  25. \section{Components}
  26. \subsection{Input parsing and canonical form}
  27. \begin{itemize}
  28. \item Parse expressions and interpret functions (\texttt{integrate()},
  29. \texttt{expand()}, \texttt{diff()}, etc.). This will include building a
  30. parser generator using \emph{bison} and \emph{flex}.
  31. \item Canonicalize an expression: $4 + x^2 + x \rightarrow x^2 + x + 4$.
  32. \end{itemize}
  33. \subsection{Validation and tutoring}
  34. \begin{itemize}
  35. \item Validate expressions with the expression of given exercise.
  36. \item If requested, select the best hint (based on the chosen strategy).
  37. \item Generate exercise using predefined templates.
  38. \end{itemize}
  39. \subsubsection{Modules}
  40. \begin{itemize}
  41. \item Expressions without variables. $(3+4) \times (5+7)$
  42. \item Linear expressions. $(3+2p) \times 7$
  43. \item Linear expressions with absolute values. $|x-1| = 2$
  44. \item Systems of linear equations (two variables).
  45. $$ \
  46. \begin{array}{|rcr|}
  47. 3x + 2y & = & 5 \\
  48. 2x - 3y & = & 6
  49. \end{array}
  50. \
  51. \rightarrow
  52. \
  53. \begin{array}{|rcr|}
  54. x + \frac{2}{3}y & = & \frac{5}{3} \\
  55. x - \frac{3}{2}y & = & 3
  56. \end{array}
  57. \
  58. \rightarrow
  59. \
  60. \frac{5}{3} - \frac{2}{3}y = 3 + \frac{3}{2}y
  61. \
  62. \rightarrow
  63. \
  64. \begin{array}{|rcr|}
  65. x & = & 2\frac{1}{13} \\
  66. y & = & -\frac{8}{13}
  67. \end{array}
  68. $$
  69. \item Trigonometric functions.
  70. \item Derivatives.
  71. \item Integrals (computing antiderivates).
  72. \end{itemize}
  73. \subsection{Graphical user interface}
  74. \begin{itemize}
  75. \item Mathematical notation viewer:
  76. \begin{itemize}
  77. \item Rewrite shell expressions to \LaTeX.
  78. \item \LaTeX $ $ to HTML/CSS/JS using \emph{MathJax}.
  79. \end{itemize}
  80. \item View hints (if requested by the user) in the notation viewer.
  81. \item Evaluate the GUI with some early adopters (few pupils and a teacher).
  82. \end{itemize}
  83. \subsection{Screencast, tutorial and final report}
  84. \begin{itemize}
  85. \item Create a screencast to demonstrate the project.
  86. \item Write a few short-length tutorials (how to use the system).
  87. \item Write the final report (e.g. evaluation of the project).
  88. \end{itemize}
  89. \section{European credits}
  90. \begin{tabular}{rl}
  91. \toprule
  92. EC & Component \\
  93. \midrule
  94. 3 & Input parsing and canonical form \\
  95. 9 & Validation and tutoring \\
  96. 3 & Graphical user interface \\
  97. 3 & Screencast, tutorial and final report \\
  98. \bottomrule
  99. \end{tabular}
  100. \end{document}