
在之前一篇文章,我分享過一些自己以往教授微積分的經驗,裏面提到一些比較奇怪的經歷,講解某部份同學可能準備不足,在修讀微積分時候所遇到的困境。其實這些困難不單在科大出現。在世界其他地方,也有人發現這個準備不足和對他們能力上有所落差的發現。今年三月份Scientific American有人投稿,指出大學的微積分課程必須要改革,而這個改革必須要從數學系以外着手。雖然這篇文章題目也非常不留情面,「To Keep Students in STEM fields, Let’s Weed Out the Weed-Out Math Classes」,但是從自己的觀察,真的有很多同學對科學卻步是由於微積分的關係。
好幾年前,我們理學院收生並沒有分開A隊和B隊,所有同學進入理學院一年以後可以從所有的主修科目裏面挑選自己有興趣的來修讀。這麼多年的經驗,我們發現越來越多同學會挑選一些「看起來」對數學沒有太多要求的科目。他們會覺得自己數學(就是大學第一年的微積分)成績沒有很好,所以就不應該修讀數學或者物理課程,以去選修一些像化學和生物的學科。可是如果同學仔細看一下這些學系需要修讀的課程,都會發現某些科目都需要大量數學的技巧,而微積分很可能就不可或缺。甚至乎我們有一門海洋科學的科目,其中一個海洋學的Track裏面所需要使用的數學,跟數學系基礎課程其實差不多。由於需要設計數學模型解釋海洋流動,裏面運用到的數學可能是多元微積分,甚至乎一些微分方程或者偏微分方程。
就算同學們對第一年微積分課程沒有太大反感,到二年級修讀多元微積分時候,也可能會發現越來越迷失,根本不知道自己為什麼需要學習這些定理和證明。這些對工程學院的同學更甚,他們可能會覺得將來根本不需要使用這些微積分的知識。將來做工程項目時,最多也只需要在電腦程式內輸入一些參數,按下輸入,電腦程式自動會把需要的答案計算出來。這個「黑盒」裏面所發生的事情,根本不需要知道。某程度上這些想法也是對的。自己也經常舉一個例,就算你不認識微積分,這會對你日常生活有什麼影響呢?我們到超級市場買菜,需要使用微積分嗎?我們看電視,上網,一切生活上的衣食住行,看起來都跟微積分毫無關連。這完全正確,如果我們只滿足在日常生活*使用*一切人類智慧的結晶(例如上網技術,電腦,攝影機圖像處理,甚至乎你所居住的住所結構應該如何等等),微積分可以說是毫無用處。可是如果你想*了解*這些日常生活不可缺少的事情和技術,微積分(甚至是數學本身)都是需要掌握的工具。因為數學就是一門非常精準,不會因為使用者文化背景而有所不同的一種工具和語言。如果我們沒有掌握這套語言,科學研究就只會流於比較Qualitative或者Descriptive,很難可以下一個比較確切的結論。
由於不同學系都了解到微積分的重要,在他們在課程設計時都必須要自己的學生修讀一些微積分的課程。而由於學生人數眾多,為了減省大學運作上的成本,大部份大學都會要求數學系負責這些微積分課。以科大為例,我們第一年不同微積分課程所修讀的學生人數可能高達1500人,裏面不單是有我們理學院的同學,更加有工程學院,商學院,甚至乎我們人文科學部的同學。這些同學背景可能非常不同,對這門微積分課的期望也可能有所差異。如何可以好好教導這些學生就是對我們數學系的一大挑戰。
由於這些課程,大部份教授的方法都會看着一些比較傳統的模式。我們都會從函數(Function)開始教授,然後到Limit,微分,最後到積分。中間會穿插他們的定義,計算的技巧。會給出不同數學上的例子,然後同學會做練習,看看他們是否能夠掌握課堂裏面所教授的技巧。這個模式跟大部份同學在中學時所學習數學的方式差不多。對大部份同學來說,他們根本不知道學習這些技巧的目的。不久前看到一篇文章,指出對大部份同學來說,數學所使用的詞彙本身可能也是令到他們產生恐懼的原因。就以上面提到的Function為例子,數學上就有一個明確但與眾不同的定義。對大部份數學系的同學來說,這個名字應該沒有任何疑惑,應該就已經和加減乘除般熟悉。可是當我們在教授這個詞語時,對數學系以外一些沒有基礎數學掌握的同學,他們的直覺理解就可能跟數學上的定義相距千里。如果你到Wiki看一下,有可能會得出「In evolutionary biology, function is the reason some object or process occurred in a system that evolved through natural selection」,又或者是「In biology, function has been defined in many ways. In physiology, it is simply what an organ, tissue, cell or molecule does」。天呀,我都不知道這個詞在其他範疇有着這麼不一樣的定義和意思。所以你可以想像一下不同背景不同興趣的同學在同一們微積分課裏面會有着什麼樣的感受。
由於這些傳統微積分課程的效果可能沒有很好,不同大學的數學系都會有不同的方法去改善自己的教學成果。有一些學系可能覺得這些傳統教授的模式並不適合現今大部份的同學,可能會使用一些新的教學方法,例如前幾年我們都嘗試的Blended Learning或者是Flipped Classroom。自己沒有直接參與,所以對這些新方法都沒有太多的了解。所認知的,可能只是同學們在家看看影片,回校上課時在一起做做練習,當成一個討論班。要改變教學模式本身可能相對比較困難,已經不多講製作教材的時間,在課堂前老師必須花上大量時間掌握這套新教學模式,了解教學方法。始終對大部份大學或者教授來說,教授的第一工作並不是教學,而是研究。運用一套新的教學方式始終需要長時間的練習,在沒有充分準備的情況下使用這些他們本身也不太接受的教學模式,成果也很可能強差人意。
另外一些學系,可能會當着同學數學背景或者能力作出分流,設計不同難度的微積分課程給同學修讀。我們科大就是使用這個方法。我們第一個微積分課程,按着同學的背景和能力,分開了四個不同的版本。普通版本的課程編號為MATH1013,應該適合大部份的同學。如果同學數學背景比較好,學習動機比較強,就會修讀一個加強版,課程編號為MATH1023。如果同學對數學沒有太多背景,我們會建議他修讀一個保底版,課程編號為MATH1012。這個課程的內容跟MATH1013完全一樣,唯一不同的是課時不一樣。由於同學可能需要更多時間吸收和掌握數學技巧,MATH1012的課時比普通版多了三分之一。而最後一個版本,就是簡單版MATH1003,適合一些在大學裏面不會再修讀與數學相關課程的同學。
當然經過這幾年的經驗,這種分流方式當然比什麼都不做效果好很多。起碼能力強和相對比較弱的同學可以在兩個不同的課程裏面學習不同的知識。這點對數學特別有興趣的同學更為重要。要他們修讀一個普通版本的微積分,可能更加會令他們失去對數學的興趣。而這個設計,在人力分配上也相對簡單和可行。
但是這個分流的方式並沒有觸及問題的本質。上面提到同學們對微積分失去興趣的主要原因,並不一定是由於他們數學的背景和能力。而是他們根本不明白為什麼要讀微積分。就算我們將他們分流到不同的班別,無論他們接觸到的數學是如何如何被簡化,他們不會這樣就忽然間對數學大大增加興趣。而把課時加長,實質上就只是增加了他們所被折磨的時間。
所以一個比較好的分流方式,並不應該使用同學們的數學能力,而應該要使用動機,按着同學們為什麼需要修讀微積分來決定。看着不同的動機,我們去設計不同的微積分課程。這樣才可以挑起同學們對修讀微積分的興趣。就跟剛開始提到的那篇文章所提到的內容差不多,UCLA 的生命科學系就自己設計了一門叫做Mathematics for Life Scientists 的科目,用自己的方法安排數學課程的內容。可以想像,課程裏面一定都會從生物學角度出發,然後引入不同的數學技巧和內容,去解決一些在生命科學系裏面所遇到的研究課題。
看着同學們學習動機而作出分流當然不是一個新的概念,我們數學系在其他課程就是使用了這個方式。以二年級的微積分課程為例,我們就有兩個不同的多元微積分版本。一個版本是主要為數學系和物理係同學的MATH2023。而另外一個版本是為工程學院的同學所設計MATH2011,裏面盡量減少不同數學定理證明的部份。另外一個例子是線性代數這門課程,我們數學系一共給出了三個不同版本。主要為一般數學系同學而設的MATH2121,一個加強版給同學挑戰一下自己的數學MATH2131,和一個特別為非數學系同學而設的MATH2111。在科大這麼多年,曾經教過給工程系同學的多元微積分MATH2011和給數學系同學的線性代數MATH2121。
覺得這些不同版本的差別其實應該要更大。教授這些特別版本的科目,我們其實應該更大膽,有機會的可以把整門科目內容斬掉重練。以多元微積分為例,兩門課程的唯一差別可能只在於某幾個定理的證明。可是教導的方法還是差不多。工程系的同學在這門課程裏面還是不會見到太多這些多元微積分在工程上的應用。如果可以的話,可能可以從一個工程應用出發,一邊解釋如何解決那個工程問題,一邊介紹在多元微積分課程內面不同工具如何可以幫忙。
由於我們理學院將會在明年推出一個新的主修叫做科學數據分析(Data Analytics in Science, DASC),數學系在下一個學期將會負責一門新的多元微積分課程,課程編號為DASC2010 Calculus for Data Analytics in Science。而數學系就安排了我在下一個學期教授這門課。所教授的數學內容應該會比上面提到兩門已存在在數學系的多元微積分課少一點,但就會加入了使用軟件的部份。雖然還在做課程設計,但是我希望運用一點不一樣的方法,盡量跟傳統的微積分課程有點不一樣。可能挑選數據分析裏面的一個技巧,然後引入課程內的內容去幫忙解決這個問題。暫時的想法可能是使用Support Vector Machine(SVM)在數據分類上的使用作為應用,然後引入vectors,equation of planes,gradient,critical points等等的微積分工具。希望同學們會比較容易接受。