第五章 互動性教學元件設計與評估
5.9 套裝數學軟體於教學之應用
除了上述自行發展的教學工具外,市面上還有已經存在的數學軟 體,這些軟體功能都很強大,可以擁來做各種計算與繪圖,原則上都 可 以 用 來 做 教 學 輔 助 工 具 , 其 中 最 有 名 且 常 用 的 有 Macsyma 、 Mathematica 和 Maple,以下就依軟體在市場上出現順序,做一概略 性的介紹。
Macsyma 是美國麻省理工學院(MIT) 於 1969 年研發成功﹐可在 電腦上執 行數學 (不僅是算術)運算的軟體,特色為可以執行符號運 算(general-purpose Symbolic Computation systems.)。基本上﹐
這類的軟體有三種不同的 功能:
1. 符號運算 (symbolic manipulations)。譬如代數運算、微積 分等
2. 數值分析 (numerical computations)
3. 繪圖表示 (graphical representations) 運算所得之函數或 數據
其中最大的突破是符號運算的部分。一般程式都可以把解答解出 來,但是那是數值的解答,符號運算可以告訴使用者一個方程式的通 解為何,而非數字而以。如此完整的整合允許使用者更能深入地探索
其允許使用者自行寫程式的特性,因此其功能隨著使用者增加而快速 增加,甚至有「只要是人能做的計算,Macsyma 都做得到」的說法。
但究竟這只是以人工智慧觀念發展的軟體,其程式錯誤與弱點很快就 顯現出來,因此讓其他類似產品有機會上市。
Mathematica 是一套由 Wolfram Research, Inc. 在 1970 中所 開發的數學軟體,目前已到第五版,一樣不只可以做數值運算,它的 代數符號運算能力跟 Macsyma 不相上下,而其網路版 webMathematica 的出現,使我們可以將它的強大運算能力放在網路上,讓所有人共 用,就如在我們線上計算網頁上所展示的幾個例子一樣,更增加其普 及性,因此目前最普遍流行的,似乎是 Mathematica。 Maple 為是加 拿大滑鐵盧大學的研究成果,於 1985 年公開發行銷售,但剛開始十 年其軟體問題很多,一直到最近改版(最新版是 MAPLE VI)才做了大 幅修正與功能增強,使用的人才漸漸增加。
這些軟體的使用方式相同,在使用過程中就是不斷的叫不同模組 來執行運算的動作,在執行符號運算時,能做的功能很多,以下列出 一些工程與教學用的到的功能。
微積分:微分與積分之數值或符號運算、極限、級數和等 解方程式:線性, 非線性方程組、微分方程之符號、數值或級數 解,遞迴關係
基本及特殊函數:三角函數、指數函數、誤差函數、對數函數、
Bessel 函數、Zeta 函數、Gamma 函數、超幾何(Hypergeometric) 函 數等等
線性代數:矩陣運算、方程式解、特徵值、特徵向量、特殊矩陣
其它計算工具(工程相關):組合綸、複數、微分型 (Differential Forms)、Integral Transforms、線性最佳化、數論 (Number Theory)、
數值近似、正交多項式、平面幾何、統計等等
繪圖:2D 繪圖(含保角映射、等高線)、3D 繪圖(含曲面)
動畫:2D 及 3D 以交談式製作
輸出格式:出到 Postscript, LaTeX、或將式子轉換為 Fortran 或 C 的程式碼
基本上這些程式能做一個大學畢業生能做的幾乎所有的數學 題,從簡單的代數運算直到解偏微分方程。以下以一個簡單的立自來 說明符號運算的方式。例如進入 Mathematica 的視窗後,要求多項式 或有理數多項式方程的根,可以輸入
Solve[方程式,變數];
答案就會出來。例如解兩個聯立方程式求解 x,y,可以輸入
程式的輸出為 x=-1,y=2
這就是標準答案。同理,若輸入 Solve ( diff(y,x)-x, y )
因此這類功能事實上對學生學習工數或其他需用數學工具的科 目,會有一定的幫助。而大學部學生需學習工程數學的範圍,已經完 全包含在這些軟體的功能範圍內。有許多學校(如台灣大學與中央大 學)早已或正在開設教學生這些軟體的課程,因為這些軟體應用範圍 很廣,因此往往是結合一種主要應用,來教相關的軟體功能。
最新的版本繪圖工具都相當完善,更可做出動畫來展示,因此一 個使用者可以完全依賴軟體達到成果展現的目的,但是一般測試的結 果,整體表現仍不如專業套裝繪圖軟體。
這類軟體最大的缺點,是缺乏與其他程式的介面,如果今天有位 老師要用 Ceiba 製作教學用工具,有些部分想借重 Macsyma 的計算能 力,例如想考學生懂不懂基本觀念,要求學生寫計算步驟,每一步驟 由 MACSYMA 去算,就會因為沒有兩個軟體的介面而失敗。因此這些人 工智慧軟體目前為複雜研究工作的好幫手,但是卻無法在簡易互動教 學中用到。雖然軟體能將式子轉換為 Fortran 或 C 的程式,但是只 是一個文字檔,並非真正介面,因此此種功能只有在推導出複雜的算 式時才用的到。
而不同於上述的軟體其他還有如 Matlab 和 MatCad,這些雖然功 能也很多,但是仍然只是一般程式語言且多偏單方向用途,如 Mathlab 就不能表現計算過程,功能上偏重矩陣運算,嚴格說只能執行數值運 算,而無符號運算功能,但是隨著時間發展,其功能的擴展,值得注 目等待。