233 development with as little advice as possible from the {\sisac}-team and (3) |
233 development with as little advice as possible from the {\sisac}-team and (3) |
234 to document records and comments for the main steps of development in an |
234 to document records and comments for the main steps of development in an |
235 Isabelle theory; this theory should provide guidelines for future programmers. |
235 Isabelle theory; this theory should provide guidelines for future programmers. |
236 An excerpt from this theory is the main part of this paper. |
236 An excerpt from this theory is the main part of this paper. |
237 \par |
237 \par |
238 The paper will use the problem in Fig.\ref{fig-interactive} as a |
238 |
239 running example: |
239 \medskip The major example resulting from the case study will be used |
|
240 as running example throughout this paper. This example requires a |
|
241 program resembling the size of real-world applications in engineering; |
|
242 such a size was considered essential for the case study, since there |
|
243 are many small programs for a long time (mainly concerned with |
|
244 elementary Computer Algebra like simplification, equation solving, |
|
245 calculus, etc.~\footnote{The programs existing in the {\sisac} |
|
246 prototype are found at |
|
247 http://www.ist.tugraz.at/projects/isac/www/kbase/met/index\_met.html}) |
|
248 |
|
249 \paragraph{The mathematical background of the running example} is the |
|
250 following: In Signal Processing, ``the ${\cal Z}$-Transform for |
|
251 discrete-time signals is the counterpart of the Laplace transform for |
|
252 continuous-time signals, and they each have a similar relationship to |
|
253 the corresponding Fourier transform. One motivation for introducing |
|
254 this generalization is that the Fourier transform does not converge |
|
255 for all sequences, and it is useful to have a generalization of the |
|
256 Fourier transform that encompasses a broader class of signals. A |
|
257 second advantage is that in analytic problems, the $z$-transform |
|
258 notation is often more convenient than the Fourier transform |
|
259 notation.'' ~\cite[p. 128]{oppenheim2010discrete}. The $z$-transform |
|
260 is defined as |
|
261 \begin{equation*} |
|
262 X(z)=\sum_{n=-\infty }^{\infty }x[n]z^{-n} |
|
263 \end{equation*} |
|
264 where a discrete time sequence $x[n]$ is transformed into the function |
|
265 $X(z)$ where $z$ is a continuous complex variable. The inverse |
|
266 function is addressed in the running example and can be determined by |
|
267 the integral |
|
268 \begin{equation*} |
|
269 x[n]=\frac{1}{2\pi j} \oint_{C} X(z)\cdot z^{n-1} dz |
|
270 \end{equation*} |
|
271 where the letter $C$ represents a contour within the range of |
|
272 convergence of the $z$- transform. The unit circle can be a special |
|
273 case of this contour. Remember that $j$ is the complex number in the |
|
274 domain of engineering. As this transformation requires high effort to |
|
275 be solved, tables of commonly used transform pairs are used in |
|
276 education as well as in engineering practice; such tables can be found |
|
277 at~\cite{wiki:1} or~\cite[Table~3.1]{oppenheim2010discrete} as well. |
|
278 A completely solved and more detailed example can be found at |
|
279 ~\cite[p. 149f]{oppenheim2010discrete}. |
|
280 |
|
281 Following conventions in engineering education and in practice, the |
|
282 running example solves the problem by use of a table. |
|
283 |
|
284 \paragraph{Support for interactive stepwise problem solving} in the |
|
285 {\sisac} prototype is shown in Fig.\ref{fig-interactive}~\footnote{ Fig.\ref{fig-interactive} also shows the prototype status of {\sisac}; for instance, |
|
286 the lack of 2-dimensional presentation and input of formulas is the major obstacle for field-tests in standard classes.}: |
|
287 A student inputs formulas line by line on the \textit{``Worksheet''}, |
|
288 and each step (i.e. each formula on completion) is immediately checked |
|
289 by the system such that at most one inconsistent formula can reside on |
|
290 the Worksheet (on the input line, marked by the red $\otimes$). |
240 \begin{figure} [htb] |
291 \begin{figure} [htb] |
241 \begin{center} |
292 \begin{center} |
242 \includegraphics[width=140mm]{fig/isac-Ztrans-math-3} |
293 \includegraphics[width=140mm]{fig/isac-Ztrans-math-3} |
243 %\includegraphics[width=140mm]{fig/isac-Ztrans-math} |
294 %\includegraphics[width=140mm]{fig/isac-Ztrans-math} |
244 \caption{Step-wise problem solving guided by the TP-based program |
295 \caption{Step-wise problem solving guided by the TP-based program |
245 \label{fig-interactive}} |
296 \label{fig-interactive}} |
246 \end{center} |
297 \end{center} |
247 \end{figure} |
298 \end{figure} |
248 |
299 If the student gets stuck and does not know the formula to proceed with, |
249 \paragraph{The Engineering Background of the Problem} comes out of the domain |
300 there is the button \framebox{NEXT} proceeding to the next step. The |
250 Signal Processing, which takes a major part n the authors field of education. |
301 button \framebox{AUTO} immediately delivers the final result in case |
251 The given Problem requests to determine the inverse $z$-transform for a |
302 the student is not interested in intermediate steps. |
252 given term. |
303 |
253 \par |
304 Adaptive dialogue guidance is already under |
254 ``The $z$-Transform for discrete-time signals is the counterpart of the |
305 construction~\cite{gdaroczy-EP-13} and the two buttons will disappear, |
255 Laplace transform for continuous-time signals, and they each have a similar |
306 since their presence is not wanted in many learning scenarios (in |
256 relationship to the corresponding Fourier transform. One motivation for |
307 particular, {\em not} in written exams). |
257 introducing this generalization is that the Fourier transform does not |
308 |
258 converge for all sequences, and it is useful to have a generalization of the |
309 The buttons \framebox{Theories}, \framebox{Problems} and |
259 Fourier transform that encompasses a broader class of signals. A second |
310 \framebox{Methods} are the entry points for interactive lookup of the |
260 advantage is that in analytic problems, the $z$-transform notation is often |
311 underlying knowledge. For instance, pushing \framebox{Theories} in |
261 more convenient than the Fourier transform notation.'' |
312 the configuration shown in Fig.\ref{fig-interactive}, pops up a |
262 ~\cite[p. 128]{oppenheim2010discrete} |
313 ``Theory browser'' displaying the theorem(s) justifying the current |
263 \par |
314 step. All browsers allow to lookup all other theories, thus |
264 The $z$-transform can be defined as: |
315 supporting indepentend investigation of underlying definitions, |
265 \begin{equation} |
316 theorems, proofs --- where the HTML representation of the browsers is |
266 X(z)=\sum_{n=-\infty }^{\infty }x[n]z^{-n} |
317 ready for arbitrary multimedia add-ons. |
267 \end{equation} |
318 |
268 Upper equation transforms a discrete time sequence $x[n]$ into the function |
319 % can be explained by having a look at |
269 $X(z)$ where $z$ is a continuous complex variable. The inverse function (as it |
320 % Fig.\ref{fig-interactive} which shows the beginning of the interactive |
270 is used in the given problem) is defined as: |
321 % construction of a solution for the problem. This construction is done in the |
271 \begin{equation} |
322 % right window named ``Worksheet''. |
272 x[n]=\frac{1}{2\pi j} \oint_{C} X(z)\cdot z^{n-1} dz |
323 % \par |
273 \end{equation} |
324 % User-interaction on the Worksheet is {\em checked} and {\em guided} by |
274 The letter $C$ represents a contour within the range of converge of the $z$- |
325 % TP services: |
275 transform. The unit circle can be a special case of this contour. Remember |
326 % \begin{enumerate} |
276 that $j$ is the complex number in the field of engineering. |
327 % \item Formulas input by the user are {\em checked} by TP: such a |
277 As this transformation requires high effort to be solved, tables of |
328 % formula establishes a proof situation --- the prover has to derive the |
278 common transform pairs are used in education as well as in (TODO: real); such |
329 % formula from the logical context. The context is built up from the |
279 tables can be found at~\cite{wiki:1} or~\cite[Table~3.1]{oppenheim2010discrete} as well. |
330 % formal specification of the problem (here hidden from the user) by the |
280 A completely solved and more detailed example can be found at |
331 % Lucas-Interpreter. |
281 ~\cite[p. 149f]{oppenheim2010discrete}. The upcoming implementation tries to |
332 % \item If the user gets stuck, the program developed below in this |
282 fit this example in the way it is toughed at the authors university. |
333 % paper ``knows the next step'' and Lucas-Interpretation provides services |
283 |
334 % featuring so-called ``next-step-guidance''; this is out of scope of this |
284 |
335 % paper and can be studied in~\cite{gdaroczy-EP-13}. |
285 |
336 % \end{enumerate} It should be noted that the programmer using the |
286 \paragraph{The educational aspect} can be explained by having a look at |
337 % TP-based language is not concerned with interaction at all; we will |
287 Fig.\ref{fig-interactive} which shows the beginning of the interactive |
338 % see that the program contains neither input-statements nor |
288 construction of a solution for the problem. This construction is done in the |
339 % output-statements. Rather, interaction is handled by the interpreter |
289 right window named ``Worksheet''. |
340 % of the language. |
290 \par |
341 % |
291 User-interaction on the Worksheet is {\em checked} and {\em guided} by |
342 % So there is a clear separation of concerns: Dialogues are adapted by |
292 TP services: |
343 % dialogue authors (in Java-based tools), using TP services provided by |
293 \begin{enumerate} |
344 % Lucas-Interpretation. The latter acts on programs developed by |
294 \item Formulas input by the user are {\em checked} by TP: such a |
345 % mathematics-authors (in Isabelle/ML); their task is concern of this |
295 formula establishes a proof situation --- the prover has to derive the |
346 % paper. |
296 formula from the logical context. The context is built up from the |
347 |
297 formal specification of the problem (here hidden from the user) by the |
348 \bigskip The paper is structured as follows: The introduction |
298 Lucas-Interpreter. |
|
299 \item If the user gets stuck, the program developed below in this |
|
300 paper ``knows the next step'' and Lucas-Interpretation provides services |
|
301 featuring so-called ``next-step-guidance''; this is out of scope of this |
|
302 paper and can be studied in~\cite{gdaroczy-EP-13}. |
|
303 \end{enumerate} It should be noted that the programmer using the |
|
304 TP-based language is not concerned with interaction at all; we will |
|
305 see that the program contains neither input-statements nor |
|
306 output-statements. Rather, interaction is handled by the interpreter |
|
307 of the language. |
|
308 |
|
309 So there is a clear separation of concerns: Dialogues are adapted by |
|
310 dialogue authors (in Java-based tools), using TP services provided by |
|
311 Lucas-Interpretation. The latter acts on programs developed by |
|
312 mathematics-authors (in Isabelle/ML); their task is concern of this |
|
313 paper. |
|
314 |
|
315 The paper is structured as follows: The introduction |
|
316 \S\ref{intro} is followed by a brief re-introduction of the TP-based |
349 \S\ref{intro} is followed by a brief re-introduction of the TP-based |
317 programming language in \S\ref{PL}, which extends the executable |
350 programming language in \S\ref{PL}, which extends the executable |
318 fragment of Isabelle's language (\S\ref{PL-isab}) by tactics which |
351 fragment of Isabelle's language (\S\ref{PL-isab}) by tactics which |
319 play a specific role in Lucas-Interpretation and in providing the TP |
352 play a specific role in Lucas-Interpretation and in providing the TP |
320 services (\S\ref{PL-tacs}). The main part \S\ref{trial} describes |
353 services (\S\ref{PL-tacs}). The main part \S\ref{trial} describes |
1468 08 ["SignalProcessing","Z_Transform","Inverse"]); |
1500 08 ["SignalProcessing","Z_Transform","Inverse"]); |
1469 09 val (mout, tac, ctree, pos) = CalcTreeTEST [(fmz, (dI, pI, mI))]; |
1501 09 val (mout, tac, ctree, pos) = CalcTreeTEST [(fmz, (dI, pI, mI))]; |
1470 10 val (mout, tac, ctree, pos) = me tac (ctree, pos); |
1502 10 val (mout, tac, ctree, pos) = me tac (ctree, pos); |
1471 11 val (mout, tac, ctree, pos) = me tac (ctree, pos); |
1503 11 val (mout, tac, ctree, pos) = me tac (ctree, pos); |
1472 12 val (mout, tac, ctree, pos) = me tac (ctree, pos); |
1504 12 val (mout, tac, ctree, pos) = me tac (ctree, pos); |
1473 13 ...\end{verbatim}} |
1505 13 ... |
|
1506 \end{verbatim}} |
1474 |
1507 |
1475 \noindent Several dozens of calls for \texttt{me} are required to |
1508 \noindent Several dozens of calls for \texttt{me} are required to |
1476 create the lines in the calculation below (including the sub-problems |
1509 create the lines in the calculation below (including the sub-problems |
1477 not shown). When an error occurs, the reason might be located |
1510 not shown). When an error occurs, the reason might be located |
1478 many steps before: if evaluation by rewriting, as done by the prototype, |
1511 many steps before: if evaluation by rewriting, as done by the prototype, |
1960 multi-core machines). |
1994 multi-core machines). |
1961 \item Develop an efficient development environment with |
1995 \item Develop an efficient development environment with |
1962 integration of programming and proving, with management not only of |
1996 integration of programming and proving, with management not only of |
1963 Isabelle theories, but also of large collections of specifications and |
1997 Isabelle theories, but also of large collections of specifications and |
1964 of programs. |
1998 of programs. |
1965 \end{itemize} |
1999 \item\label{CAS} Extend Isabelle's computational features in direction of |
|
2000 \textit{verfied} Computer Algebra: simplification extended by |
|
2001 algorithms beyond rewriting (cancellation of multivariate rationals, |
|
2002 factorisation, partial fraction decomposition, etc), equation solving |
|
2003 , integration, etc. |
|
2004 \end{enumerate} |
1966 Provided successful accomplishment, these points provide distinguished |
2005 Provided successful accomplishment, these points provide distinguished |
1967 components for virtual workbenches appealing to practitioner of |
2006 components for virtual workbenches appealing to practitioners of |
1968 engineering in the near future. |
2007 engineering in the near future. |
1969 |
2008 |
1970 \medskip Interactive course material, as addressed by the title, then |
2009 \subsection{Preview to Development of Course Material} |
|
2010 Interactive course material, as addressed by the title, |
1971 can comprise step-wise problem solving created as a side-effect of a |
2011 can comprise step-wise problem solving created as a side-effect of a |
1972 TP-based program: Lucas-Interpretation not only provides an |
2012 TP-based program: The introduction \S\ref{intro} briefly shows that Lucas-Interpretation not only provides an |
1973 interactive programming environment, Lucas-Interpretation also can |
2013 interactive programming environment, Lucas-Interpretation also can |
1974 provide TP-based services for a flexible dialogue component with |
2014 provide TP-based services for a flexible dialogue component with |
1975 adaptive user guidance for independent and inquiry-based learning. |
2015 adaptive user guidance for independent and inquiry-based learning. |
1976 |
2016 |
|
2017 However, the {\sisac} prototype is not ready for use in field-tests, |
|
2018 not only due to the above five requirements not sufficiently |
|
2019 accomplished, but also due to usability of the fron-end, in particular |
|
2020 the lack of an editor for formulas in 2-dimension representation. |
|
2021 |
|
2022 Nevertheless, the experiences from the case study described in this |
|
2023 paper, allow to give a preview to the development of course material, |
|
2024 if based on Lucas-Interpretation: |
|
2025 |
|
2026 \paragraph{Development of material from scratch} is too much effort |
|
2027 just for e-learning; this has become clear with the case study. For |
|
2028 getting support for stepwise problem solving just in {\em one} example |
|
2029 class, the one presented in this paper, involved the following tasks: |
|
2030 \begin{itemize} |
|
2031 \item Adapt the equation solver; since that was too laborous, the |
|
2032 program has been adapted in an unelegant way. |
|
2033 \item Implement an algorithms for partial fraction decomposition, |
|
2034 which is considered a standard normal form in Computer Algebra. |
|
2035 \item Implement a specification for partial fraction decomposition and |
|
2036 locate it appropriately in the hierarchy of specification. |
|
2037 \item Declare definitions and theorems within the theory of ${\cal |
|
2038 Z}$-Transformation, and prove the theorems (which was not done in the |
|
2039 case study). |
|
2040 \end{itemize} |
|
2041 On the other hand, for the one the class of problems implemented, |
|
2042 adding an arbitrary number of examples within this class requires a |
|
2043 few minutes~\footnote{As shown in Fig.\ref{fig-interactive}, an |
|
2044 example is called from an HTML-file by an URL, which addresses an |
|
2045 XML-structure holding the respective data as shown on |
|
2046 p.\pageref{ml-check-program}.} and the support for individual stepwise |
|
2047 problem solving comes for free. |
|
2048 |
|
2049 \paragraph{E-learning benefits from Formal Domain Engineering} which can be |
|
2050 expected for various domains in the near future. In order to cope with |
|
2051 increasing complexity in domain of technology, specific domain |
|
2052 knowledge is beeing mechanised, not only for software technology |
|
2053 \footnote{For instance, the Archive of Formal Proofs |
|
2054 http://afp.sourceforge.net/} but also for other engineering domains |
|
2055 \cite{Dehbonei&94,Hansen94b,db:dom-eng}. This fairly new part of |
|
2056 engineering sciences is called ``domain engineering'' in |
|
2057 \cite{db:SW-engIII}. |
|
2058 |
|
2059 Given this kind of mechanised knowledge including mathematical |
|
2060 theories, domain specific definitions, specifications and algorithms, |
|
2061 theorems and proofs, then e-learning with support for individual |
|
2062 stepwise problem solving will not be much ado anymore; then e-learning |
|
2063 media in technology education can be derived from this knowledge with |
|
2064 reasonable effort. |
|
2065 |
|
2066 \paragraph{Development differentiates into tasks} more separated than |
|
2067 without Lucas-Interpretation and more challenginging in specific |
|
2068 expertise. These are the kinds of experts expected to cooperate in |
|
2069 development of |
|
2070 \begin{itemize} |
|
2071 \item ``Domain engineers'', who accomplish fairly novel tasks described |
|
2072 in this paper. |
|
2073 \item Course designers, who provide the instructional design according |
|
2074 to curricula, together with usability experts and media designers, are |
|
2075 indispensable in production of e-learning media at the state-of-the |
|
2076 art. |
|
2077 \item ``Dialog designers'', whose part of development is clearly |
|
2078 separated from the part of domain engineers as a consequence of Lucas-Interpretation: TP-based programs are functional, as mentioned, and are only concerned with describing mathematics --- and not at all interaction, psychology, learning theory and the like, because there are no in/output statements. Dialog designers can expect a high-level rule-based language~\cite{gdaroczy-EP-13} for describing their part. |
|
2079 \end{itemize} |
|
2080 |
|
2081 % response-to-referees: |
|
2082 % (2.1) details of novel technology in order to estimate the impact |
|
2083 % (2.2) which kinds of expertise are required for production of e-learning media (instructional design, math authoring, dialog authoring, media design) |
|
2084 % (2.3) what in particular is required for programming new exercises supported by next-step-guidance (expertise / efforts) |
|
2085 % (2.4) estimation of break-even points for development of next-step-guidance |
|
2086 % (2.5) usability of ISAC prototype at the present state |
|
2087 % |
|
2088 % The points (1.*) seem to be well covered in the paper, the points (2.*) are not. So I decided to address the points (2.*) in a separate section ยง5.1."". |
|
2089 |
|
2090 For this decade there seems to be a window of opportunity opening from |
|
2091 one side inreasing demand for formal domain engineering and from the |
|
2092 other side from TP more and more gaining industrial relevance. Within |
|
2093 this window, development of TP-based educational software can take |
|
2094 benefit from the fact, that the TPs leading in Europe, Coq and |
|
2095 Isabelle are still open source together with the major part of |
|
2096 mechanised knowledge.%~\footnote{NICTA}. |
1977 |
2097 |
1978 \bibliographystyle{alpha} |
2098 \bibliographystyle{alpha} |
1979 {\small\bibliography{references}} |
2099 {\small\bibliography{references}} |
1980 |
2100 |
1981 \end{document} |
2101 \end{document} |