崔玉文+郎大鵬
摘 要:本文對計算思維和數(shù)理思維、工程思維之間的關(guān)系進行了深入探討,并從指導(dǎo)本科生教學(xué)的角度為計算思維進行了較生動的定義。同時,文中指出在當(dāng)前我國本科生教育中存在的若干問題,并從如何應(yīng)用計算思維的角度提出解決問題的方法。最后,本文從下一步如何在課堂教學(xué)中推廣計算思維提出若干建議。
關(guān)鍵詞:計算思維;本科生;基礎(chǔ)課;教學(xué)方法
任何一門學(xué)科都有其核心思想。數(shù)學(xué)中,公理化的數(shù)理思維居于核心;工程學(xué)里,近似化的工程思維乃是黃金準(zhǔn)則;法學(xué)上,權(quán)利與義務(wù)的思維則貫穿始終;經(jīng)濟學(xué)內(nèi),有著理性人的概念作為基本假設(shè)。那么對于計算機科學(xué),我們又可以說什么?本文旨在闡述計算科學(xué)的思維,即計算思維。
1 計算思維的來源
1.1 計算思維的淵源
一個非常無聊的現(xiàn)狀是:幾乎在每一篇談及計算思維的文章中,開篇都會不厭其煩地重復(fù)周以真教授所給出的定義。本文希望以一種不同的方式來闡述這個概念:從一個概念的來源出發(fā)。解釋這個問題:什么是計算思維。
計算機科學(xué),本質(zhì)上是應(yīng)用數(shù)學(xué),它是數(shù)學(xué)與工程學(xué)的混血兒。一方面,它具有數(shù)學(xué)的抽象,嚴(yán)謹(jǐn),與精確;另一方面,它又廣泛應(yīng)用了工程學(xué)中的近似方法。計算機科學(xué)繼承了兩者諸多特質(zhì)。而其核心思想,亦是兩者之精華。我們可以說
計算思維=數(shù)理思維+工程思維。
計算思維是數(shù)理思維的一個子集,它是對數(shù)理思維加以實際限制所得到的一個子集。
1.2 計算思維與數(shù)理思維的關(guān)系
數(shù)理思維屬于認識論,實證論和方法論的綜合思維形式。其最大的認識特征便是:概念化,抽象化,模式化。一個具有數(shù)理思維的人,往往具有如下的特征:在討論問題時,習(xí)慣于強調(diào)定義,界定概念,明確問題的條件;在觀察問題時,習(xí)慣于把握其中的(函數(shù))關(guān)系,在微觀認識的基礎(chǔ)上構(gòu)建綜合多因素的宏觀考慮。
事實上,所謂計算思維的概念,與其說是它是隨著計算機技術(shù)發(fā)展而被提出,倒不如說它是隨著應(yīng)用數(shù)學(xué)的繁榮而出現(xiàn)。
培養(yǎng)計算思維的先決條件是培養(yǎng)數(shù)理思維。數(shù)理思維的核心就是公理化。而公理化可以理解為形式化+公理。數(shù)學(xué)所研究的內(nèi)容,當(dāng)所有定義明確給出之后,就已經(jīng)被決定了。它從公理出發(fā),按照指定的規(guī)則進行演繹,從而構(gòu)建出整個數(shù)學(xué)體系。計算思維不關(guān)心演繹起點是否直觀,是否正確,它所關(guān)心的是輸入與輸出,已知量與未知量之間是否有著正確的聯(lián)系。
數(shù)理思維需要解決的問題:(A→B)∧A,不僅包括蘊含式A→B的真值,還要確定命題A是否正確。而計算思維研究的問題:A→B,則進行了簡化,它僅僅需要確定A得到B這一過程是否正確。
1.3 計算思維與工程思維的關(guān)系
工程是數(shù)學(xué)與科學(xué)的某種應(yīng)用:以最少的資源,解決最多的問題。至于工程思維,雖說沒有一個公認的定義,但這絲毫不妨礙我們對它的認識。工程思維的核心,便在于近似化。通過對實際的理論,加上客觀環(huán)境的限制。提出可行的方案并評估可行性,擇優(yōu)而用。
我們依然可以以"計算"二字替代"工程"而無恙。譬如計算機科學(xué)中,我們對算法的限制指標(biāo)便是:時間復(fù)雜度與空間復(fù)雜度。
1.6 計算思維的定義
綜上所述,我們可以以另外兩種不同的方式為計算思維下一個定義:
第一種定義:
計算思維是工程化的數(shù)理思維。
第二種定義:
計算思維即運用算法的思維。
3計算思維與本科教育
3.1 本科教育中存在的問題
夫子循循然善誘之?,F(xiàn)在不少老師上課喜歡照本宣科,就算是有那么些"教學(xué)創(chuàng)新"也往往是形式主義。也許老師們覺得,將虛擬存儲體系比作人腦-圖書館體系,網(wǎng)絡(luò)系統(tǒng)比作高速公路等等這些類比運用到教學(xué)之中已經(jīng)算是不小創(chuàng)新了。然而,這些手段都只是對于記憶知識以及粗淺理解的努力,沒有觸及問題的本質(zhì)。
在學(xué)習(xí)的四個階段:知識,理解,意識,悟性。教師所講的,基本僅僅處于第一個階段。一些好老師有特殊的教學(xué)技巧,可以直接傳授給學(xué)生第二級的信息--理解。然而真正做到融會貫通,形成意識,也就是培養(yǎng)出計算思維。
對于一個概念,首先,需要知道它是為了解決什么問題提出來的。然后才是怎么運用這個概念的問題。最后,知道了這個理論的知識性內(nèi)容還遠遠不夠,還需要將這些理論還原到生活實踐之中,用來解決具體的問題。這才算是一個完整的教學(xué)流程。
3.2 本科教育中如何培養(yǎng)計算思維
(1)修正定位。
知識書上都有,不需要老師來教。老師真正需要做的,是闡述這個理論提出的原因,所能夠解決的問題,如果這個問題恰好也是學(xué)生感興趣的,那么就可以看到興趣是如何成為最好的老師的。做一個導(dǎo)師,而不是一個教師。
(2)歷史驅(qū)動的學(xué)習(xí)模式。
正如哲學(xué)的學(xué)習(xí)就是哲學(xué)史的學(xué)習(xí)一樣,數(shù)學(xué)與計算機的教育也可以考慮嘗試這種模式。按照時間線而不是體系結(jié)構(gòu),在整個教育生涯中,重現(xiàn)學(xué)科的發(fā)展歷程。讓學(xué)生明白,理論從何而來,向何而去。從問題提煉出的理論終究要回歸到問題中去。
(3)激勵體系與評價體系的修正
對于實際的改革,短時間內(nèi)不應(yīng)報以太大希望。在教育中普及計算思維是一個非常大的系統(tǒng)工程,小規(guī)模的教育實驗還可以進行嘗試,要進行普及,沒有幾代人的努力是很難完成的。
4 結(jié)論
現(xiàn)在的教學(xué),可以說是只完成了中間的環(huán)節(jié):知識性的內(nèi)容。不信翻開手頭任何一本計算機科學(xué)的教材或者數(shù)學(xué)教材,再翻開一本美國大學(xué)所用的教材,稍作對比,可見一斑。只有將計算思維運用到教學(xué)實踐中,才有可能培養(yǎng)出有創(chuàng)造力、又懂的融會貫通的學(xué)生。
注:本課題由哈爾濱工程大學(xué)2014年教育教學(xué)改革研究項目支持,項目名稱《在計算機基礎(chǔ)教學(xué)中提升計算思維能力的案例教學(xué)法研究》,負責(zé)人崔玉文。
參考文獻:
[1] Jeannette M Wing. Computational Thinking. Communications of the ACM . 2006
[2] 教育部理工類計算機基礎(chǔ)課程教學(xué)指導(dǎo)分委員會. 計算機基礎(chǔ)課程教學(xué)基本要求V4.0[M].北京:高等教育出版社,2009.
[3] Jeannette M. Wing. Computational Thinking[J].
Communications of the ACM,2006,49(3):33-35.
[4] 唐培和,徐奕奕,王日鳳. 計算思維導(dǎo)論[M]. 桂林:廣西師范大學(xué)出版社,2012.
作者簡介:
崔玉文(1964.3--),女,漢族,黑龍江省哈爾濱人,副教授,哈爾濱工程大學(xué),主要從事程序設(shè)計基礎(chǔ)、計算機網(wǎng)絡(luò)、大學(xué)計算機基礎(chǔ)等課程和創(chuàng)新創(chuàng)業(yè)實踐課程的教學(xué)工作。通訊地址:哈爾濱市南通大街145號哈爾濱工程大學(xué)計算機學(xué)院,21B423,郵編150001。endprint