Sindbad~EG File Manager

Current Path : /usr/home/beeson/public_html/michaelbeeson/research/papers/
Upload File :
Current File : /usr/home/beeson/public_html/michaelbeeson/research/papers/HISC.DVI

����;� TeX output 1996.02.14:2015������l�����'���&��Tw
�9D��tG�G�cmr17�Design�7tPrinciples�of��H�':G�
cmti10�HMathp���ert����:��Soft��qw�are�7tto����SD�Supp�s�ort�7tEducation�in�Algebra�and�Calculus��������û��+X�Qcmr12�Mic��rhael��Beeson������g3�Departmen��rt��of�Mathematics�and�Computer�Science���������San��Jose�State�Univ��rersit�y��������lSan��Jose,�California�95192�������m�USA�������tvemail:�8�b�S�eeson@cats.ucsc.edu������]�����<dF��Vebruary��14,�1996��%��N�K�`y

cmr10�This���pap�Ger�lists�eigh���t�design�criteria�that�m�ust�b�Ge�met�if�w�e�are�to�pro�vide����?successful��computer�supp�Gort�for�education�in�algebra,��trig,�and��calculus.�Z�It�also����?describ�Ges�s8��':

cmti10�Mathp��}'ert�,��qa�piece�of�soft���w�are�s8that�w���as�built�with�these�criteria�in�mind.����?The��hdescription�giv���en�here�is�in�tended�for�designers�of�other�soft�w�are,�)�for�de-����?signers�Ԇof�new�teac���hing�materials�and�curricula�utilizing�mathematical�soft�w�are,����?and��for�professors�in���terested�in�using�suc�h�soft�w�are.��]The�design�principles�in����?question���in���v�olv�e�b�Goth�the�user�in�terface�and�the�in�ternal�op�Geration�of�the�soft-����?w���are.��*F��*�or�
!example,�;three�imp�Gortan�t�principles�are��c��}'o�gnitive�<�delity�,�;the�
!�glass����?b��}'ox�P��principle,�Q�and�the��c�orr�e�ctness��principle.�pHAfter�an�o���v�erview�P�of�design�princi-����?ples,�bw���e�_�discuss�the�design�of��Mathp��}'ert��in�the�ligh�t�of�these�principles,�bsho�wing����?ho���w�UUthe�main�lines�of�the�design�w�ere�determined�b�y�these�principles.����^��ٓ�Rcmr7�1����!č��?�7�"Vff
cmbx10�1��^�Purp�u�oses�A�of�soft��=w�are�A�for�mathematics�edu-����W�cation�����?�The��rst�step�in�prop�Ger�soft���w�are��design�is�a�clear�statemen���t�of�the�purp�ose�of����?the�UUsoft���w�are.�q�Here,�for�example,�is�a�statemen�t�of�purp�Gose�for��Mathp��}'ert����:����N�Mathp��}'ert���is�in���tended�to�replace�pap�Ger-and-p�encil��homew�ork�in�algebra,�(trig,����?and��calculus,���retaining�compatibilit���y�with�the�existing�curriculum�while�at�the����?same���time�supp�Gorting�inno���v��q�ativ�e���curriculum�c���hanges;���to�pro�vide�easy-to-use��?�X-�ff��v�	J=����"5��-:��Aa�cmr6�1���L��
|{Ycmr8�The�U�scop�<re�of�this�pap�er�is�strictly�limited�to�an�exp�osition�of�the�design�principles�and��	��their��application�to��#�f�cmti8�Mathp���ert�.�$�I��shall�not�attempt�to�review�pro�x�jects�other�than��Mathp�ert��in���the��Xligh�Ît�of�these�design�principles.�������f�1����*�l�����'������?�computer�/�graphics�for�classro�Gom�demonstrations�in�those�sub��8jects,�f|as�w���ell�as����?for���home�study;��Wto�replace�or�supplemen���t�c�halk-and-blac�kb�Goard�in�the�classro�om����?for��sym���b�Golic�problems�as�w�ell�as�graphs.���Mathp��}'ert��is�not�in�tended�to�replace����?teac���hers�m�or�b�Go�oks:���it�m�is�not�explicitly�tutorial.�$�It�is�a�\computerized�en�vironmen�t����?for�%3solving�problems."�a�It�can�b�Ge�used�b���y�studen�ts�of�all�ages�and�lev�els�who�are����?prepared�UUto�learn�the�sub��8ject�matter.����NMost��Qexp�Gerimen���ts�to�date�with�using�soft�w�are�in�calculus�instruction�ha�v�e����?used�9-general-purp�Gose�sym���b�olic�programs�suc���h�as��Maple��or��Mathematic��}'a�.�hdThese����?programs��w���ere�not�dev�elop�Ged�sp�ecically�for�education,���and�it�is�therefore�small����?w���onder�ױthat�their�capabilities�are�not�en�tirely�matc�hed�to�the�needs�of�studen�ts.����NI�s|will�s�sho���w�in�this�pap�Ger,�{among�other�things,�that�if�w���e�start�with�an��e��}'du-����?c��}'ational�n�purp�Gose,��and�en���unciate�some�simple�design�principles�that�more�or�less����?ob���viously��[follo�w�from�that�purp�Gose,��these�principles�ha�v�e�ramications�that�run����?through�aLto�the�computational�core�of�suc���h�a�system,�dJso�that�it�is�imp�Gossible�to����?ac���hiev�e���ideal�results�b���y�tac�king�on�some�additional�\in�terface"�features�to�a�pre-����?viously�Yexisting�computation�system.�}T��*�o�put�the�matter�another�w���a�y:�yWit�Yis�not����?p�Gossible���en���tirely�to�separate�\in�terface"�considerations�from�\k�ernel"�consider-����?ations.��Suc���h��a�separation�migh�t�b�Ge�p�ossible�(to�facilitate�running�on�dieren���t����?platforms),�Σbut��.only�if�the�k���ernel�itself�has�b�Geen�designed�with�education�in����?mind.����NThe�P%most�serious�and�thorough�attempt�to�build�an�educational�system�based����?on�D�pre-existing�sym���b�Golic�computation�soft�w�are�is�describ�Ged�in�[�17��
].�?�The�rst����?paragraph��cof�this�pap�Ger�sa���ys�\w�e�will�demonstrate�ho�w�sp�Gecic�features�common����?to���sym���b�Golic�computation�programs�diminish�their�p�edagogical�eectiv���eness."����?Nev���ertheless,�^�they�)�sa�y�\The�reason�to�adopt�an�existing�pac�k��q�age�rather�than����?dev���elop��ones�o�wn�is�the�recognition�that�programs�lik�e�Maple�and�Mathematica����?represen���t�)Fmassiv�e�programming�eorts�that�do�not�need�to�b�Ge�rep�eated."�cThey����?iden���tify�@�man�y�of�the�same�problems�with�computation�systems�that�are�discussed����?in��this�pap�Ger.���In�order�to�o���v�ercome��the�problem�of�incorrect�inferences,�:�they����?dev���elop�Ged�9�a�separate�\deriv��q�ation�system"�of�\seman�tic�mac�hinery",�?Vwhic�h�runs����?b�Get���w�een���Maple�and�their�user�in���terface.���Also,�
a�go�o�d�deal�of�programming����?in��Gthe�Maple�language�w���as�necessary�to�pro�Gduce�studen�t-sized�steps,�4rather����?than���m���ystifying�answ�ers.�_A���more�detailed�comparision�of�their�system�with����?�Mathp��}'ert���is�b�Gey���ond�the�scop�e�of�this�pap�er.���Their�w���ork�do�es�not�constitute�a����?coun���terexample�s�to�the�claim�in�the�text,�{but�rather�additional�supp�Gort:��rather����?than���\tac���king�on"�an�in�terface�to�Maple,���it�w�as�found�necessary�to�p�Gerform����?man���y�w�p�Gerson-y�ears�of�system�dev�elopmen�t�in�b�Goth�C�wland�Maple�to�obtain�a����?usable�UUsystem.����NAlthough���Mathp��}'ert��is�not�designed�to�replace�teac���hers�and�b�Go�oks,�there��is����?a���demand�for�stand-alone�soft���w�are���that�w���ould�allo�w�a�studen�t�to�w�ork�alone,����?indep�Genden���t���of�teac�hers�and�b�Go�oks.�n5Therefore����Mathp��}'ert��has�b�Geen�designed�in����?suc���h��a�w�a�y�that�it�can�later�b�Ge�incorp�orated�in�or�used�b���y�systems�whic�h��ar��}'e����?�explicitly�?�tutorial.�j�This�p�Goin���t�will�b�e�tak���en�up�in�the�last�section�of�this�pap�er.�������f2����
�l�����'�������?�2��W�Design��principles�����?�In��this�section�I�_presen���t�and�discuss�eigh�t�fundamen�tal�design�principles�that����?guided�UUthe�design�of��Mathp��}'ert�.���6���?�0��N�cmbx12�2.1��]�Cognitiv��e��delit�y��uT��?�W��*�e���call�mathematical�soft���w�are����c��}'o�gnitively�&�faithful��if�it�satises�the�follo���wing�cri-����?terion.�X�When�	�generating�solutions,��as�opp�Gosed�to�supp�orting�studen���t-generated����?solutions,�Sthe�R�soft���w�are�solv�es�problems�as�the�studen�t�should.�p�This�means�that����?it��tak���es�the�same�steps�as�the�studen�t�should�tak�e,��Ein�a�correct�order.�FOf�course,����?there���ma���y�b�Ge�sev�eral�acceptable�\solution�paths",��all�of�whic�h�will�b�Ge�accepted�if����?the�Bmstuden���t�tak�es�them;�H�but�the�one�whic�h�the�computer�generates�if�requested����?to��do�so�m���ust�b�Ge�exemplary�in�ev�ery�resp�Gect.�z�In�particular,�.ehigh-p�o���w�ered��al-����?gorithms�9'based�on�adv��q�anced�metho�Gds�are�problematic.�hbMost�mo�dern�computer����?algebra���systems�use�suc���h�adv��q�anced�metho�Gds�for�fundamen�tal�op�Gerations�suc�h�as����?factoring���p�Golynomials,��solving�equations,�and�computing�in���tegrals.�PVWhat�is�a����?studen���t��to�think�when�she�asks�for�a�factorization�of���b>

cmmi10�x���^��5��C�+����x��+�1��and�receiv�es�the����?answ���er�UU(�x���^��2���S�+�8��x��+�1)(�x���^��3���!",�

cmsy10���x���^��2���+�1)?����NShe��5will�ha���v�e��5no�idea�ho���w�suc�h�a�factorization�can�b�Ge�obtained,�oev�en�though����?the���result�can�b�Ge�v���eried�b�y�m�ultiplying�out.� �F��*�or�a�studen�t�who�has�mastered����?elemen���tary���algebra,�Mit�migh�t�b�Ge�quite�a�v��q�aluable�aid�to�gen�uine�mathemati-����?cal�P}exploration�to�ha���v�e�P}suc�h�an�\oracle"�a�v��q�ailable.�c@But,��Gthe�computer�needs����?to��Fpresen���t�elemen�tary�solutions�to�elemen�tary�problems�when�the�studen�t�is����?learning��-elemen���tary�metho�Gds,��"and�it�needs�to��not��presen�t�answ�ers�ac�hiev�ed�b�y����?metho�Gds�UUthat�the�studen���t�cannot�understand.���6���?�2.2��b@Glass��b�`o��x��uT��?�This��)means�that�y���ou�can�see�ho�w�the�computer�solv�es�the�problem.��CThe�pro-����?gram�!presen���ts,�S�or�allo�ws�the�studen�t�to�construct,�S�step-b�y-step�solutions,�S�not����?just��answ���ers.��This�is�a�v�ery�imp�Gortan�t�p�Goin�t,�5�and�often�misundersto�Go�d.��It��is����?comparativ���ely��easy�for�a�program�to�get�the�one-line��answer��to�a�problem.�\�It�is����?more�~�dicult�to�generate�a�m���ulti-line��solution��with�understandable�steps.�*5When����?com���bined�vwith�the�requiremen�t�that�the�steps�b�Ge�cognitiv�ely�faithful,���this�turned����?out���to�b�Ge�not�only�the�most�imp�ortan���t�but�also�the�most�dicult�criterion�to����?satisfy��*�.���The�!glass-b�Go���x�criterion�requires�it�to�b�e�apparen���t�ho�w�eac�h�step�w�as����?obtained;�)�in��practice�this�means�accompan���ying�eac�h�step�with�a�\justication".����NFigure�pb1�exhibits�a�sample�step-b���y-step�solution,�w%captured�from�a��Mathp��}'ert����?�screen.����NThe��Psimplest�computer�algorithms�almost�nev���er�generate�cognitiv�ely�faithful����?solutions.�dFIn��*applications�where�only�the�answ���er�is�of�in�terest,��_and�not�the����?steps�Ҕb���y�whic�h�it�w�as�obtained,���this�do�Gesn't�matter.��But�in�building�soft�w�are����?for��mmathematics�education,��sit�is�crucial.�b\Human"�solutions�v��q�ary�greatly�with�������f3����1�l�����'�������9���y�a�eps:sqrt.eps x=8cm, y=8cm����������Figure�UU1:�q�A�sample�step-b���y-step�solution.������?the���features�of�eac���h�particular�problem,�hdelicately�adjusting�the�c�hoice�and����?order�(Hof�op�Gerations�to�b�e�applied�so�that�the�resulting�solution�is�economical����?and��b�Geautiful.�h�Soft���w�are�for�mathematics�education�will�also�ha�v�e�to�generate����?economical�UUand�b�Geautiful�solutions.����NIn���practice�the�abilit���y�of�mo�Gdern�algorithms�to�solv�e�problems�the�studen�t����?cannot�Msolv���e�is�not�as�large�an�obstacle�to�the�use�of�existing�computer-algebra����?systems�6Jas�is�the�inabilit���y�to�break�the�computation�in�to�comprehensible�steps.����?Ev���en�S�when�a�solution�can�b�Ge�obtained�b�y�elemen�tary�means,�S�it�is�imp�Gortan�t�to����?break�v�it�in���to�steps.�ֶF��*�or�example,�cthe�follo�wing�factorization�of��x���^��100��ħ��ON�1�can�b�Ge����?obtained��Lb���y�a�fairly�short�series�of�elemen�tary�steps,���y�et�can�b�Ge�o�v�erwhelming����?if�UUpresen���ted�all�at�once:����q�.(�x�8����1)(�x�����4���S�+��x�����3���+��x�����2���+��x��+�1)(�x�����20��
���+��x�����15���+��x�����10���+��x�����5���S�+�1)����q�.(�x�8��+�1)(1����x��+��x�����2���S���x�����3���+��x�����4��|s�)(1����x�����5���+��x�����10��
�����x�����15���+��x�����20��x��)����kt�(1�8�+��x�����2��|s�)(�x�����8���S���x�����6���+��x�����4�����x�����2���+�1)(�x�����40��
�����x�����30���+��x�����20�����x�����10���+�1)����?But���if�the�computation�system�do�Ges�not�in���ternally�factor�the�p�olynomial�b���y����?a���series�of�elemen���tary�steps,��Ubut�instead�b�y�a�high-p�Go�w�ered�metho�Gd�suc�h�as����?Berlek��q�amp's�� algorithm,��Sthere�is�no�hop�Ge�of�getting�it�to�generate�the�required����?series�UUof�elemen���tary�steps.�������f4����)��l�����'�������?�2.3��]�Customized��to�the�lev��el�of�the�user��uT��?�Cognitiv���e�!�delit�y�demands�that�the�soft�w�are�generate�solutions�that�will�b�Ge�ex-����?emplary��for�the�studen���t.�/But�studen�ts�at�dieren�t�lev�els�need�dieren�t�solutions.����NA�nRb�Geginning�n�algebra�studen���t�needs�a�v�e-line�solution�to�the�common�denom-����?inator��problem�1�=x����+�1�=y�[��.�ZLA��calculus��studen���t�ev��q�aluating�a�complicated�in�tegral����?do�Ges�ހnot�w���an�t�ހto�see�v���e�lines�dev�oted�to�1�=x��R�+�1�=y���=���(�x��+��y�[��)�=xy��.�
HIt�ހfollo�ws����?that�Ivthe�program�m���ust�con�tain�some,�K�alb�Geit�rudimen�tary��*�,�K�represen�tations�of�its����?user's�Rkno���wledge.���This�represen�tation�m�ust�b�Ge�sucien�t�to�enable�the�gener-����?ation��Nof�solutions�with�man���y�small�steps�or�few,��
p�Go�w�erful�steps,��
dep�Gending�on����?the�UUrequiremen���ts�of�the�individual�studen�t.����NIt��;is�apparen���tly�simpler�to�allo�w�the�user�to�create�long�(\ne-grained")����?or�t�short�(\coarse-grained")�solutions,���than�to�require�the�computer�to�do�it.����?A���t�"�least�a�\user�mo�Gdel"�w�ould�not�b�Ge�required.��But�there�are�still�some�dif-����?culties�=	ev���en�with�user-generated�solutions.�(�Namely��*�,�v�this�requiremen�t�means����?that�*the�program�m���ust�ha�v�e�a�v��q�aried�arsenal�of�mathematical�op�Gerations.��GIn����?order��to�allo���w�the�creation�of�ne-grained�solutions,�'w�e�need�some�v�ery�w�eak����?sym���b�Golic�izop�erations.��5�Mathp��}'ert��can�generate�a�v���e-or-six�line�solution�to�the����?common-denominator�)hproblem�1�=x��A�+�1�=y�[��.��It�)hcan�also�generate�a�one-line�so-����?lution.�AFigure��h2�sho���ws�the�v�e-line�solution�as�it�can�app�Gear�on��Mathp��}'ert�'s����?screen.������9���y�a�eps:comdenom.eps x=8cm, y=8cm�������N-Figure�UU2:�q�A�solution�with�man���y�small�steps���������f5����1A�l�����'������N�Mathematic��}'a�,�N��Macsyma�,�and�M>�Maple��can�only�generate�the�one-line�solution,����?whic���h���is�useless�for�learning�common�denominators.�	^�These�general-purp�Gose����?programs�ׯneed�only�one�simple�op�Geration�for�taking�common�denominators.����?T��*�o��meet�the�requiremen���t�of�generating�ne-grained�solutions,�LK�Mathp��}'ert��needs����?sev���eral��dieren�t�op�Gerations,�L�for�use�at�dieren�t�mathematical�lev�els.�	)�While����?creating�C�y���our�solution,�Gy�ou�can�tak�e�big�steps�or�little�ones,�Gas�y�our�abilit�y�and����?temp�Geramen���t�UUdictate.����NBuc���h�b�Gerger���[�8��]�prop�oses�a�\white�b�o���x/blac�k���b�o�x"���mo�del�for�sym���b�olic�compu-����?tation��soft���w�are�in�education.�W�A�|\blac�k�b�Go�x"�corresp�Gonds�to�a�one-step�solution,����?a��\white�b�Go���x"�to�a�fully�detailed�solution.���Buc�h�b�Gerger's�\white�b�o���xes"�are�the����?same��xas�m���y�\glass�b�Go�xes".�:~But�his�discussion�considers�the�relationship�b�Get�w�een����?the�?Wglass�b�Go���x�requiremen�t�and�the�requiremen�t�that�solutions�b�Ge�customized�to����?the���user.�UBAn�in���termediate�case,��where�the�solution�is�in�sev�eral�steps�but�not�at����?the���nest�lev���el�of�detail,��Mcould�b�Ge�analyzed�in�Buc�h�b�Gerger's�terms�as�a�white�b�o���x����?at�Q�the�top�lev���el,���in�whic�h�sub�Gordinate�steps�are�treated�as�blac�k�b�Go�xes.�SF��*�or�exam-����?ple,��when���in���tegrating�rational�functions,�partial-fraction�decomp�Gosition�can�b�e����?treated��as�a�blac���k�b�Go�x.�E��Mathp��}'ert��supp�Gorts�this�paradigm�fully��*�,��allo�wing�the�user����?complete��
exibilit���y�to�customize�the�lev�el�of�detail�desired�in�the�solutions.�N�It�is����?a�u�deligh���t,�}�when�w�orking�out�a�step-b�y-step�solution�to�an�in�tegration�problem,����?to��)just�push�a�button�to�get�a�partial-fraction�decomp�Gosition.��DFigure�3�sho���ws����?the��ab�Geginning�of�a�solution�to�an�in���tegration�problem,��in�whic�h�t�w�o�complicated����?algebraic�UUsteps�are�tak���en�at�a�single�mouse�clic�k.���6���?�2.4��]�Correctness��uT��?�Y��*�ou��(cannot�p�Gerform�a�mathematically�incorrect�op�eration�or�deriv���e�a�false�result����?with�{e�Mathp��}'ert�.��It�is�not�as�widely�kno���wn�as�it�should�b�Ge�that�most�systems�in����?use�UUno���w�ada�ys�do�not�ha�v�e�this�prop�Gert�y��*�.�q�I�shall�therefore�giv�e�some�examples.����NIn��I�Macsyma�,���w���e�can�set����<x

cmtt10�a�?�=�0;����and��Ithen�divide�b�Goth�sides�b�y��a��using�the����?command�&��%/a�.�b-This�will�result�in��1=0�,�/�b�Gecause�according�to��Macsyma�,��a=a���=�1����?and���0�=a��J�=�0.�hWThis�example�can�b�Ge�carried�out�in��Mathematic��}'a�,�&�to�o,�but���y���ou����?m���ust�g�rst�tell�it�that�dividing�an�equation�means�to�divide�b�Goth�sides.��6The����?cause�UUof�the�error�is�ignoring�the�side�condition��a���6�=�0�UUon�the�rule��a=a���=�1.��
�ˍ�NHere's�c�another�example:���if��F��c���^��
O!�cmsy7�0��1��(�x�)��	=��f���(�x�)�c�then�������C��u

cmex10�CR����j�����	0e�rcmmi7�b��	#���	�a����~�f��(�x�)�dx��	�=��F�c��(�b�)��A���F��(�a�).���n��?Apply�'(this�rule�with��f���(�x�)�$�=�1�=x�'(�and��F�c��(�x�)�$�=���1�=x���^��2�����to�'(get�������CR����j���
�ӳ1��	#������1������(1�=x�)�dx�$��=�0.����?The�7Zcause�of�the�error�is�ignoring�the�side�condition�that��f�J��m���ust�b�Ge�con�tin�uous����?on�UU[�a;���b�].�q�This�is�a�standard�homew���ork�problem�in�Calculus�1.����NWhen�2}these�examples�are�presen���ted,�9uthe�suggestion�is�sometimes�made�that����?these�Lare�simply�\little�bugs"�that�can�b�Ge�easily�remo���v�ed.�n�This�Lis�a�misconcep-����?tion.��vThe�~�ro�Got�cause�of�these�problems�is�that�mathematical�op�erations�gener-����?ally��Zha���v�e�\side�conditions"�whic�h�are�logical�prop�Gositions.�AF��*�or�example,��the�side����?condition���on�the�op�Geration��a=a����=�1���is��a����6�=�0.��`When���w���e�mak�e�a�mathematical����?calculation,�ߖeac���h���line�is�actually�dep�Genden�t�on�a�certain�list�of�assumptions.�������f6����9D�l�����'�������9���]<y�eps:pfracts.eps x=10cm, y=8cm������`���Figure�UU3:�q�A�solution�with�some�steps�using�p�Go���w�erful�UUop�erations������?Some�!�steps,�+�for�example�replacing�������p���v�����fe
��;��xy�������b���y�������p���v�����fe��3��x������.����p����i����feB��;��y�����a�,�add�new�assumptions�to�this����?list.��q(In�8this�case,�<qthe�new�assumptions�are�0��<�<�x�8�and�0��<�<�y�[��.)�When�8w���e�do����?mathematics���b���y�hand,��w�e�usually�do�not�write�the�assumptions�do�wn�explicitly��*�,����?but�,sometimes�w���e�mak�e�a�note�of�additions�to�the�list,�4Xand�main�taining�the�list����?correctly���is�vital,���as�the�ab�Go���v�e���examples�sho���w.�̗Moreo�v�er,�it���is�not�p�Gossible�to����?restrict���the�complexit���y�of�these�assumptions.�S�Denominators�m�ust�not�b�Ge�zero;����?but�ɻdenominators�can�b�Ge�complicated,��so�the�zero-sets�of�functions�get�in���v�olv�ed.����?These�
�often�dep�Gend�on�the�domains�of�other�functions,�
so�w���e�need�to�b�e�able�to����?calculate�gdomains.���Domains,�k}for�example�of�����s0�Cp���
g��s0�fe7���Ѝ�u�(�x�)���� ��,�will�dep�Gend�on�the�sign�of����?�u����in�a�neigh���b�Gorho�o�d.�;�This���kind�of�question�can�in�turn�dep�Gend�on�whether�func-����?tions��are�monotone�increasing�or�decreasing;�&�things�get�arbitrarily�complicated.����?The�Ԇside�condition�for�ev��q�aluating�denite�in���tegrals�already�in�v�olv�es�con�tin�uit�y����?of���the�in���tegrand�on�an�in�terv��q�al.��These�complexities�sho�w�that�the�correctness����?principle�a[cannot�b�Ge�\added�on"�to�a�system�that�w���as�not�designed�from�the����?start�UUto�supp�Gort�the�main���tenance�of�a�list�of�assumptions�during�a�calculation.����NThe�Gcorrectness�principle�applies�to�graphs�as�w���ell�as�to�sym�b�Golic�solutions.����?When���graphs�ha���v�e���singularities,���most�commercial�graphing�soft���w�are���gets�most����?of��]them�wrong.�o�Graphs�are�made�b���y�connecting�a�nite�set�of�p�Goin�ts.�o�These����?p�Goin���ts��5will�probably�not�hit�the�singularities�exactly��*�,�oso�the�graph�ma�y�not�ev�en����?go�f�o-screen�at�a�singularit���y��*�.���Moreo�v�er,�j�there�f�is�often�a�v���ertical�line�where�the����?singularit���y�5�b�Gelongs.��This�arises�b�ecause�the�soft���w�are�5�just�connects�one�p�oin���t�������f7����J�l�����'������?�to�5fthe�next,�mjand�\kno���ws"�nothing�ab�Gout�singularities.���Mathp��}'ert��a�v�oids�these����?pitfalls,���b���y��means�that�will�b�Ge�explained�in�Section�5.�J]Figure�4�sho�ws�a�graph�of�����?tan��Or�x��n�made�b���y��Mathp��}'ert�,���and�a�graph�made�b�y�purely�n�umerical�computation,����?as�UUall�other�soft���w�are�UUI�ha���v�e�UUseen�do�Ges�it.����^��2�����5N���9���O��eps:goodtan.eps x=5cm, y=5cm�������eps:badtan.eps x=5cm, y=5cm��������K�0�Mathp��}'ert�UU�graph�of��tan��q��x������������tan��	�e�x�UU�graphed�b���y�other�soft�w�are��������p�$Figure�UU4:�q�Correct��vs.��incorrect�graphs�with�singularities������NNo���w��that�I'v�e�explained�the�dicult�y�of�satisfying�the�correctness�principle,����?let���me�also�emphasize�its�imp�Gortance.���Although�this�pap�er�deals�with��e��}'du-����?c��}'ational��_�soft���w�are,��bI��End�it�disconcerting�to�think�of�
ying�on�planes�whose�jet����?engines�R(or�
igh���t-con�trol�R(systems�w���ere�designed�using�mathematical�soft�w�are�that����?can��mderiv���e�1���=�0��min�t�w�o�steps.�
If�there�are�t�w�o-line�con�tradictions,��there�ma�y����?also�hob�Ge�more�subtle�errors�that�do�not�stand�out.��Not�ev���ery�wrong�answ�er�will����?b�Ge��|ob���vious,��tev�en�to�an�exp�Gerienced�engineer.�C*Ho�w�ev�er,��tlet�us�restrict�the�discus-����?sion���to�education.��AErrors�that�are�ob���vious�to�an�engineer�ma�y�not�b�Ge�ob�vious����?to��Ja�studen���t.�K�If�the�soft�w�are�dra�ws�graphs�with�v�ertical�lines�at�singularities,����?for�UUexample,�studen���ts�ma�y�b�Ge�easily�confused.���6���?�2.5��]�User��is�in�con��trol��uT��?�The�F�user�decides�what�steps�should�b�Ge�tak���en,��-and�the�computer�tak�es�them.����?As���in�w���ord-pro�Gcessing,��nthe�computer�tak�es�o�v�er�the�more�\clerical"�part.���The����?principle�!�that�the�user�should�direct�the�solution�requires�either�a�command-����?driv���en��or�mouse-driv�en�in�terface.�]�The�principle�of�ease�of�use�dictates�a�mouse-����?driv���en�L�in�terface.�W�When��Mathp��}'ert��op�Gerates�this�w�a�y��*�,��}it�is�said�to�b�Ge�in��menu����?mo��}'de�.�jMThe���user�selects�an�expression�on�the�screen.�This�selection�brings�up����?a�6	men���u�of�op�Gerations.��The�user�then�selects�an�op�eration.��These�op�erations����?transform��mthe�curren���t�line�and�generate�the�next�line.�,In�this�w�a�y�a�m�ulti-line��?�X-�ff��v�	J=����"5��-:�2���LܸSome��%graphing�calculators�trap��tan��B���2cmmi8�x��as�a�sp�<recial�case�and�get�it�righ�Ît,���but�they�don't�get��	���tan��
�Թx���-:�2�����righ�Ît,��Xor�ev�en�simple�rational�functions.�������f�8����	S֠l�����'������?�solution�+�is�built�up.��Earlier�v���ersions�did�not�ha�v�e�the�capabilit�y�to�select�an����?expression�dYfrom�the�screen,�hand�a�more�extensiv���e�system�of�men�us�w�as�used�to����?select�UUthe�op�Geration;�hence�the�name��menu���mo��}'de�.����NThe�D]principle�that�the�computer�can�help�y���ou�out�when�y�ou�are�stuc�k�requires����?there��to�b�Ge�an�automatic�mo�de,���or��auto���mo��}'de�,�in�whic���h�the�program�can�itself����?generate�UUa�solution.�q�The�user�can�switc���h�b�Get�w�een�these�t�w�o�mo�Gdes�at�will.����NEac���h���time�I��hdemonstrate��Mathp��}'ert�,�8iand�professors�see�the�program�gen-����?erating�tstep-b���y-step�solutions�to�homew�ork�problems,���some�of�them�en�vision����?studen���ts���simply�ha�ving��Mathp��}'ert��do�the�homew�ork�for�them�while�they�are����?out���w���atc�hing��Be��}'avis���and�Butthe�ad�,��and���I���ha���v�e�man�y�times�heard�the�question����?whether���there�is�a�w���a�y���to�den���y�the�studen�ts�access�to�auto�mo�Gde.�NOIndeed,��8the����?fear���that�studen���ts�will�learn�little�b�y�w�atc�hing�the�computer�generate�answ�ers����?ma���y��b�Ge�relev��q�an�t�if�they�are�using�soft�w�are�that�generates��only��answ�ers,��vand�gen-����?erates�_�those�answ���ers�b�y�incomprehensible�metho�Gds.��The�computer�then�b�ecomes����?an�UUoracle,�and�one�who�questions�an�oracle�has�no�con���trol.����NIn��practice,�*�studen���ts�seldom�misuse�auto�mo�Gde.�_�They�seem�to�tak�e�pleasure����?in���nding�and�applying�the�correct�op�Gerations.�0The�fact�that�the�computer����?carries��out�the�mec���hanics�of�the�application,��so�that�y�ou�can't�lose�a�min�us�sign����?or�@pforget�to�cop���y�a�term,�D�or�incorrectly�apply�an�op�Geration,�increases�the�user's����?con���trol�UUo�v�er�the�dev�eloping�solution.���6���?�2.6��]�The��computer�can�tak��e�o�v�er�if�the�user�is�lost��uT��?�A�+go�Go�d�+Qsym���b�olic�computation�program�for�education�should�b�e�able�to�solv���e����?(up�Gon��request)�all�the�(sym���b�olic�or�graphical)�problems�commonly�giv���en�in����?algebra,��5trig,�and���rst-semester�calculus.��HThis�is�a�v���ery�strong�requiremen�t,��5in����?view���of�the�fact�that�what�is�required�is�not�just�the�answ���er,�8but�an�economical,����?b�Geautiful,��-and�y5cognitiv���ely�faithful�step-b�y-step�solution,��-tailored�to�the�lev�el�of����?the�UUstuden���t.����NEv���en��^if�w�e�only�w�an�ted�answ�ers,�� ho�w�ev�er,�it��^is�imp�Gortan�t�to�note�that�the����?restriction�\�to�problems�commonly�giv���en�in�courses�is�vital.���There�are�tec�hnical����?results�(�sho���wing�that�it�is�imp�Gossible�to�write�programs�to�solv�e��any�kgiven��prob-����?lem�*�of�the�t���yp�Ges�studied�in�these�courses.�c�F��*�or�example,�3Ric�hardson�[�18��
]�sho�w�ed����?that�F�it�is�imp�Gossible�to�write�a�program�that�will�tak���e�as�input�a�giv�en�iden�tit�y����?�f���(�x�)��
=��g�[��(�x�)��in�one�real�v��q�ariable,�?Nand�determine�whether�or�not�that�iden���tit�y����?is�vIv��q�alid,�~�where��f����and��g��"�are�built�up�from�exp�Gonen���tials,�logs,�and�trig�functions����?using�߷the�arithmetic�op�Gerations.����^��3�����Nev���ertheless,��=w�e�߷do�implicitly�teac���h�metho�ds,����?not�%#just�a�collection�of�sp�Gecic�examples,�Yand�the�requiremen���t�is�simply�that����?the�UUprogram�m���ust�em�b�Go�dy�UUall�the�metho�Gds�w�e�teac�h.��?�X-�ff��v�	J=����"5��-:�3���LܸThat��3is,��there�is�no��de���cision�5)algorithm��for�this�class�of�iden�Îtities.�w�Normally�in�trigonometry��J�,��	��the�>�trig�functions�are�not�nested,�Ygand�the�argumen�Îts�of�the�trig�functions�are�linear.�There���is�K�ro�<rom�for�more�careful�w�Îork,�ipnarro�wing�K�the�gap�b�et�Îw�een�K�the�large�classes�of�iden�Îtities�for���whic�Îh���there�is�pro�v��ably�no�decision�algorithm,��cand�the�small�classes�for�whic�h�w�e�actually���p�<rossess��Xa�decision�algorithm.�� The�\b�oundary"�is�at�presen�Ît�largely�unexplored.�������f�9����
^ˠl�����'������N�The��jabilit���y�of�the�system�to�generate�an�\ideal"�solution�can�b�Ge�put�to�go�o�d����?p�Gedagogical���use�to�assist�a�studen���t�who�is�ha�ving�dicult�y��*�.�-,Sev�eral�suc�h�features����?are�pincluded�in�the�design�of��Mathp��}'ert�,�8but�as�these�are�not�fundamen���tal�design����?principles,�UUthey�will�not�b�Ge�discussed�in�this�section.����NProblems�Hpoften�can�b�Ge�solv���ed�in�more�than�one�w�a�y��*�,�Kfor�whic�h�the�jargon�is����?\m���ultiple���solution�paths".�*Of�course�the�abilit�y�of�the�computer�to�generate�a����?single�c�\ideal"�solution�do�Ges�not�con���tradict�its�abilit�y�to�supp�Gort�m�ultiple�solution����?paths��Min�men���u�mo�Gde.�.�But�it�actually�oers�go�o�d�supp�ort�for�m���ultiple�solution����?paths�bin�auto�mo�Gde�to�o.���Although�the�system�generates�for�eac���h�problem�a����?unique��\ideal"�solution,���it�has�to�b�Ge�able�to�do�that�from�an���y�p�oin���t.�:The�user����?could�\Otak���e�one�or�sev�eral�steps,��
and�the�computer�m�ust�b�Ge�able�to�nish�up����?the��wproblem�from�there.�
,Usually�the�computer�can�b�Ge�sen���t�do�wn�a�particular����?\solution��3path"�in�a�few�man���ually-directed�steps,��jafter�whic�h�it�will�nish�the����?solution�UUalong�the�desired�lines.����NSometimes��the�necessit���y�of�solving�a�problem�b�y�trial�and�error�is�brough�t�up����?in��this�connection.�^��Mathp��}'ert��can�carry�out�suc���h�a�searc�h,�'bas�when�searc�hing�for����?the�L�factors�of�a�quadratic�p�Golynomial.�n�When�this�sub��8ject�is�rst�b�eing�learned,����?the�^attempted�factorizations�are�sho���wn�to�the�studen�t.�_There�is�a�more�extensiv�e����?discussion�UUof�trial-and-error�in�Section�3.4.���6���?�2.7��]�Ease��of�use��uT��?�The��Nsystem�m���ust�b�Ge�EASY���TO�USE.��NThis�p�oin���t�has�b�een�emphasized�o���v�er����?and�Mo���v�er�b�y�ev�ery�one�who�has�considered�the�use�of�computers�in�mathematics����?education.�Studen���ts�E,are�lik�ely�to�b�Ge�p�o�or�t���ypists�and�ma�y�b�Ge�afraid�of�computers.����?Man���y��Tof�them�are�also�afraid�of�mathematics.�L�It�is�essen�tial�that�the�studen�ts����?feel�Pthe�computer�is�a�help,���not�just�another�h���urdle.�bRep�Gorts�I�O�ha�v�e�seen�of����?man���y�r�exp�Gerimen�ts�with�computer-assisted�calculus�instruction�sho�w�that�often����?the���studen���ts�do�feel�the�computer�adds�to�their�diculties,���rather�than�helps.����?The�	�da���y�has�not�y�et�arriv�ed�when�man�y�studen�ts�buy�mathematical�soft�w�are����?that�UUis�not�required,�b�Gecause�they�think�it�will�help�them�learn.����NEase�"pof�use�is�often�considered�to�b�Ge�an�\in���terface�issue",�U�but�I�";don't�b�e-����?liev���e�$�that�a�w�ell-designed�program�for�education�can�really�b�Ge�separated�in�to����?an�vI\in���terface"�and�a�\k�ernel"�op�Gerating�completely�indep�enden���tly��*�.�ԤT�ak�e�vIthe����?generation�`�of�step-b���y-step�solutions,�c�for�example{is�that�an�in�terface�question?����?If���y���ou�tak�e�the�narro�w�in�terpretation,��:it�is�not.��SOnly�the�means�b�y�whic�h�the����?user���commands�the�steps�to�b�Ge�tak���en,���and�the�means�b�y�whic�h�the�results�are����?displa���y�ed��or�prin���ted,��?are�in�terface�questions.��But�on�this�narro�w�construction����?of���the�term�\in���terface",��the�question�of�ease�of�use�cuts�m�uc�h�deep�Ger�than�the����?�mer��}'e��Sinterfac�e�.���Ease���of�use�means�that�it�is�easy�for�the�user�to�accomplish�a����?giv���en�@�purp�Gose.�j�Whether�the�purp�ose�can�b�e�accomplished�easily��*�,�D�or�at�all,�ma���y����?w���ell���dep�Gend�on�the�capabilities�of�the�program�as�w�ell�as�on�the�design�of�the����?men���us�UUand�dialog�b�Go�xes�and�whic�h�buttons�can�b�Ge�clic�k�ed�when.����NA�#�critical�#�momen���t�for�\ease�of�use"�comes�when�the�user�is�\stuc�k",�W�that������We10����o�l�����'������?�is,��[do�Ges�^�not�kno���w�ho�w�to�pro�Gceed.���If�the�system�has�the�capabilit�y�to�solv�e����?the�x�problem,���it�can�b�Ge�view���ed�as�an�\in�terface�issue":����how���to�use�that�internal����?c��}'ap�ability�OBto�b��}'est�advantage�to�help�a�student�who�is�stuck�.�ԹWhether� �one�has����?the���program�simply�exhibit�the�next�step,��sho���w�the�next�men�u�c�hoice,��or�giv�e����?a���hin���t�in�English�(or�F��*�renc�h�for�that�matter),��is�a�question�of�in�terface�design,����?in�m+m���y�view.��II�m%w�ould�not�limit�the�term�\in�terface"�to�mean�where�y�ou�ha�v�e�to����?clic���k�UUor�what�y�ou�ha�v�e�to�t�yp�Ge�to�cause�these�things�to�happ�en.����NNev���ertheless,�+qquestions��of�in�terface�design�ev�en�in�the�narro�w�sense�are�of����?some�UUimp�Gortance.�q�I�will�consider�some�of�them�in�Section�7.���6���?�2.8��]�Usable��with�standard�curriculum��uT��?�Ev���en�,if�the�professor�isn't�using�it,�>�and�kno�ws�nothing�ab�Gout�it,�>�it�should�b�e����?usable�R
b���y�the�studen�t.�g�This�criterion�is�p�Gerhaps�more�con�tro�v�ersial�than�m�y����?other��Pcriteria.�߹But�I��1ha���v�e��Palw�a�ys�b�Geliev�ed�that�serious�curriculum�c�hange�will����?b�Ge��hdriv���en�b�y�studen�t�use�of�soft�w�are,��drather�than�the�other�w�a�y�around.�M#After�a����?decade��4of�w���ell-funded�initiativ�es�to�bring�tec�hnology�in�to�the�calculus�classro�Gom,����?most�ܗclasses�at�most�univ���ersities,��gand�all�classes�at�man�y�leading�univ�ersities,����?are���still�taugh���t�without�soft�w�are�assistance,��and�with�a�substan�tially�unc�hanged����?curriculum.����NAnsw���er-only��zprograms�suc�h�as��Mathematic��}'a��and��Maple��are�hard�to�use�with����?the��ostandard�curriculum�in�mathematics,��whic���h�emphasizes�step-b�y-step�solu-����?tions.�g�This�7�has�led�some�p�Geople�to�call�for�a�new�curriculum,�=�in�whic���h�studen�ts����?w���ould��not�learn�the�traditional�step-b�y-step�solution�metho�Gds.�gMetho�ds��of�in-����?tegration��Nin�particular�ha���v�e��Nsuered�a�bad�press.�.�There�is�talk�of�emphasizing����?�c��}'onc�epts�!�instead�of��te��}'chniques�.��,Of�course,�ɔnob�Go�dy�!is�against�teac���hing�math-����?ematical�A�concepts{it's�lik���e�motherho�Go�d�A�and�apple�pie.�6�But�there�is�a�serious����?question�UUwhether�it�mak���es�sense�to�teac�h�concepts�without�tec�hniques.����NGiv���en�W�the�fact�that�answ�er-only�soft�w�are�can't�supp�Gort�the�presen�t�curricu-����?lum,�d
the�-�facult���y�has�b�Geen�left�with�the�c�hoice:�"�stic�k�with�the�old�curriculum����?(and��no�soft���w�are),��or��tak�e�a�big�leap:��Ec�hanging�b�Goth�what�is�taugh�t�and�ho�w����?it���is�taugh���t�at�the�same�time.�#�Change�will�b�Ge�easier�if�they�can�c�hange�gradu-����?ally��*�,��adding���soft���w�are�supp�Gort�to�the�existing�curriculum,��and�then�adjusting�the����?curriculum�UUlater�as�required.��!�?�3��W�Cognitiv��=e�Xjdelit�y�and�glass�b�u�o�x�in��I�':ff
cmti10�IMathp��C�ert�]��:����W�op�u�erations��and�p�edagogy�����?�The�uTac���hiev�emen�t�of�cognitiv�e�delit�y�in��Mathp��}'ert��dep�Gends�on�the�implemen-����?tation�1�of�\op�Gerations"�that�corresp�ond�to�iden���tiable�\steps�of�computation"����?tak���en�Eb�y�a�studen�t�in�the�course�of�solving�a�problem.���These�op�Gerations�can����?then�ybb�Ge�in���v�ok�ed�ybb�y�name�or�form�ula�from�a�men�u�(in�v��q�arious�w�a�ys)�or�applied����?b���y�Y�the�program�itself�when�generating�an�exemplary�solution.�~�It�is�essen�tial������We11����~��l�����'������?�that�Lthe�basic�steps�of�the�solution�corresp�Gond�to�what�the�h���uman�p�erceiv���es�as����?\op�Gerations".���6���?�3.1��]�Design��of�the�op�`erations��uT��?�The�*�cognitiv���e�delit�y�principle�requires�a�careful�and�detailed�analysis�of�the����?sub��8ject��7matter,���to�determine�the�correct�c���hoice�of�op�Gerations.�^nThere�are�some����?130��rmen���us�of�up�to�sixteen�op�Gerations�eac�h,��so�there�are�ab�Gout�a�thousand�dier-����?en���t�sYop�Gerations�that��Mathp��}'ert��can�p�erform�(not�coun���ting�graphical�op�erations).����?I���b�Geliev���e���that�these�op�erations�p�ermit�the�solution�of�all�(non-w���ord)�problems����?normally���taugh���t�in�algebra,��Htrig,�and���calculus.�-�In�man�y�cases�it�w�as�a�non-trivial����?task��to�construct�the�appropriate�set�of�op�Gerations,�though�in�some�cases�it�w���as����?not�UUdicult�for�an�exp�Gerienced�teac���her.���6���?�3.2��]�Rewrite��rules,�matc��hing,�and�p�`edagogy����?�A���rewrite���rule�is�a�one-directional�equation,��;suc���h�as��a�(�b����+��c�)��=��ab����+��ac�.�3=By���sa�ying����?it���is�one-directional,��kI���mean�that�y���ou�can�use�it�to�rewrite��a�(�b�hc�+��c�)���as��ab�hc�+��ac�,����?but�1�not�the�rev���erse.�e�A�1�rewrite�rule�is�applied�b�y�using�a�pro�Gcess�of��matching��to����?see�E-that�some�complicated�expression�\has�the�form�of��"�the�left�hand�side.�ldF��*�or����?example,�w���e��can�use�the�rule�just�men�tioned�to�rewrite��x���^��4��|s�(�x����+�1)��as��x���^��5��"�+����x���^��4���.����?Purists�@will�note�that�I�@zha���v�e�@used�some�other�la���ws�of�algebra�and�arithmetic�as����?w���ell!����NAlthough��rewrite-rule�tec���hnology�at�rst�sigh�t�app�Gears�attractiv�e,��man�y�of����?the���op�Gerations�cannot�b�e�expressed�in�rewrite-rule�form,�Ȭb�ecause�they�tak���e�an����?arbitrary�Ԭn���um�b�Ger�of�argumen�ts�and�b�Gecause�other�argumen�ts�can�come�in�b�Ge-����?t���w�een.�[Consider�� m#�R

cmss10�collect�p�Go���w�ers�,��for�example,�whic���h�is�related�to�the�rewrite�rule����?�x���^��n��q~�x���^��m��
��=�z�x���^��n�+�m�����,��_but�z*applies�to��ax���^��2��|s�bx���^��3���x���^��4���cx�.��EThe�z*last��x��has�to�b�Ge�collected�ev���en����?though�,�it�do�Gesn't�ha���v�e�,�an�explicit�exp�onen���t.�d-The�other��x�'s�ha�v�e�to�b�Ge�collected����?ev���en���though�they�are�separated�and�there�are�more�than�t�w�o�of�them.�2�Moreo�v�er,����?there���are�further�diculties�with�rewrite�rules�in�the�presence�of�asso�Gciativit���y����?and�UUcomm���utativit�y��*�.����^��4����?�X-�ff��v�	J=����"5��-:�4���LܸReaders��]with�training�in�the�relev��an�Ît�branc�hes�of�logic�or�computer�science�will�b�<re�a�w�are��	��that��there�is�a�v��ast�literature�on�rewriting�tec�Îhniques.�|9This�tec�hnical�fo�<rotnote�is�directed�to���suc�Îh���p�<reople�(there�w�as�one�among�the�referees).�zOne�of�the�general�aims�of�this�researc�h���is��to�pro�Îvide�impro�v�ed�matc�hing�(tec�hnically:�;�unication)�algorithms�whic�h�will�incorp�<rorate���algebraic�!sla�Îws�in�to�the�matc�hing�step,�Enso�that�for�example��ab�{Ǹ+��c�!s�should�matc�h��c�{Ǹ+��ba�.��)Although���there��are�b�<reautiful�algorithms�and�theorems�ab�out�those�algorithms,��4it�should�b�e�noted�that���the�i�b�<rest�of�the�crop�will�still�not�handle�the�rewriting�of��x���-:�4��*��(�x�ٸ+�1)�i�as��x���-:�5��7��+�ٹx���-:�4���.��WReaders�wishing���to��Xexplore�these�algorithms�will�nd�an�initial�discussion�and�further�references�in�[�9��@].�����This�i�b�<ro�dy�of�theory�has�not�found�application�in��Mathp���ert�,�and�not�b�ecause�the�author�w�Îas���ignoran�Ît���of�the�theory��J�.���Nev�ertheless��Mathp���ert��successfully�handles�matc�hing.���F��J�or�example,��Wit���is�w�able�to�apply�the�rule��cos���
�Z��-:�2��n��x�(��+��sin���-:�2��*��x�\t�=�1�w�in�the�con�Îtext�2�(�+�3��j�sin����[��l�2��o��5�x���K�cmsy8���5�xy�r!�+�3�cos���-:�2���5�x�.���But�w�if���the��!second�5�x��is�made��x�5,����Mathp���ert��will�miss�the�matc�Îh�un�til�the�op�<reration��Order�#�facto���rs��is���applied.��Note,�%�ho�Îw�ev�er,�that��asso�<rciativ�e-comm�utativ�e�unication�will�miss�the�matc�h�in�the���rst��Xexample�un�Îtil�the�3�is�factored�out.������We�12����
�6�l�����'������N�These��observ��q�ations�ha���v�e��implications�of�in���terest�to�b�Goth�programmers�and����?educators.�CThe�� implication�for�the�programmer�is�simply�that�rewrite-rule�tec���h-����?nology�risn't�enough:�SVeac���h�op�Geration�has�to�b�e�implemen���ted�as�a�function�in�the����?programming�UUlanguage.����NThe�\implication�for�educators�is�more�far-reac���hing,�}�though�less�ob�vious.����?Man���y���of�the�diculties�(\bugs")�that�I���ha�v�e�observ�ed�in�studen�t�solutions�(or����?failures��to�generate�solutions)�can�b�Ge�attributed�to�failures�in�the�studen���t's����?matc���hing�0�algorithm.����^��5�����Just�to�giv�e�one�example:�)consider�using�the�(rev�erse)����?distributiv���e��la�w��ab�]^�+��ac���=��a�(�b�]^�+��c�)�to�rewrite��x���^��4��|s�(�x��+�1)�+��x��+�1�as�(�x���^��4�����+�1)(�x��+�1).����?Ev���en��if�the�dicult�y�ab�Gout�grouping�the�rst��x�w��+�1��so�as�to�matc�h��a��to��x�w��+�1����?is��o���v�ercome,�wthere�is�still�the�problem�that��c��is�1�here,�so�literal�matc���hing�w�on't����?suce.�./The��"matc���hing�pro�Gcedure�itself�has�to�incorp�orate�some�other�algebraic����?la���ws�]Nfor�this�to�w�ork�righ�t.���Another,�_Lunrelated�dicult�y�apparen�t�in�this�same����?example�ao�Gccurs�the�rst�time�studen���ts�ha�v�e�to�matc�h�one�of�the�letters�in�a����?pattern�H�to�a�sum,�K\instead�of�to�just�a�monomial.�m�Nearly�ev���ery�studen�t�fails�the����?rst�7�time�this�is�ask���ed.�uY��*�et�man�y�textb�Go�oks�7�I�7Uha�v�e�examined�fail�to�giv�e�an����?illustrativ���e�U�example.�s�The�rst�suc�h�problem�o�Gccurs�in�the�homew�ork�assign-����?men���t,���where�Jit�is�guaran�teed�to�b�Ge�frustrating.��Man�y�a�case�of�\math�phobia"����?b�Gegins�Vwith�examples�lik���e�this,�Q�in�whic�h�a�homew�ork�problem�is�ask�ed�whic�h����?in���some�sense�\follo���ws�from"�the�principles�in�the�text,���but�in�v�olv�es�some�new����?t���wist,��whic�h�ҍthe�computer�scien���tist�can�describ�Ge�precisely�in�terms�of�extra�co�de����?required�UUfor�the�matc���hing�algorithm.����^��6�����6���?�3.3��b@Order��of�op�`erations��uT��?�It���is�in���teresting,�Êb�Goth�for�the�computer�scien�tist�and�the�educator,�Êto�consider����?the�~�problem�of�whic���h�rule�to�apply�when.��wFirst�of�all,��Ione�should�observ�e�that����?man���y�9rules�are�in�v�erses:�c�for�example��log���k�ab���=��log��\l�a�d�+��log�����b�9�can�b�Ge�used�in�either����?direction,�wand�pHindeed��must��sometimes�b�Ge�used�in�one�direction,�and�sometimes����?in�7$the�other�direction.�g�Sometimes�w���e�m�ust�factor,�=.sometimes�w�e�m�ust�m�ultiply����?out.����NThe��|simplest�con���trol�mec�hanism�w�ould�b�Ge�con�text-free,��tin�the�sense�that�the����?decision�tOas�to�whic���h�op�Geration�to�p�erform�could�b�e�made��lo��}'c�al���ly�.�εF��*�or�tOexample,����?the��xdecision�whether�to�put�a�sum�of�fractions�o���v�er��xa�common�denominator����?w���ould���ha�v�e�to�b�Ge�made�without�regard�for�the�con�text�in�whic�h�the�sum�of����?fractions�g�o�Gccurs.��zIn�practice,���there�are�t���w�o�g�separate�factors�in
uencing�suc���h����?decisions���that�are�not�directly�a���v��q�ailable�in�this�metho�Gd.���First,��it�matters�what����?kind��of�problem�w���e�are�solving.�i�F��*�or�example,���if�the�problem�t�yp�Ge�(the�goal�of����?the��~problem)�is�common�denominators,��ob���viously�w�e�w�an�t�to�use�common�de-����?nominators���regardless.�,8If�the�problem�t���yp�Ge�is�partial�fractions,��cequally�ob�viously��?�X-�ff��v�	J=����"5��-:�5���LܸThe��\buggy�theory�of�learning"�w�Îas�rst�prom�ulgated�b�y�J.�S.�Bro�wn�and�R.�Burton,���see��	��for��Xexample�[�10���].��	�>����"5��-:�6���LܸI��am��certainly�not�the�rst�to�observ�Îe�that�studen�t�errors�are�sometimes�attributable�to���fault�Îy��Xmatc�hing.�� See�for�example�[�14���]�and�[�16��].������We�13�������l�����'������?�it��Hw���ould�not�b�Ge�a�go�o�d�idea.���Second,��the�con���text�of�the�term�b�eing�simplied����?(in�4�the�sense�of�the�curren���t�line�in�whic�h�it�is�em�b�Gedded)�matters:�aqfor�example,����?w���e���nev�er�w�an�t�to�use�common�denominators�inside�an�unev��q�aluated�deriv�ativ���e.����?It�UUlo�Goks�silly�to�use�common�denominators�inside�a�deriv��q�ativ���e,�lik�e�this:��󈍍����<$���t��d��ϙ+�w�fe
뎟	(֍dx��������۷���`�C��������<$���?��1�����w�fe��	(֍�x������2�+�����<$���1��l�w�fe
3��	(֍�x���r�2����������՟��`�C������ʍ�����<$���A��d���f%�w�fe
뎟	(֍dx��������߄���`�C��������<$����x�8��+�1����w�fe�	(֍�^6�x���r�2�����������+���`�C�����.���?�follo���w�ed��`b�y�a�long�computation�using�the�quotien�t�rule;��fthe�\correct"�solution����?dieren���tiates�Qyterm-b�y-term,���without�using�common�denominators.�f2There�are����?man���y�UUinstances�of�suc�h�con�textual�dep�Gendencies.����NAdjusting����Mathp��}'ert's��problem-solving�algorithm�to�tak���e�these�con�textual����?demands�,nin���to�accoun�t�has�accoun�ted�for�m�uc�h�of�the�w�ork�on�the�algorithm.����?None���of�this�w���ould�b�Ge�necessary�in�an�answ�er-only�program.��QOn�the�other����?hand,��Pa��great�deal�of�ne-tuning�is�required�to�cause�the�algorithm�to�use�the����?righ���t��Lop�Gerations�in�the�righ�t�order�to�pro�Gduce�the�righ�t�step-b�y-step�solutions.����?During�{�the�pro�Gcess�of�dev���eloping��Mathp��}'ert�,���I�{�observ�ed�man�y�lo�Gops�and�innite����?regresses��generated�b���y�meta-rules�that�con
ict�in�a�giv�en�situation.�Eac�h�time����?I��6had��Tto�mo�Gdify�the�meta-rules�whic���h�lo�ok���ed�go�o�d�b�efore,��adding�or�c���hanging����?the�&�conditions�under�whic���h�certain�mathematical�op�Gerations�should�b�e�applied.����N�L��}'o�ops�.�[�Another��complication,� �in�addition�to�con���textual�dep�Gendencies,�is�the����?p�Gossibilit���y���that�dieren�t�op�Gerations�tak�en�in�com�bination�can�cause�lo�Gops.��F��*�or����?example,��<y���ou�Q6can�factor�and�then�expand�a�p�Golynomial;���so�auto�mo�de�m���ust�nev�er����?activ��q�ate��b�Goth�op�erations,�Aor�a�lo�op�will�result.�/�There�is�nothing�lik���e�a�formal����?pro�Gof��that�the�curren���t�system�is�alw�a�ys�terminating;�H�suc�h�a�pro�Gof�w�ould�b�Ge����?extremely��complicated�and�probably�could�only�b�Ge�carried�out�with�mec���hanical����?assistance.�#�Indeed,���it�k�ma���y�w�ell�not�ev�en�b�Ge�the�case{there�ma�y�w�ell�b�Ge�lo�ops�that����?ha���v�en't�m�b�Geen�observ���ed.���Certainly�I�m�ha�v�e�observ�ed�man�y�unan�ticipated�lo�Gops�in����?the�UUpro�Gcess�of�dev���elopmen�t�UUand�testing.����NIn�7�order�to�guard�against�unan���ticipated�lo�Gops�in�automo�de,�=��Mathp��}'ert��incor-����?p�Gorates���automatic�lo�op�detection:�Hnit�will�nev���er�go�in�to�an�innite�regress,��}but����?will�R�detect�that�it�is�ab�Gout�to�en���ter�a�lo�op.�p�Early�v���ersions�w�ould�then�deliv�er�a����?rueful���message:�
j�I��se��}'em��=to�b�e�stuck�in�a�lo�op.�\Y��;�ou'd�b�etter�take�over.�.��The���presen���t����?v���ersion�ˬdo�Ges�something�more�lik�e�what�a�p�Gerson�w�ould�do:�^tit�just�do�Gesn't�use����?the�O5op�Geration�that�w���ould�cause�a�rep�eated�line,�Pobut�lo�oks�for�something�else�to����?do.����N�A���voiding���L��}'o�ops�in�Equation�Solving�.���The���a���v�oidance�of�lo�Gops�is�particularly����?critical��in�equation�solving.��The�dicult���y�is�that�v��q�arious�algebraic�la�ws�ha�v�e����?to���b�Ge�applied�in�one�direction�for�some�equations,���and�in�the�rev���erse�direction����?for�!Fother�equations,�+�so�that�at�rst�sigh���t�it�seems�imp�Gossible�to�a�v�oid�lo�Gops�and����?still���solv���e�all�equations.�-~Here�I���ha�v�e�had�some�help�from�Alan�Bundy's�theory����?of�Requation-solving�[�9��].���His�general�theory�had�to�b�Ge�in���tegrated�with�sp�ecial-����?purp�Gose���solv���ers�for�linear�equations�and�non-linear�p�olynomials,��but�his�ideas������We14�������l�����'������?�of��\attraction"�and�\collection"�guided�the�w���a�y��auto�mo�Gde�selects�op�erations����?according�UUto�the�form�of�the�equation.���6���?�3.4��]�P��edagogical��implications��uT��?�Once�V(algebra,��1trig,�and�calculus�ha���v�e�b�Geen�co�died�in���to�a�set�of�ab�out�a�thousand����?rules,�٭can���w���e�sa�y��*�,�٭�if��you�know�the�rules,�"$you�know�the�mathematics�?�>AThis���is�true����?to��fthe�exten���t�that�all�the�sym�b�Golic�problems�in�the�b�o�oks�can�b�e�solv���ed�using����?those��rules.��But�it�o���v�erlo�Goks��the�fact�that�y���ou�m�ust�not�only�kno�w�the�rules,����?y���ou���m�ust�kno�w�whic�h�rule�to�apply�when.�L�This�is�really�m�uc�h�the�more�dicult����?thing��to�kno���w.�Q��Mathp��}'ert��has�sev�eral�thousand�lines�of�what�amoun�t�to��rules�:�for����?using���the�rules�.��These�wrules�are�in���ternal�to�the�program,��rather�than�visible�to����?the�
user,�/�and�go���v�ern�
the�mac���hinery�of�the�automo�Gde�solution-generator.�}�The����?pro�Gcess�i�of�dev���eloping�and�ne-tuning�these�meta-rules�to�ok�m���uc�h�i�more�time����?than���the�implemen���tation�of�individual�op�Gerations�for�computation,�whic�h�w�as����?comparativ���ely�UUsimple.����NY��*�et,�ahwhen�^�w���e�lo�Gok�at�textb�o�oks�and�course�outlines,�ahmost�of�what�studen���ts����?are���taugh���t�is�ho�w�to�execute�the�rules�one�or�t�w�o�at�a�time.�ɚEac�h�section����?presen���ts��4another�few�rules,��kand�exercises�whic�h�are�solv�ed�using�those�rules.����?The��studen���t�studies�algebra�this�w�a�y��*�,��and�then�learns�trig�a�few�rules�at�a�time.����?When��the�studen���t�comes�to�trig�iden�tities,��Kfor�the�rst�time�a�v��q�ariet�y�of�dieren�t����?rules���is�required.���A���detailed�analysis�b���y�A.�Lauringson�rev�ealed�59�op�Gerations����?required��to�solv���e�a�certain�set�of�iden�tities,�!�while�corresp�Gonding�sets�on�other����?topics�`Brequired�at�most�30�op�Gerations.���Probably�the�notorious�dicult���y�of�this����?sub��8ject�.is�mainly�attributable�to�this�feature.�d�There�is�little�or�no�discussion�in����?textb�Go�oks�zZab�out�strategy�for�trig�iden���tities.���F��*�or�example,���there�are�three�rules����?for�=^expanding��cos��K�2�x�,�B)and�success�is�often�dep�Genden���t�on�c�ho�Gosing�the�righ�t�one,����?but�UUtextb�Go�oks�do�not�ev���en�discuss�the�issue.����NSolving�#bequations�is�another�area�in�whic���h�strategy�is�crucial,�V�but�seldom����?explicitly���discussed.�=�Here�is�a�place�where�the�con���tributions�of�computer�science����?should��*b�Ge�allo���w�ed��*to�\tric���kle�do�wn"�to�textb�Go�oks.�OFBundy's��*ideas�of�attraction����?and�Qpcollection�are�simple�and�straigh���tforw�ard�Qpand�can�easily�b�Ge�explained�to����?algebra��estuden���ts.�,"I��0am�resisting�the�temptation�to�pro�v�e�this�p�Goin�t�b�y�explaining����?them��here�and�no���w;��`but�see�[�9��].�	_�These�ideas�bring�order�to�the�otherwise����?m���ysterious���business�of�solving�equations,�
reducing�what�app�Gears�to�b�e�an�art�to����?a�UUscience.�q�Don't�write�another�algebra�textb�Go�ok�UUwithout�reading�Bundy��*�.����NThen�.%the�studen���t�go�Ges�in�to�calculus,�dYwhere�he�or�she�is�required�to�\sim-����?plify"���expressions�in�order�to�solv���e�calculus�problems.��DOne�semester�I��wk�ept����?statistics�,on�exam�errors:��vEigh���t�y�,p�Gercen�t�of�exam�errors�in�rst-semester�cal-����?culus�6�w���ere�actually�errors�in�algebra�or�trig�that�theoretically�w�ere�prerequisite����?to���the�course.��These�errors�w���ere�sometimes�due�to�failures�in�the�matc�hing�al-����?gorithm,�i:sometimes�e?to�incorrect�memory�of�a�rule�pattern,�but�often�simply�to����?not�bnrecognizing�whic���h�rules�w�ould�do�the�required�job.���That��w�as�nev�er�taugh�t;����?the�UU\b�Gorn�mathematicians"�pic���k�it�up�someho�w,�b�y�osmosis.������We15������l�����'������N�The�� ab�Go���v�e�remarks�should�b�Ge�carefully�considered�not�only�b�y�designers�of����?suc���h�ODsoft�w�are,�Pzbut�esp�Gecially�b�y�textb�Go�ok�authors,�Pzcourse�designers,�and�teac���h-����?ers.��No���w���onder�studen�ts�are�confused:�*�the�con�trol�apparatus�is�more�complex����?than�ithe�rules�b�Geing�con���trolled,���but�is�nev�er�explicitly�discussed!���T��*�extb�Go�oks����?should�s�con���tain�explicit�discussions�of�these�matters,�{>as�w�ell�as�carefully�c�hosen����?examples��
and�exercises�to�illustrate�the�correct�c���hoice�of�op�Gerations�according����?to��)the�goal�and�the�con���text.�gCMost�imp�Gortan�t,���they�should�con�tain�man�y�more����?sections��Nand�examples�in�whic���h�a�mixed�bag�of�dieren�t�rules�need�to�b�Ge�applied.����NOne�o�in���teresting�question�is�this:���ho�w�m�uc�h�do�Ges�mathematics�dep�end�on����?trial-and-error��0searc���h?�WMy�exp�Gerience�in�dev�eloping�the�auto�mo�Gde�algorithm����?of�'��Mathp��}'ert��leads�to�the�conclusion�that�searc���h�is�used�in�elemen�tary�mathe-����?matics��)in�only�a�few�places:�C�searc���hing�for�the�factors�of�a�quadratic�p�Golynomial,����?searc���hing�|�for�a�linear�factor�of�a�higher-degree�p�Golynomial,���and�searc�hing�for�a����?go�Go�d��Xgrouping�of�the�factors�in�factor-b���y-grouping.���In�calculus�w�e�migh�t�add,����?searc���hing��cfor�a�substitution�in�in�tegration�b�y�substitution,��fand�searc�hing�for�a����?c���hoice��of�parts�in�in�tegration�b�y�parts.�\EAll�other�problems,�!�including�the�c�hoice����?of�UUwhic���h�rule�to�use�on��cos��c�2�x�,�can�b�Ge�solv�ed�without�searc�hing.����^��7������N�One��Tof�the�referees�raised�the�p�Gossibilit���y�that��Mathp��}'ert��could�teac�h�or�giv�e����?access��9to�its�in���ternal�meta-rules.��rThis�suggestion�has�t�w�o�answ�ers.��rThe�short����?answ���er��is�that��Mathp��}'ert��is�not�designed�to�b�Ge�explicitly�tutorial�(see�Section�1).����?It��hw���ould�almost�certainly�b�Ge�a�go�o�d�idea�to�giv���e�more�instruction�in�problem-����?solving���strategy��*�,��(p�Gossibly�aided�b���y�more�explicit�\rules�of�th�um�b"�suggested����?b���y���the�in�ternal��Mathp��}'ert��meta-rules.��Ho�w�ev�er,���it�is�not�within�the�scop�Ge�of����?the�Gstatemen���t�of�purp�Gose�of��Mathp��}'ert��giv�en�in�Section�1.���The�long�answ�er�is����?more��Vin���teresting,���and�b�Gears�on�deep�issues�in�articial�in�telligence�and�cognitiv�e����?science.�4�Namely:�3it��.is�not�at�all�clear�that�h���uman�mathematicians�really�op�Gerate����?in�2'this�w���a�y��*�,�91using�2'a�collection�of�meta-rules.�f
Ma���yb�Ge�there�is�planning�and�goal-����?seeking��Kat�a�deep�Ger�lev���el;�>Fma�yb�e��Kthere�is�\understanding".�C�Chess�programs����?op�Gerate�Lib���y�rules�and�calculations,��ebut�p�erhaps�grand�masters�do�not.�yEv���en�if�this����?is�&otrue,�/�studen���ts�of�c�hess�do�study�rules.�b%This�issue�has�caused�more�argumen�ts����?than�UUan���y�other�in�the�philosophical�foundations�of�articial�in�telligence.��!č��?�4��W�Customizing��the�solution�in��IMathp��C�ert�����?�In�p�Section�2�w���e�ha�v�e�giv�en�an�example�to�illustrate�the�fact�that��Mathp��}'ert��can����?generate�*solutions�with�man���y�small�steps,�L�or�solutions�with�few�but�p�Go�w�erful����?steps.�q�This�UUsection�will�discuss�ho���w�this�is�ac�hiev�ed.����NFirst�Ɏof�all,��when�the�user�is�con���trolling�the�steps�of�the�solution,�the�user����?can��Zc���ho�Gose�the�op�eration,��&and�so�it�will�suce�if�there�is�a�c���hoice�of�the�p�o���w�erful����?or�B�the�w���eak�op�Geration.�k�When�the�user�has�selected�a�sum�con�taining�a�fraction��?�X-�ff��v�	J=����"5��-:�7���LܸNicaud���et.�0al.�`�[�16���]�describ�<re�a�system�that�helps�studen�Îts�learn�to�solv�e�factorization��	��problems�p�b�Îy�teac�hing�them�to�searc�h�for�a�solution,���bac�ktrac�king�at�failure.��YThe�examples���giv�Îen��Xin�the�pap�<rer�are�in�the�topic�kno�wn�in�Algebra�I�as�\factor�b�y�grouping".������We�16������l�����'������?�or��Jfractions,��the�men���u�of�a�v��q�ailable�op�Gerations�will�pro�vide�more�than�one�c�hoice.����?F��*�or�"�the�b�Geginning�algebra�studen���t�(that�is,�V0if�the�problem�w�as�en�tered�under����?an�cFelemen���tary�topic),�f�this�list�will�include��Find�common�denominato�r�.���This�will����?simply�;pm���ultiply�b�Goth�fractions�b�y�an�appropriate�factor��c=c�,�@�as�in�the�rst�step����?in�kVFigure�2.�#�If�the�user�thoroughly�understands�common�denominators�and�basic����?algebra,��(for��\example�a�second-semester�calculus�studen���t,�the�op�Geration��Common����?denominato���r�UUand�simplify�numerato�r��will�do�ev�erything:�q�for�example,��'j������<$���&1�����w�feln�	(֍�x���r�3���S�+�8�1������q+�����<$���I1��l�w�feln�	(֍�x���r�2���S��8��1�������%��?will�UUb�Ge�transformed�to��絍�����<$��է�x�(�x���^��2���S�+�8�1)���Ӗ�w�fer���	(֍(�x�8����1)(�x��+�1)(�x���r�2���S���x��+�1)�����$���:��MЍ�?�A��wstuden���t���still�w�an�ting�to�see�more�detail�can�rst�explicitly�factor�the�de-����?nominator,�o}and�7then�use��Common�Denominato���r�,�and�nally��Simplify�,�to�get�a����?three-step�UUsolution.����NCustomized���solutions�lik���e�this�are�easy�for��Mathp��}'ert��to�pro�vide�in�men�u����?mo�Gde,�+b�ecause��the�sym���b�Golic�computation�engine�w�as�dev�elop�Ged�in�accordance����?with�3the�design�principle�of�cognitiv���e�delit�y��*�.�^�Another�pro��8ject�whose�progress�I����?ha���v�e�X6follo�w�ed,���w�as�originally�based�on�the�idea�of�putting�a�step-b�y-step�in�terface����?on���REDUCE.�After�the�implemen���tation�had�progressed�for�some�time,�]it�w�as����?noticed�gVthat�the�steps�w���ere�often�to�Go�large�and�confusing.���Note�that�this�is����?a�Bcompletely�dieren���t�class�of�diculties�from�the�logical�problems�discussed����?in�D]connection�with�the�correctness�principle.�>�Once�one�starts�do���wn�the�road����?of��himplemen���ting�simpler�op�Gerations�in�terms�of�more�complex�ones,�musing�a����?programmable�ʄCA��fsystem�suc���h�as�REDUCE�or��Mathematic��}'a�,���what�guaran���tee����?is�Z�there�that�the�pro�Gcess�will�b�e�simpler�than�implemen���ting�an�educational�CA����?system�m�from�scratc���h?���And�ev�en�if�it�turned�out�to�b�Ge,�s�one�w�ould�still�ha�v�e�the����?logical�UUdiculties.����N�Mathp��}'ert��g�is�designed�not�only�to�p�Germit�the�user�to�pro�duce�dieren���t�solu-����?tions�E�to�the�same�problem,�Ibut�also�to�do�so�itself�when�running�in�auto�mo�Gde.����?If�sCa�common�denominator�is�required�to�solv���e�an�in�tegral,�z�it�should�b�Ge�done�in����?one�e�step�for�a�calculus�studen���t,�i�but�for�a�b�Geginning�algebra�studen�t,�i�automo�Gde����?should��pro�Gduce�the�long�solution�to�1�=x��v�+�1�=y�[��.�V�Ho���w��is�this�to�b�e�accomplished?����NIn��xorder�to�supp�Gort�the�generation�of�dieren���t�solutions�to�the�same�problem,����?�Mathp��}'ert��0�main���tains�an�in�ternal�mo�Gdel�of�its�user.�0�This�mo�del�has�b�een�discussed����?in�osome�detail�[�4��];�{�for�this�pap�Ger�it�will�suce�to�kno���w�that�the�mo�del�consists����?essen���tially�7sin�lab�Gelling�eac�h�of�the�appro�ximately�one�thousand�op�Gerations�as����?either�7��unknown�,�=��le��}'arning�,��known�,�or��wel���l�x�known�.�g�Initializing�the�mo�Gdel�consists����?in�UUassigning�these�lab�Gels.����NExp�Gerience��[since�1990�has�taugh���t�an�imp�ortan���t�lesson.���The�original�in�ten-����?tion,�,�inspired��b���y�the�\buggy�mo�Gdel�of�learning"�[�10��
]�w�as�that�the�user�mo�Gdel������We17�����D�l�����'������?�should�r�mo�Gdel�a�particular�individual.��This�mo�del�w���as�to�b�e�initialized�b���y�a����?diagnostic��test�program,�@�and�the�mo�Gdel�w���as�ev�en�made�user-editable�in�early����?v���ersions��of��Mathp��}'ert�.���Ho�w�ev�er,�=`exp�Gerience�so�on�sho���w�ed��that�it�is�easy�to�get����?an�ڎ\out-of-balance"�user�mo�Gdel,���whic���h�will�cause�strange-lo�oking�solutions,���in����?whic���h�URthere�ma�y�b�Ge�sev�eral�tin�y�steps�and�suddenly�a�m�ysterious�large�step.����?Indeed,�I�re
ection�Gsho���ws�that�w�e�don't�actually�w�an�t�to�mo�Gdel�the��r��}'e�al�G�studen�t,����?but�v�rather�some�ctional��ide��}'al��studen���t�at�the�appropriate�lev�el�for�the�sub��8ject,��Hso����?that�SWthe�auto-mo�Gde�solutions�are�ideal�solutions,�S�rather�than�ones�whic���h�migh�t����?b�Ge�UUgenerated�b���y�our�(buggy)�real�studen�t.����^��8������N�The�2\end�result�of�these�considerations�is�that�the�user�mo�Gdel�has�b�ecome����?in���visible�7�to�the�user.��When�the�user�rst�en�ters��Mathp��}'ert�,�p�he�or�she�c�ho�Goses����?from��oa�men���u�what�the�\topic"�of�the�session�will�b�Ge.�OThese�topic�c�hoices�are����?in���tended�b?to�encompass�ab�Gout�one�da�y's�lesson�eac�h�(corresp�Gonding�to�one�section����?of�D`a�textb�Go�ok).�l The�D`user�mo�Gdel�is�automatically�initialized�based�on�the�c���hoice����?of�qKtopic.�ŨThis�user�mo�Gdel�will�pro�duce�solutions�at�the�lev���el�of�detail�generally����?appropriate�a�for�a�class�on�that�topic;�hGthe�solutions�will�not�use�op�Gerations�that����?are�L^unkno���wn�(unless�the�problem�can't�b�Ge�done�without�them).�uTh�us�L'H^����opital's����?rule�!Rwill�not�b�Ge�used�(in�auto�mo�de)�on��lim������x�!�0��"�(�sin��
���x�)�=x���^��2�����when�L'H^����opital's�rule����?w���on't��>b�Ge�taugh�t�un�til�next�w�eek;�³but�next�w�eek,��xwhen�the�topic�is�L'H^����opital's����?rule,�UUit�will�b�Ge�used.����NIn��>short:�o�it�suces�to�customize�the�solution�to��the��level�of��>�the�individual����?studen���t.�q�It�UUdo�Gesn't�really�need�to�b�e�customized�to�the��individual��studen���t.��!č��?�5��W�The��correctness�principle�in��IMathp��C�ert�����?�Ne��}'c�essity�$^of�a�the��}'or�em-pr�over�.�I^Ha���ving��established�the�dicult�y�and�imp�Gortance����?of��the�correctness�principle,�let�me�remark�on�what�it�to�Gok�to�build�a�system����?that���satises�it.�+��Mathp��}'ert��incorp�Gorates�a�non-trivial�theorem-pro���v�er���(ab�out�6000����?lines�}�of�C�}�in�the�curren���t�implemen�tation,���ab�Gout�ten�p�ercen���t�of�the�total�co�de).����?This��pro���v�er�is�a�piece�of�w�ork�that�can�stand�on�its�o�wn�as�a�con�tribution�to����?the���branc���h�of�computer�science�kno�wn�as�automated�deduction.����^��9����M�There�are����?few�ۈother�programs�com���bining�some�sym�b�Golic�computation�capabilities�with����?logical��Qdeduction�capabilities;��w���e�ma�y�men�tion�W��*�u's�w�ork�on�geometry�[�19��
]�and����?�A���nalytic��}'a�}�[�11��
]�in�this�connection.�?Descriptions�of�the��Mathp�ert��pro���v�er�}can�b�Ge����?found�UUin�[�3��]�and�[�5��];�and�a�discussion�of�some�later�additions�is�in�[�6��].����N�L��}'o�gic��is�in�the�b��}'ackgr�ound�.���Although��a�correct�handling�of�logical�matters����?is�'�essen���tial�for�correctness,�\nw�e�rarely�ask�studen�ts�to�consider�logical�matters��?�X-�ff��v�	J=����"5��-:�8���LܸA�H�team�H�w�Îorking�on�the�APLUSIX�pro�x�ject�has�dev�Îelop�<red�a�program�[�14���],�e�[�15��]�H�whic�h�di-��	��agnoses�$�a�studen�Ît's�kno�wledge�in�a�limited�sub-domain�of�algebra,�8zbased�on�some�t�w�en�t�y�or���thirt�Îy�Y�transformation�rules�in�p�<rolynomial�arithmetic.�UThis�w�ork�represen�ts�the�state�of�the���art��Xin�diagnosing�and�mo�<rdelling�individual�studen�Îts�in�the�sub�x�ject�of�mathematics.��	�>����"5��-:�9���LܸI�#oha�Îv�e�#�recen�tly�written�another�program�called��Weierstr���ass�,�G)based�on�the��Mathp�ert��pro�Îv�er,���whic�Îh���has�automatically�generated�an�epsilon-delta�pro�<rof�of�the�con�tin�uit�y�of��x���-:�3��*��;�Fprevious���programs��Xcould�do�this�only�for�linear�functions.������We�18������l�����'������?�explicitly��*�.� HThe�:+cognitiv���e-delit�y�principle�then�requires�that�the�logical�w�ork����?p�Gerformed��Qb���y�the�soft�w�are�remain�mostly�in�visible.�1�The�glass-b�Go�x�principle,����?ho���w�ev�er,�@�requires��that�it�b�Ge�visible�on�demand.���Eac���h�(visible)�line�of�the�so-����?lution�T`has�asso�Gciated�with�it�a�list�of�assumptions�on�whic���h�it�dep�ends.�n�F��*�or����?example,� ^if���y���ou�en�ter�1�=x��)�+�1�=y�S��as���the�problem,� ^this�will�dep�Gend�on�the�(im-����?plicit)�I>assumptions��x���6�=�0�I>and��y�"��6�=��0.�k�Mathp��}'ert��mak���es�these�assumptions�explicit,����?but�UUdo�Ges�not�displa���y�them�unless�y�ou�request�it.����NOne��Aof�referees�questioned�this�p�Goin���t�of�the�design,�<sa�ying�that�one�of�the����?main�!�p�Goin���ts�of�undergraduate�mathematical�education�is�training�in�logical����?thinking,�* and�Sthat�therefore�atten���tion�should�b�Ge�fo�cussed�on�the�logical�asp�ects����?of�uthe�steps.���P���ersonally��*�,�|�I�uthink�this�is�a�v��q�alid�p�Goin�t�deserving�of�consideration����?b���y���teac�hers�and�textb�Go�ok�authors.�3�Indeed�the��View�Assumptions��option�in��Math-����?p��}'ert��*�can�certainly�b�Ge�used�to�exp�ose�the�logical�underpinnings,�_so�the�teac���her����?could���simply�instruct�the�studen���t�to�mak�e�use�of�it.��SMoreo�v�er,��on�those�o�Gcca-����?sions�
�when��Mathp��}'ert��refuses�to�execute�an�op�Geration�b�ecause�its�side�conditions����?cannot�e�b�Ge�satised,���the�user's�atten���tion�will�b�e�forcibly�dra���wn�to�the�logical����?asp�Gect�$`of�the�situation.�avBut�the�design�principle�of�supp�orting�the�existing�cur-����?riculum�A�to�Gok�precedence�in�this�case�(as�w���ell�as�some�others)�o�v�er�the�desire�to����?\impro���v�e"�UUthe�existing�curriculum�according�to�m���y�o�wn�ligh�ts.����N�Corr��}'e�ctness�Yzof�Gr��}'aphs�.��	As�,discussed�in�Section�2,�a�a�purely�n���umerical�ap-����?proac���h���to�graphing�leads�to�incorrect�graphs�when�the�function�b�Geing�graphed����?has��jumps�or�singularities.�?�Graphs�are�made�b���y�connecting�a�nite�set�of�p�Goin�ts.����?If���these�p�Goin���ts�are�c�hosen�simply�b�y�partitioning�the��x�-axis,��Sthe�p�Goin�ts�will�prob-����?ably��pnot�hit�the�singularities�exactly��*�,��8so�the�graph�ma���y�not�ev�en�go�o-screen�at����?a���singularit���y��*�.�\�Moreo�v�er,��Athere�is�often�a�v�ertical�line�where�the�singularit�y�b�Ge-����?longs.�V�This�qarises�b�Gecause�the�soft���w�are�qjust�connects�one�p�oin���t�to�the�next,��and����?\kno���ws"��nothing�ab�Gout�singularities.��&Similarly��*�,�1�jumps�will�b�e�dra���wn�as�short����?nearly-v���ertical�Cmlines.�k�There�is�another�class�of�function�that�is�often�incorrectly����?graphed:�q�those��Rwith�man���y�maxima�and�minima�close�together.��Tw�o�common����?examples��nw���ould�b�Ge��sin���(40�x�)�and��sin��(1�=x�).��What�happ�Gens�to�a�purely�n���umeri-����?cal��grapher�is�that�when�the�p�Geaks�are�sharp,��]a�maxim���um�will�o�ccur�b�et���w�een����?t���w�o���plotted�p�Goin���ts,��and�the�line�segmen�t�connecting�the�p�Goin�ts�will�simply�cut����?across,�4�going�
no���where�near�the�true�maxim�um.���Ev�en�an�\adaptiv�e�step�size"����?algorithm�bUsuc���h�as�is�used�b�y��Mathematic��}'a��will�not�help,�e�b�Gecause�the�n�umerical����?clues��that�the�step-sizer�lo�Goks�for�o�ccur�only�near�the�p�eak,���and�they�are�skipp�ed����?to�Go!���Matters��Ware�made�w���orse�b�y�the�fact�that�these�errors�sometimes�pro�Gduce����?highly��$symmetric�patterns,�Ԙe.g.��4in�the�case�of��sin�����ax��for��a��b�Get���w�een��$30�and�50.����?It's��1an�in���teresting�puzzle�to�explain�the�patterns,���but�they�b�Gear�no�relation�to����?the�UUtrue�graph,�and�ma���y�w�ell�confuse�a�studen�t.����N�Mathp��}'ert�Y�solv���es�these�diculties�b�y�making�use�of�its�sym�b�Golic�computation����?engine��*b�Goth�while�preparing�to�graph�and�during�the�actual�graphing.�	GLet����?us�a�consider�the�problem�of�sharp�maxima�rst.��+First�of�all,���b�Gefore�graphing����?�Mathp��}'ert����computes�the�sym���b�Golic�deriv��q�ativ�e�of�the�function�to�b�Ge�graphed,��9and����?then��as�it�graphs,���it�n���umerically�ev��q�aluates�the�deriv�ativ���e�as�w�ell�as�the�function.������We19�����ˠl�����'������?�If��the�deriv��q�ativ���e�c�hanges�sign�from�one�plotted�p�Goin�t�to�the�next,���Mathp��}'ert��uses����?a�}n���umerical�equation-solving�metho�Gd�to�nd�a�zero�of�the�deriv��q�ativ�e�b�Get�w�een����?the���t���w�o�p�Goin�ts,���and�mak�es�sure�to�plot�a�p�Goin�t�at�that��x�-co�Gordinate�as�w�ell�as����?the�X�original�t���w�o.�|FIn�X�this�w���a�y�X�it�ensures�hitting�the�maxim���um.�Of�course,�Y�if�the����?graph���has�maxima�closer�together�than�one�pixel,��some�inaccuracies�are�going�to����?result��an���yw�a�y��*�.�Q�After�all,�Tthere�is�no�hop�Ge�of�dra�wing�a�p�Gerfect�graph�of��sin��<2(1�=x�)����?on���a�screen�with�a�nite�n���um�b�Ger���of�pixels!�6But�what�w���e�can�ac�hiev�e�is�a�clear����?picture�UUof�the�en���v�elop�Ge�UUof�the�graph.����NT��*�urning��[to�the�problems�of�singularities�and�jumps:�2��Mathp��}'ert��app�Geals�to�the����?sym���b�Golic�%{co�de�used�b���y�the�theorem-pro�v�er�(not�the�op�Gerations�accessible�to�the����?user)�4�to�calculate�the�singularities�(if�an���y)�b�Gefore�making�the�graph.�8It�then����?tak���es��care�to�dra�w�the�graph�correctly�at�the�singularities,�'no�w�that�it�\kno�ws"����?where�bthey�are.��EF��*�or�example,�e�it�calculates�that�the�singularities�of��tan��~��x��are�at����?(2�n����+�1)��[�=�2,� �and�Uthen�when�graphing��tan��/��x��o���v�er�Ua�sp�Gecic�in���terv��q�al��a�����x����b�,�it����?calculates�UUthe�relev��q�an���t�v�alues�of��n��and�dra���ws�the�graph�correctly��*�.����NIn��7dicult�cases�the�program�ma���y�fail�to�nd�a�form�ula�for�the�singularities.����?Ev���en�ɘif�it�do�Ges�nd�a�form�ula�for�the�singularities,��if�that�form�ula�in�v�olv�es�an����?in���teger���parameter�as�in�the�ab�Go�v�e�example,��Qit�ma�y�b�Ge�to�o�dicult�to�nd�the�set����?of�&relev��q�an���t�v�alues�of��n�.�bThat�set�ma���y�not�ev�en�b�Ge�nite.�bF��*�or�example,��/�tan���P(1�=x�)����?is���to�Go�hard.� �But,��F�Mathp��}'ert��at�least�graphs�all�rational�functions�correctly��*�,�and����?I�UUhop�Ge�it�graphs�all�functions�that�w���ould�arise�in�a�calculus�course�correctly��*�.����NIt��{is�easy�to�adapt�the�result�of�Ric���hardson�[�18��
]�to�sho�w�that�the�problem����?of�gkcomputing�the�singularities�of�a�giv���en�elemen�tary�function�is�not�recursiv�ely����?solv��q�able.�	I~No��matter�ho���w�one�impro�v�es�the�algorithm,�Y�there�will�alw�a�ys�b�Ge����?functions��whose�singularities�are�not�calculated.�͆Ho���w�ev�er,�P�in��suc�h�a�case�the����?user�Nwill�get�a�w���arning�that��Mathp��}'ert��could�not�calculate�the�singularities,�O�and����?the�UUgraph�ma���y�b�Ge�incorrect.����NAnother�9�approac���h�to�these�problems,�r�\honest�plotting",�is�rep�Gorted�on�in����?[�1��],�a�[�2��].���\Honest�_Mplotting"�refers�to�the�use�of�in���terv��q�al�arithmetic�in�calculating����?the��graph�v��q�alues.�N8That�is,���all�arithmetic�is�done�carrying�along�upp�Ger�and�lo���w�er����?b�Gounds.�_�In�OVplaces�where�the�p�ossible�error�is�signican���t,���the�graph�line�gets����?thic���k�er.�w�In�Wcbad�examples,�W�suc���h�as��sin����(�x�)�=x��near�the�origin,�it�b�Gecomes�a�region����?instead��mof�a�line,��but�at�least�the�correct�graph�is�kno���wn�to�lie�in�the�shaded����?region.�`�Honest�"�plotting�w���as�describ�Ged�y�ears�ago�in�[�12��
]�and�is�used�in�Avitzur's����?Graphing�ivCalculator�(whic���h�is�distributed�with�the�P�o�w�er�Macin�tosh�computer).����N�The�>Corr��}'e�ctness�Principle�and�Pe�dago�gy.�ٓ�I��%found��Din�the�writings�of�Maria����?Mon���tessori,��the�y)Italian�educator,�a�principle�that�is�highly�relev��q�an���t.����^��10���
V(�Mon�tes-����?sori�v�demanded�that�educational�materials�satisfy�the�principle�she�called�\con-����?trol��&of�error".�09This�means�that�the�materials�should�b�Ge�\self-correcting":��hthe����?materials��7themselv���es�m�ust�inform�the�studen�t,���without�the�in�tercession�of�the����?teac���her,���when��wthe�activit�y�has�b�Geen�completed�successfully��*�.�M,Mon�tessori�had�in����?mind���ph���ysical�materials�for�presc�ho�Gol�and�elemen�tary�sc�ho�Gol�c�hildren.���F��*�or�ex-��?�X-�ff��v�	J=����w���-:�10���LܸSee��XChapter�24�of�Mon�Îtessori�[1967].������We�20����O�l�����'������?�ample,��supp�Gose�a�the�task�is�to�sort�ten�w���o�o�den�do���w�els�a�b�y�length.���Con�trol�of����?error�j�can�b�Ge�pro���vided�b�y�making�the�ro�Gds�of�dieren�t�diameters,�p*and�requiring����?the�zsorting�to�b�Ge�done�b���y�inserting�the�ro�ds�in�holes.���Y��*�ou�can't�put�a�ro�d�in�a����?to�Go-small�Mhole.�o
Y��*�ou�can,�N�of�course,�put�a�ro�Gd�in�a�to�o-large�hole,�N�but�if�y���ou�do,����?y���ou'll�x�ha�v�e�some�ro�Gds�left�o�v�er�that�w�on't�t�an�ywhere.��kThere�is�only�one�w�a�y����?to�UUt�all�the�ro�Gds�in�a�hole,�and�that's�the�correct�w���a�y��*�.����N�Mathp��}'ert��_�pro���vides�con�trol�of�error�b�y�means�of�the�correctness�principle.����?Y��*�ou���simply�can't�tak���e�a�mathematically�incorrect�step.�J�Y�ou�can,��/of�course,�tak���e����?a���mathematically�correct�but�irrelev��q�an���t�step;�Ьy�ou�can�factor�a�p�Golynomial�and����?then��m���ultiply�out�the�factors�again.�ETY��*�ou�can�go�on�rep�Geating�those�steps�all�da�y����?long��if�y���ou�lik�e,��but�y�ou�can't�mak�e�a�mistak�e�when�m�ultiplying�out�the�factors.����?When�UUthe�problem�is�nished,��Mathp��}'ert��will�tell�y���ou��That's���the�answer�.��!č��?�6��W�Using��Kthe�computer's�p�u�o��=w�er��Kwhen�the�user����W�is��stuc��=k�����?�One�URof�the�design�principles�in�Section�2�required�that�the�computer�should�b�Ge����?able�.%to�tak���e�o�v�er�on�request�(presumably��*�,�dXthat�means�when�the�user�is�lost).����?There�řare,�!�ho���w�ev�er,�a�řn�um�b�Ger�of�in�termediate�and�p�Gedagogically�in�teresting����?states���the�user�can�b�Ge�in�b�esides�\pro�ceeding�comp�eten���tly"�and�\lost".��VThere����?is,��Rfor���example,�the�state�\no���w�what?",�in�whic���h�the�user�has�b�Geen�pro�ceeding����?comp�Geten���tly��*�,��\and��[is�generally�comp�eten���t�with�this�topic,��\but�do�es�not�see�im-����?mediately�4�what�to�do�next.�f�Ev���en�the�state�\lost"�can�b�Ge�divided�in�to�\lost�and����?giv���en�UUup"�and�\lost,�but�hoping�to�reco�v�er".����NHo���w��'can�w�e�b�Gest�use�the�p�o���w�er��'of�the�computer�to�solv���e�the�problems,����?when��the�user�is�in�these�v��q�arious�states�of�confusion?��This�section�will�explain����?ho���w�ETthe�curren�t�v�ersion�of��Mathp��}'ert��uses�its�auto�mo�Gde�capabilities�in�dieren�t����?situations.����NFirst��Kof�all,��the�user�who�is�\lost�and�giv���en�up"�can�simply�clic�k�the��Auto�Fin-����?ish�P��button�to�let�the�computer�nish�the�solution.�pOPresumably�the�lost�studen���t����?then�UUstudies�the�solution,�in�order�to�do�b�Getter�next�time.����NThe�y�user�who�is�\lost,���but�hoping�to�reco���v�er"�y�can�clic���k��Auto�Step�.���This����?causes����Mathp��}'ert��to�generate�just�one�(more)�step�of�the�solution.�)�Rep�Geated����?clic���king�f�on��Auto�Step��will�th�us�duplicate,�kone�step�at�a�time,�the�eect�of��Auto����?Finish�.�J`But��p�Gerhaps�the�studen���t�can�realize�his�hop�e�of�reco���v�ery��after�seeing�one����?or�UUt���w�o�steps,�and�con�tin�ue�the�solution�himself.����N�Hint��gener��}'ation�.�	%?A��more��}in���teresting�case�is�the�user�in�the�state�\No�w����?what?",��>who��Cdo�Ges�not�quite�feel�lost,�but�can't�quite�gure�out�what�to�do����?either.�	This��user�could�of�course�clic���k��Auto�Step�,�C�but�ma�y�b�Ge�reluctan�t�to����?\admit�,Mdefeat"�b���y�so�doing.����Mathp��}'ert��pro�vides�another�alternativ�e:��the��Hint����?�button.�3When�@nthe�user�presses��Hint�,�{4�Mathp��}'ert��in���ternally�generates�one�more����?solution�#step,�-but�do�Ges�not�sho���w�it.�WInstead,�ha���ving�determined�what�op�Geration������We21����!��l�����'������?�it��Aw���ould�use,��{it�lo�Goks�up�an�appropriate�natural-language�hin�t�in�a�pre-stored����?table�30of�hin���ts.�ffThese�hin�ts�are�designed�to�sound�lik�e�what�a�teac�her�w�ould�sa�y����?in��the�situation.�5They�are�con���v�ersationally��phrased,�\con�taining�form�ulas�only����?when��onecessary��*�,��7but�they�are�designed�to�enable�the�studen���t�to�extract�the�men�u����?c���hoice�URwhic�h�should�b�Ge�made�to�in�v�ok�e�the�suggested�op�Geration,�USor�at�least�the����?term�UUto�select�to�pro�Gceed�using�the�T��*�erm�Selection�In���terface.����N�Err��}'or�:�A���nalysis.�Qv�Although��by���ou�can't�carry�out�an�incorrect�step�in��Mathp�ert�,����?y���ou��Hcan�try�to�do�so,��Eb�y�making�an�inappropriate�men�u�c�hoice.���Of�course,��Ethe����?op�Geration��ma���y�b�e�applicable�ev���en�though�in�some�sense�inappropriate,��in�whic�h����?case��l�Mathp��}'ert�,��gin�accordance�with�its�principles,�will�let�y���ou�tak�e�that�step.�FzBut����?y���ou��Zma�y�ha�v�e�c�hosen�an�inapplicable�op�Geration,��in�whic�h�case��Mathp��}'ert��m�ust����?refuse�œy���our�request.�‚It�is�desirable�that�in�this�situation�the�most�informativ�e����?error���message�p�Gossible�should�b�e�supplied.�O�Of�course,�[some�v���ery�common�errors����?can���b�Ge�trapp�ed�individually��*�,�Mand�appropriate�messages�can�b�e�stored�in�the����?program.�0'Ho���w�ev�er,���with��ro�v�er�a�thousand�op�Gerations,���there�are�a�million�p�ossible����?pairs�{#of�the�form�(�c��}'orr�e�ct��4op�er�ation�,�Ė�chosen�op�er�ation�).��0So�{#some�attempt�at����?dynamic��error-message�generation�is�imp�Gerativ���e.��F��*�or�example,��zsome�errors�are����?simply�)Hdue�to�omitting�a�necessary�preliminary�step.�c�Mathp��}'ert��will�catc���h�man�y����?of��uthese�errors.�8}The�metho�Gd�is�this:��when�an�op�eration�is�inapplicable,����Mathp��}'ert����?�in���ternally�ߩtak�es�four�steps�of�the�automo�Gde�solution�starting�from�the�curren�t����?line.�|�If��Zthe�user's�op�Geration�is�used�in�one�of�these�four�steps,�ěit�is�a�go�o�d�b�et����?that��
the�user�is�\on�the�righ���t�trac�k",��and�a�helpful�message�can�b�Ge�generated����?informing��`the�user�what�preparatory�step�has�to�b�Ge�done�rst.�R Of�course,�	^errors����?that�C�are�\not�in�the�ballpark"�will�still�ha���v�e�C�to�generate�some�uninformativ���e����?message�UUsuc���h�as��Sorry,���that�op��}'er�ation���c�an���P't�b�e�applie�d�her�e�.��!�?�7��W�T����raditional��in��=terface�issues:�\%ease�of�use�����?�In��@this�pap�Ger�I��!ha���v�e��@fo�cussed�atten���tion�on�the�w�a�y�in�whic�h�the�in�terface�and����?\k���ernel"�Wror�computational�engine�of�a�go�Go�d�Wrsym�b�olic�Wrcomputation�program�for����?education��are��ne��}'c�essarily���in���terrelated.��Nev�ertheless,�sthere�are�a�n�um�b�Ger�of�is-����?sues,�}Omostly�GMconnected�with�m���y�design�principle��Ease��{of�Use�,�that�GMare�traditional����?\in���terface�UUissues".���6���?�7.1��]�Source��of�problems��uT��?�Although��Mathp��}'ert��can�solv���e�problems�giv�en�b�y�the�user�(instead�of�only�pre-����?stored���problems),��I��Tfound�when�our�studen���t�lab�Goratory�op�ened�that�nob�o�dy����?actually�w�w���an�ts�to�t�yp�Ge�problems�in.��]Both�studen�ts�and�professors�w�an�t�to�nd����?the���problems�already�in�a�problem�le�ready�to�call�up.�D�Moreo���v�er,��Uif���using����?the��Lprogram�in�connection�with�a�class,��Ithey�w���an�t��Lto�nd�the�exact�problems����?that��ha���v�e�b�Geen�assigned�in�class,��not�the�problems�c�hosen�b�y�the�author�of����?�Mathp��}'ert�.�'This��is�imp�Gortan���t�b�ecause�it�p�ermits�professors�to�mak���e�the�use�of������We22����0l�l�����'������?�Mathp��}'ert�y��optional.�(�This�problem�has�b�Geen�solv���ed,���in�a�w�a�y�that�gets�appropriate����?problems���to�the�studen���t�without�ev�en�requiring�le�names�to�b�Ge�kno�wn�or�t�yp�Ged,����?while��"still�allo���wing�full�
exibilit�y�to�either�studen�t�or�professor�to�customize�the����?problem�UUles�as�desired.����NWhen�<Ta�studen���t�installs�her�new�cop�y�of��Mathp��}'ert�,�AUshe�will�c�ho�Gose�her�text-����?b�Go�ok�%from�among�the�supp�Gorted�textb�o�oks,�.�and�the�problem�les�for�that�text-����?b�Go�ok�<Qwill�b�Ge�included�in�the�installation,�ARin�addition�to�the�problem�les�dev���el-����?op�Ged�Y�and�distributed�with��Mathp��}'ert�.����^��11������Nev���ertheless,��$the�program�has�to�supp�ort����?en���tering��=an�en�tirely�new�problem�of�y�our�o�wn�c�hoice.�4A�t�presen�t�this�means�t�yp-����?ing�Q�things�lik���e��x^2+y^2��when�y�ou�mean��x���^��2�����+�1N�y��[ٟ�^��2���L�.�/There�is�th�us�a�\one-dimensional����?notation"��for�t���yping�in�mathematics,�Hndieren�t�from�the�\t�w�o-dimensional�no-����?tation"���used�in�b�Go�oks���and�for�on-screen�displa���y��*�.�GSome�other�programs�oer����?\equation�|�editors":��clic���k-and-drag�in�terfaces,���using�palettes�of�sym�b�Gols,���that����?allo���w��*users�to�build�up�form�ulas�directly�in�t�w�o-dimensional�notation.�S�The�con-����?struction��)and�desirabilit���y�of�suc�h�in�terfaces�is�to�Gda�y�a�widely-discussed�issue,�	�to����?whic���h�{AI�{7ha�v�e�little�to�con�tribute.��What�little�I�{7ha�v�e�is�simply�this�observ��q�ation:����?while� xan�engineer�is�lik���ely�to�bring�her�o�wn�problem,�+a�studen�t�is�lik�ely�to�w�an�t����?to�UQsolv���e�the�homew�ork�problems.�q�If�they�are�already�on�disk,�URnob�Go�dy�UQwill�ha�v�e����?to��t���yp�Ge�(or�clic�k�and�drag)�to�get�the�problems�en�tered.�^�Figure�5�sho�ws�what�it����?lo�Goks��lik���e�to�see�the�problems�stored�on�disk.�_�Y��*�ou�can�press��Next��or��Previous��to����?p�Geruse�UUthe�a���v��q�ailable�problems.���6���?�7.2��]�Selection��of�op�`erations��uT��?�There�are�o���v�er�a�thousand�op�Gerations�in��Mathp��}'ert�.���Ev���en�with�a�men�u-driv�en����?in���terface,�޶if��all�thousand�op�Gerations�w�ere�alw�a�ys�a�v��q�ailable,�޶it�w�ould�b�Ge�confusing����?to��try�to�nd�the�one�y���ou�need.�K�There�is�therefore�a�serious�\in�terface�problem"����?in���enabling�the�user�to�nd�an�appropriate�op�Geration�and�cause�it�to�b�e�used.����?It�<_seems�useful�to�distinguish�here�b�Get���w�een�<_the�user�who��knows�|�what�she�wants����?to�?5do�,�>and��the�user�who�do�Ges�not.��bLet�us�consider�the�user�who�kno���ws�what����?she�w���an�ts�to�do,�-�b�y�whic�h�I�Smean�that�she�kno�ws�whic�h�op�Geration�she�w�an�ts����?to��Sapply��*�.�]�This�is�not�the�same�as�kno���wing�the�name�b�y�whic�h�this�op�Geration����?is��Mkno���wn�on�a�men�u;���what�is�mean�t�is�that�she�could�easily�write�out�the�next����?step�7�using�p�Gencil�and�pap�er,�=�unless�the�computations�are�to�o�in���tricate�to�do�b�y����?hand.����NIn�U�particular�suc���h�a�user�will�kno�w�whic�h�sub-expression�she�w�an�ts�to�w�ork����?on.�F�Mathp��}'ert��V�p�Germits�her�to��sele�ct��this�expression�b���y�using�the�mouse�to�enclose����?it�\�in�a�rectangle.��"When�she�mak���es�this�selection,�^�the�enclosing�rectangle�gets�a����?colored�e�bac���kground,���just�as�when�y�ou�select�text�in�a�w�ord�pro�Gcessor,���and�a�short����?men���u�j�of�op�Gerations�comes�up,��gsometimes�con�taining�only�one�op�Geration,��gbut����?sometimes�O8con���taining�three�or�ev�en�ten�op�Gerations.�iThe�listed�op�erations�include��?�X-�ff��v�	J=����w���-:�11���LܸAs���of�Marc�Îh�1995,�"monly�t�w�o�textb�<ro�oks���are�supp�<rorted,�"mand�w�e�are�in�the�pro�<rcess�of�obtaining��	��p�<rermission��Xfrom�publishers�to�supp�ort�more.������We�23����?��l�����'�������9���]<y�eps:getprob.eps x=10cm, y=8cm�������,�Figure�UU5:�q�Getting�a�problem�without�t���yping������?ev���erything��}y�ou�could�do��to��the�selected�term,���and�the�include�also�ev�erything����?y���ou�V�could�do��with��the�selected�term,�V�suc�h�as�transfer�it�to�the�other�side�of�the����?equation.�[�This����T��;�erm�*8Sele��}'ction�Interfac�e����allo���ws�the�user�who�kno�ws�what�she����?w���an�ts�;�to�do�to�get�the�next�line�on�the�screen�as�quic���kly�as�p�Gossible,�u�with�a����?minim���um�:{of�men�u-searc�hing.�h�Figure�6�sho�ws�ho�w�the�selected�term�app�Gears�on����?the��screen.�*"The�selected�term�is�highligh���ted�(the�default�color�is�ligh�t�y�ello�w,����?but�tall�colors�can�b�Ge�c���hanged�b�y�the�user,�@|and�of�course�the�illustration�here����?is���mono�Gc���hrome).�GThe�men�u�of�p�Gossible�op�erations�should�app�ear�at�the�righ���t����?of�`the�selected�equation,���but�the�image-capturing�soft���w�are�`used�to�mak���e�the����?illustrations��pro���v�ed�incapable�of�handling�a�\
oating�men�u".��Therefore�the����?men���u�UUhas�just�b�Geen�t�yp�Geset,�rather�than�captured�from�the�screen.����NThe���term�selection�in���terface�pro�vides�an�elegan�t�solution�to�the�op�Gerator����?selection�n�problem�for�the�user�who�kno���ws�what�she�w�an�ts�to�do.���No�w�consider����?the��Wuser�who�do�Ges�not�kno���w�what�she�w�an�ts�to�do.�1This�user�has�sev�eral�options,����?among���them��Auto�Step��and��Hint�,��Fwhic���h�ha�v�e�already�b�Geen�discussed.�D�There�is����?a���go�Go�d�c���hance�that�the�use�of��Hint��ma�y�con�v�ert�this�user�in�to�one�who�can����?protably�G�use�the�T��*�erm�Selection�In���terface.�m,If�the�user�do�Gesn't�feel�lost�enough����?to��6press��Hint�,�ݭthere�is�an�in���termediate�option:��go�bro�wsing�in�the�men�us�of����?op�Gerations.�F�Before��the�implemen���tation�of�the�T��*�erm�Selection�In�terface,���all�users����?had��Kto�do�this�to�tak���e�the�next�step�in�men�u�mo�Gde.�	�This�bro�wsing�is�not����?quite�LWso�dicult�as�it�migh���t�seem,��as�measures�are�tak�en�to�cut�the�n�um�b�Ger������We24����O`�l�����'����o���9���]<y�eps:select.eps x=10cm, y=5cm����������Figure�UU6:�q�Selecting�a�term�to�w���ork�on�����W ���9��?�subtract�UUfrom�b�Goth�sides����?divide�UUb�Goth�sides����?collect�UUall����terms�in�a�sum����?cancel�UU���terms����?write�UUit�as�a�p�Golynomial�in�?����?add�UUfractions��a=b�8����b=c���=�(�a�8����b�)�=c����?�common�UUdenominato���r����?common�UUdenom�and�simplify�numerato���r�� ���C���Figure�UU7:�q�The�men���u�brough�t�up�b�y�the�selected�term�in�the�previous�Figure.��������We25����X/�l�����'������?�of�k�men���us�of�op�Gerations�that�can�b�e�bro���wsed�to�a�minim�um.���Luc�kily��*�,��Lin�an�y����?giv���en��@mathematical�situation,���most�of�the�op�Gerations�are�irrelev��q�an�t.��Normally��*�,����?all�%Rthe�op�Gerations�y���ou�migh�t�need�will�t�on�few�er�than�20�men�us�of�at�most�16����?op�Gerations���eac���h,���so�y�ou�need�only�one�men�u�with�en�tries�lik�e��F�ractions�,����Squa�re����?Ro�Gots�,�and��z�Integration�b���y�Substitution�;�0�eac�h�of�those�has�an�asso�Gciated�p�op-up����?men���u�Vlisting�the�op�Gerations�themselv�es.�Z�Of�course,�#this�men�u�of�20�men�us�m�ust����?b�Ge�E�dynamically�computed�from�the�problem�t���yp�e�and�the�curren���t�line�of�the����?computation{it�}	can�c���hange�after�eac�h�new�line.���F��*�or�example,��when�the�last����?in���tegral�UUsign�is�gone,�no�more�in�tegration�men�us�will�app�Gear.����NThe���T��*�erm�Selection�In���terface�is�quite�new,���and�all�lab�Goratory�exp�erience����?with��%�Mathp��}'ert��w���as�based�on�the�men�u-bro�wsing�in�terface.�.7Tw�o�facts�emerged:����?(1)��hIt�is�feasible�to�use�this�in���terface,��-indeed�studen�ts�quic�kly�dev�elop�the�skill����?of�G�nding�the�op�Geration�they�w���an�t.�mTNev�ertheless,�J�(2)�G�Nob�o�dy�really�lik���es�doing����?so,���although��~they�do�lik���e�seeing�the�solution�dev�elop�as�a�result.�I*In�other�w�ords,����?the��smen���u-bro�wsing�is�a�psyc�hological�\cost"�to�b�Ge�w�eighed�against�the�\b�Genet"����?of�upresults�obtained.��The�T��*�erm�Selection�In���terface,�}won�the�other�hand,�is�fun�to����?use.����NInciden���tally��*�,�g�m�ultiple�c�selections�are�allo���w�ed;�k$for�c�example�one�can�mo���v�e�c�sev-����?eral��dieren���t�terms�to�the�other�side,��~or�one�can�apply�the�same�op�Geration�to����?t���w�o�UUdieren�t�sub�Gexpressions�at�the�same�step.���6���?�7.3��]�Argumen��ts��of�op�`erations��uT��?�Some��rop�Gerations�require�an�argumen���t,��:that�is,�an�additional�term�to�b�Ge�supplied����?b���y��)the�user.��BF��*�or�example,�7�the�op�Geration��add�to�b�oth�sides�,�7�used�in�solving����?equations.�;�If���the�user�c���ho�Goses�this�op�eration�in�the�old�men���u-bro�wsing���in�terface,����?a��p�Gopup�windo���w�will�app�ear�for�data�en���try��*�,�0�and�she�w�ould�b�Ge�prompted��A��}'dd����?what�x�to�b��}'oth�sides?�[��After�M�she�en���ters�a�term�(and�it�is�c�hec�k�ed�and�accepted����?as�
a�suitable�resp�Gonse�for�that�particular�op�eration),�?�then�the�p�opup�windo���w����?will�cOdisapp�Gear�and�she�can�con���tin�ue.���In�cOauto�mo�de,�f�if�an�op�eration�requires�an����?argumen���t�UUit�m�ust�b�Ge�automatically�selected.����NThe�c�T��*�erm�Selection�In���terface�impro�v�es�this�mark�edly:��2to�m�ultiply�an�equa-����?tion�lb���y�something,�q�just�select�that�something�in�the�visible�equation,�and�then����?c���ho�Gose�6W�Multiply�b�oth�sides��from�the�resulting�short�men���u.��This�w�orks�ne�as����?long�as�the�desired�argumen���t�is�visible�somewhere�to�b�Ge�selected.�^]In�some�cases����?m���ultiple�-!selection�can�b�Ge�used�to�o,�5+as�in�the�case�of�m���ultiplying�an�equation�b�y����?12���b�Gecause�it�has�denominators�of�3�and�4�in�dieren���t�places:�"just�select�b�oth����?the���3�and�the�4.�itBut�if�for�some�reason�y���ou�w�an�t�to�m�ultiply�the�equation�b�y����?27�.when�no�27�o�Gccurs,�4�y���ou�will�ha�v�e�to�do�that�the�old�w�a�y��*�,�4�b�y�selecting�the����?whole���equation,��/then�c���ho�Gosing��Multiply�b�oth�sides�,��/and�then�t���yping�in�27�when����?prompted.����NThe���necessit���y�of�en�tering�argumen�ts�for�op�Gerations�means�that�the�problems����?of�!+one-dimensional�v���ersus�t�w�o-dimensional�notation�can't�b�Ge�sw�ept�under�the����?carp�Get��=en���tirely�b�y�pro�viding�problems�on-disk.�QF��*�ortunately�,�7the��=argumen�ts�to������We26����Z��l�����'������?�op�Gerations�diare�t���ypically�quite�short�and�simple.��Moreo�v�er,�h.they�often�(p�Gerhaps����?almost�/�alw���a�ys)�are�expressions�curren�tly�visible�on�the�screen,�7oand�so�the�T��*�erm����?Selection�$In���terface�can�b�Ge�used.��The�remaining�cases�when�someb�o�dy�has�to����?t���yp�Ge�UUin�an�argumen�t�should�b�Ge�v�ery�rare.�q�I�am�unable�to�giv�e�an�example.���6���?�7.4��]�Justications��uT��?�The��op�Gerations�m���ust�return�not�only�the�result�of�the�calculation,�L1but�also�a����?�justic��}'ation�z��for�displa���y�as�the�\reason"�for�the�step.��PAn�in�teresting�and�subtle����?in���terface���question�arises�here.�W�On�the�one�hand,��these�\justications"�m�ust����?lo�Gok��%righ���t�when�prin�ted�in�a�solution,��as�a�reason�for�a�step.�6On�the�other����?hand,��they���should�also�corresp�Gond�to�what�is�written�on�the�men���u�to�in�v�ok�e�the����?corresp�Gonding�0�op�eration,�g�so�that�if�one�has�a��Mathp��}'ert��solution�in�hand,�one����?could�*lin�principle�duplicate�it.��F��*�or�example,�_�if�the�studen���t�tak�es�one�step�in����?auto�smo�Gde,�mit�should�b�e�apparen���t�ho�w�that�step�could�ha�v�e�b�Geen�tak�en�in�men�u����?mo�Gde.�ګThese�xLcriteria�w���ere�not�alw�a�ys�easy�to�balance.�ګF��*�or�example,��	�F�acto�r����?out�URhighest�p�Go���w�er�UR�migh�t�o�Gccur�on�a�men�u,�USand�one�migh�t�w�an�t�the�justication����?to�b�Ge��ab���+��ac����=��a�(�b���+��c�).���But�this�justication�w���on't�lead�the�user�to��F�acto�r����?out�5highest�p�Go���w�er�.��Careful�5atten�tion�to�b�Goth�desiderata�while�making�up�the����?justications�n�w���as�necessary��*�,�t�and�p�Gerhaps�the�b�est�balance�has�not�alw���a�ys�n�b�een����?struc���k.�mWith�GHthe�in�tro�Gduction�of�the�T��*�erm�Selection�In�terface,�Jthis�has�b�Gecome����?a���less�imp�Gortan���t�issue,�˽as�the�necessit�y�to�bro�wse�the�men�us�has�diminished����?considerably��*�.���6���?�7.5��b@In��terface��to�the�grapher��uT��?�Mathp��}'ert�A^�can�mak���e�ev�ery�kind�of�t�w�o-dimensional�graph.�kIt�can�mak�e�ordinary����?graphs�F�of�a�function��y�"��=���f���(�x�);�K�it�can�graph�t���w�o�F�functions�at�once�(on�the�same����?axes��por�on�dieren���t�axes);��}it�can�mak�e�p�Golar�or�parametric�plots.��It�can�graph����?not�A#only�functions�but�arbitrary�relations��f���(�x;���y�[��)��=�0.�kIt�A#can�also�sho���w�y�ou�the����?complex�UUro�Gots�of�a�p�olynomial,�or�solv���e�an�ordinary�dieren�tial�equation.����NIt�'Vis�one�thing�to�mak���e�a�grapher�and�another�thing�to�mak�e�a�grapher�that����?is��xusable�for�classro�Gom�demonstrations�and�indep�enden���t�use�b�y�studen�ts.��/Y��*�ou����?m���ust�M`b�Ge�able�to�get�the�graph�y�ou�w�an�t�quic�kly��*�.�Y�Y�ou�M`m�ust�b�Ge�able�to�sho�w����?the�`=eect�of�c���hanging�a�parameter��quickly�,���without�ha�ving�to�go�through�an����?elab�Gorate�lGdata-en���try�system�rst.���F��*�or�example,��w�e�w�an�t�to�dra�w�a�series�of����?graphs�UUof��y�"��=���x���^��3���S��8��ax��for��a��=�1�;����2�;��3�;��4�;��:�:�:��
UO�,�UUand�then��a��=�1�;����0�;���1�;���2�;��:�:�:��
UO�.����NY��*�ou���m���ust�b�Ge�able�to�\zo�om�up"�to�a�larger�p�ortion�of�the�graph�or�\zo�om����?do���wn"���(microscop�Ge�st�yle)�at�will,��)without�data�en�try�and�w�aiting.�6+Y��*�ou�should����?b�Ge�a�able�to�c���hange�ev�ery�detail�of�the�graph's�app�Gearance�(line�width,���colors,����?etc.)�ѿy���et��not�b�Ge�distracted�b�y�screenfuls�of�suc�h�information�when�y�ou�don't����?w���an�t�UUto�c���hange�these�things.����NSome��users�rep�Gorted�to�me�that�they�nd�it�imp�ortan���t�to�b�e�able�to�put�a����?grid��-o���v�er�the�graph�and�remo�v�e�it�at�will.��OP�eople�w�an�t�to�b�Ge�able�to�mak�e�the������We27����j`�l�����'������?�tic���ks��fon�the��x�-axis�o�Gccur�at�m�ultiples�of����?�when�they�are�graphing�trig�functions.����NThe�M�abilit���y�to�c�hange�parameters�and�axis�ranges�quic�kly�is�vital�to�edu-����?cation.���F��*�or���example,��giv���en�a�grapher�that�can�plot�the�complex�ro�Gots�of�a����?p�Golynomial,��if���y���ou�can�c�hange�parameters�rapidly�y�ou�can�do�the�follo�wing:����?sho���w�\�ho�w�the�ro�Gots�of��x���^��2��e����bx��+�1�mo���v�e�when��b��is�c�hanged,���at�a�sp�Geed�fast����?enough�that�the�mo���v�emen�t�app�Gears�to�b�e�animated.���(They�mo���v�e�around�the����?unit�B�circle,�F�through�a�bifurcation�where�they�meet�at��x���=�1,�then�B�spread�out�in����?opp�Gosite�܃directions�on�the��x�-axis.)�ROne�can�also�mak���e��n��a�parameter�and�see����?ho���w�UUthe�ro�Gots�of��x���^��n���^��8��1�dep�end�on��n�.����NSmall���details�of�an�in���terface�often�mak�e�a�dierence�to�the�\lo�Gok�and�feel"����?of�Asoft���w�are.�~�An�example�that�comes�to�mind�is�the�question�of�putting�titles����?on�l�graphs.���P���eople�w�an�t�the�title�of�the�graph�to�use�normal�(t�w�o-dimensional)����?mathematical�)!notation.��+That�means�it�w���on't�t�in�to�a�one-line�title�bar�and����?should���b�Ge�placed�on�the�graph�itself.��But�then,��mthe�user�m���ust�b�e�able�to�mo���v�e����?the�Y�title�(with�the�mouse)�to�the�lo�Gcation�where�it�\lo�oks�b�est".�This�will�v��q�ary����?from�K�graph�to�graph.�T_Moreo���v�er,��if�K�t�w�o�graphs�are�b�Geing�dra�wn�on�the�same����?axes,�*�the���t���w�o�titles�need�to�b�Ge�indep�enden���tly�mo�v��q�able,�*�so�they�can�b�Ge�placed����?near�UUthe�corresp�Gonding�curv���es.����NGiv���en�^Rthe�ab�Go�v�e�requiremen�ts,���what�is�the�correct�in�terface�design?���One����?w���an�ts�jHto�pro���vide�to�Gols�to�accomplish�the�ab�o���v�e�jHtasks,�o�in�suc���h�a�w�a�y�that�users����?will�Ȯsee�and�use�the�to�Gols,��but�without�cluttering�up�the�screen,�and�adhering����?to���the�design�principle�of�ease�of�use.���Since�there�are�so�man���y�things�y�ou�can����?do�=�to�c���hange�y�our�graph,�w�it's�not�easy�to�pro�vide�a�complete�set�of�to�Gols�for����?accomplishing�sall�those�things��e��}'asily��without�o���v�erwhelming�sthe�user�with�to�Go����?man���y��confusing�icons,�?buttons,�and��men�us.�@��Mathp��}'ert��tries�to�pro�vide�a�small����?n���um�b�Ger�Cof�the�most�commonly-used�to�ols�in�a�visible�form�as�a��Gr��}'aph�^{T��;�o�olBar�,����?o�Gccup���ying��a�narro�w�v�ertical�strip�to�the�left�of�eac�h�graph.�P^The�rest�of�the�to�Gols����?are��accessed�via�men���us.�Y:Using�the�T��*�o�GolBar,�jy�ou�can�zo�Gom�in�or�out�and�c�hange����?parameter�UUv��q�alues�with�a�single�clic���k.����NOne���in���teresting�issue�in�the�design�of�a�grapher�in�terface�is�whether�the����?graph��	should�b�Ge�instan���tly�up�dated�when�a�c���hange�is�sp�ecied,��uor�whether�the����?user��should�b�Ge�able�to�sp�ecify�sev���eral�c�hanges�b�Gefore�redra�wing.�@�The�increas-����?ing�sp�Geed�of�computers�that�run��Mathp��}'ert��has�w���eighed�in�fa�v�or�of�instan�t�re-����?dra���w,���for���example�when�a�zo�Gom�button�or�parameter-incremen�t�button�has�b�Geen����?pressed.�`�Avitzur's��[Graphing�Calculator�(see�Avitzur�[1995])�sets�a�high�stan-����?dard���for�a�grapher�in���terface,���and�the�P�o�w�er�Macin�tosh�on�whic�h�it�runs�certainly����?has�ֿenough�sp�Geed�to�mak���e�instan�t�redra�w�attractiv�e.��But�there�are�a�few�cir-����?cumstances�ܗwhere�instan���t�redra�w�is�a�wkw�ard,��gnamely�when�the�redra�w�is�not����?actually��=instan���t,��but�tak�es�to�Go�long.�EF��*�or�example,��lo�oking�at�the�partial�sums�of����?a�f�series�with�the�n���um�b�Ger�f�of�terms�as�a�parameter,�j�y���ou�will�not�w�an�t�to�c�hange����?the��n���um�b�Ger�of�terms�from�5�to�50�b�y�incremen�ts�of�1�if�y�ou�ha�v�e�to�w�ait�for����?eac���h�&�graph�along�the�w�a�y�to�b�Ge�dra�wn.�b;(Suc�h�a�form�ula�can't�b�Ge�en�tered�in�the����?Graphing��9Calculator.)�OtAnother�example�is�a�con���tour�plot.�In�most�situations,����?ho���w�ev�er,���instan�t��8redra�w�is�preferable,���so�the�cases�men�tioned�ha�v�e�to�b�Ge�handled������We28����y٠l�����'������?�as�>#w���ell�as�p�Gossible�b�y�other�features�of�in�terface�design,�B�suc�h�as�easily�access�to����?dialog�m�b�Go���xes�for�c�hanging�the�parameter�v��q�alue�b�y�large�amoun�ts,�s�and�a�button����?to�UUin���terrupt�a�slo�w�dra�wing.��!č��?�8��W�In��=terfaces��and�p�u�edagogy�����?�The��dev���elopmen�t�of�soft�w�are�for�sym�b�Golic�computation�has�already�caused�sub-����?stan���tial��debate�ab�Gout�the�mathematics�curriculum�and�p�edagogy��*�.��OThe�dev���el-����?opmen���t�x�of�education-sp�Gecic�soft�w�are�for�computations�and�graphs�will�ha�v�e����?further�UUeects.����NHere��|is�a�single�example�of�what�can�b�Ge�done.�=When�teac���hing�Calculus�I�I����?using�[�Mathp��}'ert�,�\lone�da���y�I�Z�in�tro�Gduced�exp�onen���tial�functions��y�,e�=�Ќ�a���^��x��c��graphically��*�,����?letting�,nthem�c���hange�the�parameter��a�.��I�,6ask�ed�eac�h�studen�t�to�nd�the�v��q�alue����?of���a��whic���h�giv�es�the�graph�slop�Ge�1�as�it�crosses�the��y�[��-axis.�C�They�had�to�read����?the�y�n���umerical�v��q�alue�of�the�slop�Ge�(whic�h�is�easy�with��Mathp��}'ert�),���and�adjust�the����?v��q�alue��of��a��accordingly��*�.�Q`In�this�w���a�y��they�eac���h�so�Gon�arriv�ed�at�v��q�alue�of��e��accurate����?to���sev���eral�decimal�places.��gThen�w�e�used�the�graphical�ODE��|solv�er�to�lo�Gok����?at�_�the�solutions�of��y��[ٟ�^��0�����=����y�[��,��and�sa���w�their�similar�shap�Ge.��LW��*�e�then�calculated����?the��deriv��q�ativ���e�of��e���^��x��	��sym�b�Golically��*�,�=�using�the�denition�of�the�deriv��q�ativ�e�as�a����?limit.�gFinally�5Qthey�w���ere�giv�en�a�le�of�homew�ork�problems�on�dieren�tiation�of����?functions�UUin���v�olving�exp�Gonen�tials.����NI��promised��'at�the�b�Geginning�of�the�pap�er�to�return�to�the�issue�of�soft���w�are����?that��ew���ould�not�only�replace�p�Gencil�and�pap�er,�(but�also�teac���hers�and�b�o�oks.����?One�hpreliminary�step�in�this�direction�is�aorded�b���y�the�Microsoft�Windo�ws����?tec���hnology��|kno�wn�as�OLE��/(Ob��8ject�Linking�and�Em�b�Gedding)�[�7��],��and�b�y�the����?comp�Geting� hApple�tec���hnology�Op�enDo�c.�`#This�means�that�do�cumen���ts�created�b�y����?one�W�soft���w�are�application�(suc�h�as�a�spreadsheet�or��Mathp��}'ert�)�can�b�Ge�em�b�Gedded����?in��ka�do�Gcumen���t�created�b�y�another�application�(suc�h�as�a�w�ord�pro�Gcessor).�dIn����?practice��!it�w���orks�lik�e�this:�_Y��*�ou�write�a�page�of�a�textb�Go�ok��!in�y�our�fa�v�orite����?w���ord�z�pro�Gcessor�explaining�the�exp�onen���tial�function��y�a��=���a���^��x����.��Y��*�ou�mak�e�a�graph����?of���it�in��Mathp��}'ert��and�paste�that�in���to�y�our�do�Gcumen�t�using�to�Gols�that�to�da���y����?come���with�Windo���ws.�J!Y��*�ou�include�instructions�for�the�studen�t�to�clic�k�on�the����?graph�kand�nd�the�v��q�alue�of��a��that�mak���es�the�slop�Ge�b�e�1�where�it�crosses�the����?�y�[��-axis.�@�The��Vstuden���t�reading�y�our�do�Gcumen�t�clic�ks�on�the�graph,���and��Mathp��}'ert����?�starts���up�on�that�do�Gcumen���t.�pWhen�the�studen�t�has�completed�the�exercise,����?she��<exits��Mathp��}'ert��and�is�bac���k�in�y�our�textb�Go�ok,��ready��<for�the�next�part�of����?the��\exercise,��as�describ�Ged�ab�o���v�e.�"�OLE��Mtec�hnology��\means�that�an���y�one��\who�can����?write��4textb�Go�oks�can�also�write�teac���hing�materials�that�incorp�orate�sym���b�olic����?computation���soft���w�are.�-?Publishers�are�no�w�ada�ys�busy�putting�existing�textb�Go�oks����?on�T�CD-R���OM,�with�h�yp�Gertext�links�from�sub��8ject�to�sub�ject.�q�In�the�future,�T�suc���h����?CD-R���OM��4based��btexts�will�also�ha�v�e�liv�e�links�to�sym�b�Golic�computation�soft�w�are.����?Recen���tly�g�there�has�b�Geen�a�w�a�v�e�of�sp�Geculation�that�instead�of�CD-R�OM,�the�base����?for�UUh���yp�Gertext�educational�material�should�b�e�the�W��*�orld�Wide�W�eb.������We29������l�����'������N�Soft���w�are�X�to�replace�teac���hers�and�b�Go�oks�X�will�certainly�b�Ge�\m�ultimedia",��Omean-����?ing�!mit�will�incorp�Gorate�sound�and�video.�`zThese�features�will�ha���v�e�!mto�b�e�incorp�o-����?rated��with�full�resp�Gect�to�the�principle�that�the�user�is�in�con���trol.�M�Suc�h��soft�w�are����?will�not�consist�of�videotap�Ged�50-min���ute�lectures.�XIt��wil���l��ha�v�e�liv�e�links�to�short����?video�t"presen���tations,��,whic�h�migh�t�b�Ge�either�lecture-st�yle�(but�limited�to�one�short����?topic),�'�or�yvideos�designed�to�sho���w�the�applications�of�mathematics.�^�Ma�yb�Ge�y�ou����?could���clic���k�on�the�double-angle�form�ulas�for�trigonometry�and�get�a�video�lec-����?ture�L�deriving�them,�NQand�clic���k�again�and�get�a�video�sho�wing�ho�w�they�are�used����?to�x�design�airplane�wings�or�engines.��lA�x�clic���k�in�the�righ�t�place�migh�t�bring�y�ou����?a�UUshort�history�of�those�form���ulas,�with�biographical�details�if�desired.����NI�9�ha���v�e�:referred�ab�Go���v�e�:to�the�curricular�reformists�who�w���ould�ha�v�e�us�em-����?phasize�/�concepts�instead�of�tec���hniques.��I�/`think�this�argumen�t�will�fade�a�w�a�y����?with��the�in���tro�Gduction�of�soft�w�are�that�is�capable�of�carrying�out�step-b�y-step����?solutions,��<th���us���supp�Gorting�instruction�in�mathematical�tec�hniques.�NXW��*�ould�y�ou����?lik���e���a�mec�hanic�w�orking�on�y�our�car�who�has�b�Geen�trained�in�the�concepts�of����?engine�9Wdesign?��W��*�ell,�rWof�course,�but�she�had�b�Getter�also�kno���w�ho�w�to�service����?the�^car.��Similarly��*�,�`Cw���e�w�an�t�the�engineers�who�design�jet�planes�to�ha�v�e�a�thor-����?ough�׷bac���kground�in�mathematical�tec�hniques,���as�w�ell�as�concepts.�G�I�חdon't�think����?there��,is�a�con���tro�v�ersy��,here.�sKI��b�Geliev�e�the�dev�elopmen�t�of�soft�w�are�meeting�the����?design��criteria�set�forth�in�this�pap�Ger�will�enable�the�teac���hing�of��b��}'oth��tec�hniques����?and��(concepts,��in�an�in���tegrated�curriculum�that�has�y�et�to�b�Ge�dev�elop�Ged.�m@Both����?the�b[design�and�the�deliv���ery�of�this�curriculum�will�b�Ge�profoundly�in
uenced�b�y����?tec���hnology��*�.��!č��?�9��W�Use��and�a��=v��{ailabilit�y��of��IMathp��C�ert�����?�Dev���elopmen�t�"Wof��Mathp��}'ert��b�Gegan�in�1985;�3Vb���y�1989�I�"Jw�as�using�it�to�teac�h�classes����?at�oSan�Jose�State�Univ���ersit�y��*�,��"but�othe�studen���ts�had�no�access:���it�w�as�used�only�for����?classro�Gom�C�demonstrations.��In�1990�I�C=w���as�a�w�arded�an�ILI�C=gran�t�from�NSF�C=to�op�Gen����?a��<studen���t�mathematics�learning�lab�at�San�Jose�State,��uand�taugh�t�t�w�o�semesters����?of�PNcalculus�to�studen���ts�in�that�lab�using��Mathp��}'ert�.��Sev�eral�other�facult�y�mem�b�Gers����?also�used��Mathp��}'ert��for�a�few�classes�in�that�lab�Goratory��*�.�^]By�1994�the�calculation����?engine���of��Mathp��}'ert��w���as�nearly�nished,���but�the�in�terface�(DOS)���w�as�v�e�y�ears����?out�of�date.�\�Therefore�an�in���terface�w�as�dev�elop�Ged�using�Microsoft�Windo�ws�3.1����?in��1994-95.�[�As�of�this�writing�(Septem���b�Ger�1995),� ��Mathp��}'ert��is�pro��8jected�to�reac�h����?the�UUmark���et�in�early�1996.��-č�?�References�������D�[1]���S�<Avitzur,�*�R.,�Direct� \manipulation�in�a�mathematics�user�in���terface,�*�this�v�ol-����S�<ume.������We30������l�����'��������D�[2]���S�<Avitzur,�%R.,�Bac���hmann,�O.,�and��UKa��8jler,�N.,�F��*�rom�honest�to�in���telligen�t����S�<plotting,�ߝ�Pr��}'o�c�e�e�dings��of�the�A���CM���International�Symp��}'osium�on�Symb�olic����S�<and���A���lgebr��}'aic�Computation�(ISAA�C��{95),�?MJuly�1995,�Montr��}'e�al,�Canada�,����S�<A���CM�UUPress.������D[3]���S�<Beeson,��M.,�Logic��{and�computation�in�Mathp�Gert:��an�exp�ert�system�for����S�<learning�ǁmathematics,��in:�VKaltofen,�E.,�and�W��*�att,�S.�M.,��Computers���and����S�<Mathematics�,�UUpp.�202-214,�Springer-V��*�erlag�(1989).������D[4]���S�<Beeson,�HM.,�Mathp�Gert:���a��Jcomputerized�en���vironmen�t��Jfor�learning�algebra,����S�<trig,���and��1calculus,�J.�Articial�In���telligence�and�Education�2�(1990),�pp.����S�<1-11.������D[5]���S�<Beeson,��M.,��Mathp��}'ert����:�:�Computer���supp�Gort�for�learning�algebra,��trigonom-����S�<etry��*�,��sand��:calculus,�in:��A.�V��*�oronk���o�v�(ed.),�L��}'o�gic��rPr�o�gr�amming�and�A���uto-����S�<mate��}'d�hR�e�asoning�,���Lecture��Notes�in�Computer�Science���"V

cmbx10�624�,�Springer-V��*�erlag����S�<(1992).������D[6]���S�<Beeson,�
�M.,�Using��nonstandard�analysis�to�c���hec�k��the�correctness�of�com-����S�<putations,�Bfto�=�app�Gear�in��International�~!Journal�of�F��;�oundations�of�Computer����S�<Scienc��}'e������D�[7]���S�<Bro�Gc���ksc�hmidt,�Z7Kraig,��Inside��OLE��~2�,�Microsoft�Y=Press,�Redmond,�W��*�ashing-����S�<ton�UU(1994).������D[8]���S�<Buc���h�b�Gerger,�1EB.,�Should�Istuden���ts�learn�in�tegration�rules?,�1EA�CM�SIGSAM����S�<Bulletin�UU�24��(1990)�pp.�10-17.������D[9]���S�<Bundy��*�,�:�Alan,��The�<�Computer�Mo��}'del���ling�of�Mathematic�al�R�e�asoning�,�:�Aca-����S�<demic�UUPress,�London�(1983).������?[10]���S�<Burton,�;�R.�54R.,�Diagnosing�bugs�in�a�simple�pro�Gcedural�skill,�in�D.�H.�Slee-����S�<man��uand�J.�S.�Bro���wn�(eds.),�Ԣ�Intel���ligent���T��;�utoring�Systems��u�pp.�157-185,�Lon-����S�<don,�UUAcademic�Press�(1982).������?[11]���S�<Clark���e,�I�E.,�and��Zhao,�X.,�Analytica{an�exp�Gerimen���t�in�com�bining�theo-����S�<rem���pro���ving�and�sym�b�Golic�manipulation,��T��*�ec�hnical�Rep�Gort�CMU-CS-92-1����S�<7,�gSc���ho�Gol��kof�Computer�Science,�Carnegie�Mellon�Univ���ersit�y��*�,�Pittsburgh��kP�A����S�<15213.������?[12]���S�<F��*�ateman,�LwR.,�Hones�
plotting,�global�extrema,�and�in���terv��q�al�arithmetic,�in����S�<P��*�.��JS.�W�ang�(ed.),���Pr��}'o�c�e�e�dings�˿of�the�A���CM��nInternational�Symp��}'osium�on����S�<Symb��}'olic��and�A���lgebr�aic�Computation�(ISAA���C�ߣ92),�2�July�1992,�Berkeley,����S�<USA�,�UUpp.�216-223,�A���CM�Press.������?[13]���S�<Mon���tessori,�G�Maria,��The��A���bsorb��}'ent�Mind�,�G�Holt,�Rinehart,�and��(Winston,����S�<New�UUY��*�ork�(1967).�T�ranslation�of�the�Italian�original�published�in�1949.������We31���� �ؠl�����'��������?�[14]���S�<Nguy���en-Xuan,��*F.,�Nicaud,�J.���F.,�Gelis,�J.�M.,�and�Joly��*�,�F.,�Automatic�diag-����S�<nosis�Fsof�the�studen���t's�kno�wledge�state�in�the�learning�of�algebraic�problem����S�<solving,�UU�Pr��}'o�c.���A���rticial�Intel���ligenc��}'e�in�Educ�ation�,�UUEdin���burgh�(1993).������?[15]���S�<Nicaud,��fJ.���F.�et.�al.,�APLUSIX:�a�learning�en���vironmen�t���for�acquiring�prob-����S�<lem�UUsolving�abilities,�Pro�Gc.�COGNITIV���A�'90,�Madrid�(1990).������?[16]���S�<Nicaud,�xJ.��AF.,�Gelis,�J.�M.,�Saidi,�M.,�A��'framew���ork�for�learning�p�Golynomial����S�<factoring���with�new�tec���hnologies.�In�ternational�Conference�on�Computers�in����S�<Education�UU93,�T��*�aiw���an�(1993).������?[17]���S�<Ra���v��q�aglia,�=+R.,�Alp�Ger,�T.,�Rozenfeld,�M.,�and��Supp�es,�P��*�.,�Successful��p�eda-����S�<gogical�UUapplications�of�sym���b�Golic�computation,�this�v�olume.������?[18]���S�<Ric���hardson,���D.,�Some�zIunsolv��q�able�problems�in�v�olving�elemen�tary�functions����S�<of�UUa�real�v��q�ariable,�J.�Sym���b�Golic�Logic�33�(1968)�511-520.������?[19]���S�<W��*�u�cW�en-Tsun,�f�Basic�principles�of�mec���hanical�theorem-pro�ving�in�elemen-����S�<tary�UUgeometries,��J.���A���utom.�R��}'e�as.�UU�2��(1986)�221-252.������We32���������;�l��� �I�':ff
cmti10�H�':G�
cmti10�C��u

cmex10�9D��tG�G�cmr17�7�"Vff
cmbx10�0��N�cmbx12�+X�Qcmr12� m#�R

cmss10���<x

cmtt10��"V

cmbx10��':

cmti10�!",�

cmsy10��b>

cmmi10�K�`y

cmr10�#�f�cmti8��K�cmsy8��2cmmi8�
|{Ycmr8�
O!�cmsy7�	0e�rcmmi7�ٓ�Rcmr7��Aa�cmr6������������������������������������

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists