what toolbox is necessary for building exercise environments for algebraic transformations rein...

23
What toolbox is necessary for building exercise environments for algebraic transformations Rein Prank University of Tartu [email protected]

Upload: winifred-garrison

Post on 31-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

What toolbox is necessary for building exercise environments

for algebraic transformations

Rein Prank

University of Tartu

[email protected]

We need exercise environments

Most popular software for expression manipulation tasks are Computer Algebra Systems.

But we need also environments where the student could construct himself step-by-step solutions, exercise the technical skills.

It should be possible make mistakes, get feedback and hints, use the software for assessment of step-by-step

solutions

Existing environments

Some examples exist already• MathXpert (M.Beeson) – rule-based transformations• Aplusix (J.-F.Nicaud et al) – input-based transformations• T-algebra (Tartu) – rule+operands+input

• Several attempts for small problem areas

Why not more?

Creating of exercise environments requires perfect implementation of big amount of underlying mathematics and syntactical functions.

We could have more interesting programs if the implementations of necessary kernel functions were available.

This paper

Extracts kernel functions which are necessary for building exercise environments for school (and further) algebra,

and tries to identify what components could be borrowed from universal toolboxes (underlying CAS or libraries of utilities).

We add some general considerations and future dreams.

Solution dialog

Depending on didactical ideas and application areas the solution environments can have different kinds of solution step dialog

For learning of technical rigour (basic school) the student should enter the resulting expressions himself and the program should verify them

For more creative tasks (complex equations, factorization, integration) it could be better to have rule-based interface where the student can try the solution ideas

In this paper we count with needs of both approaches

Assumed step dialog

We assume that in most detailed working modes the solution step could contain three substeps:

1) selection of the operation (conversion rule) from the menu,

2) (precise) marking of operand(s) in expression,

3) entering the result of operation.

Step dialog in T-algebra

Most important kernel functions

1. Sufficient spectrum of syntactical constructions. 2. Editor for expressions in planar form. 3. The editor functionality of marking of several separate

operands. 4. Checking of syntactical correctness of

expressions/marking. 5. Checking of suitability of marked operands for selected

operation.6. Verification of equivalence of expressions/equations/… 7. Execution of all menu operations. 8. Checking of consistency of the entered result with

operation and operands. 9. Execution of ‘textbook algorithms’ for all task types. 10. Checking of final form for all task types.

1. Sufficient spectrum of syntactical

constructions

Some examples:

• Radicals

• Exponents

• Fractions, mixed numbers

• sin² (x), sin x

2. Editor for expressions in planar form

and underlying plain-text representation of expressions/equations/systems

Some standard for this is needed

3. The editor functionality of marking of several separate operands

4. Checking of syntactical correctness of

expressions/marking Syntax can be different for different classes of tasks, in

different countries, ...

It is not sufficient to have an editor where the marking jumps from one correct position to the next automatically (this is good for CAS but not for acquiring of initial skills)

5. Checking of suitability of marked

operands for selected operation

Problem: usually some (but not precisely defined) preprocessing is allowed

Example: combine like terms in

3aba+4a²b-ba²+7a²b

6. Checking of equivalence of

expressions/equations/…

This is the most critical kernel function for input-based environments: the environment should be able to verify correctness of the step

Computer algebra systems are not able to solve this problem

• Decision problem can be unsolvable• Evaluation of variables helps in some cases (but not for

zero-measure differences)

Negative result

(Richardson, 1968 + Matiyasevich, 1970) Let F denote the class of functions in one real variable that can

be defined by expressions constructed from the variable x, the integers and the number π, combined through addition, subtraction, multiplication, sin and abs (absolute value).

There is no algorithm for deciding for an arbitrary given expression E(x) from the class F whether the equality

E(x) = 0holds identically for all values of x.

Corollary. Problem of equivalence of expressions in school trigonometry is undecidable

7. Execution of all menu operations

• It would be nice to have at least the most standard operations already implemented.

• It would be better to have only the most ‘elementary’ content of the operation implemented: with preprocessing but without postprocessing

Example: multiplication of polynomials but without collection of like terms

8. Verification of consistency of the entered result with the operation and

operands

Sensitive to particular demands and traditions

9. Execution of ‘textbook algorithms’ for

all task types

• Some task types are taught without solution algorithm (factorization, ...)

• Algorithms can have ‘local’ variationsExample. In some countries mixed numbers are converted to improper fractions before addition

10. Verification of the final form for all

task types • Sensitive to particular demands

Example: ordering of members of polynomial can be required/not requiredLibrary for verification of particular syntactical features could be useful

What could contain the toolbox:included/ frequent cases/ utilities for syntactical

categories

1. Sufficient spectrum of syntactical constructions. 2. Editor for expressions in planar form. 3. The editor functionality of marking of several separate

operands. 4. Checking of syntactical correctness of

expressions/marking. 5. Checking of suitability of marked operands for selected

operation.6. Verification of equivalence of expressions/equations/… 7. Execution of all menu operations. 8. Checking of consistency of the entered result with

operation and operands. 9. Execution of ‘textbook algorithms’ for all task types. 10. Checking of final form for all task types.

Good library of utilities for checking of syntactical categories is also very important

for implementation of error diagnostics

Some general problems of consistent use of CAS/libraries

• Number domain: C versus R or even Q, Z, NSwitching to R in CAS-s is not always correctly implemented

• Universal preprocessing: conversion of expressions to internal form of particular CAS – not acceptable for school exercises

• Explicit output of assumptions made by simplification operations: x²/x=x if x≠0. In some topics we teach students to this but CAS-s mainly ignore the issue.

Some nice dreams

• Universal transformation engine for arbitrary transformation algorithm, based on ordered list of transformation rules (and some restrictions)

• Universal checking engine for checking of syntactical properties,based on list of required syntactical categories

• Universal mathing enginefor establishing of matching/unlike structure/parts of two expressions