田緒紅, 林丕源, 肖 磊, 王 琴
(華南農(nóng)業(yè)大學 信息學院, 廣東 廣州 510642)
2006年3月,美國卡內(nèi)基·梅隆大學計算機系主任周以真(Jeanentte M.Wing)教授在美國計算機權(quán)威雜志ACM上發(fā)表并定義了計算思維(Computational Thinking)概念。計算思維這一觀念提出后,立即得到美國教育界的廣泛支持,并引起了歐洲的極大關(guān)注。國內(nèi)計算機教育界也緊跟國際學術(shù)動態(tài),2010 年7 月,北京大學、清華大學、浙江大學、復旦大學、上海交通大學、南京大學、中國科枝大學、哈爾濱工業(yè)大學、西安交通大學九所知名高校在西安交通大學舉辦了“C9 高校聯(lián)盟計算機基礎(chǔ)課程研討會”,發(fā)表了《九校聯(lián)盟(C9)計算機基礎(chǔ)教學發(fā)展戰(zhàn)略聯(lián)合聲明》[1-2],聲明旗幟鮮明地把“計算思維能力的培養(yǎng)”作為計算機基礎(chǔ)教學的核心任務(wù)。隨后教育部高等學校計算機基礎(chǔ)課程教學指導委員會組織了一系列相關(guān)會議,探討開展“計算思維:確保學生的創(chuàng)新能力”的大學計算機基礎(chǔ)課程教學改革的研究。不僅如此,相關(guān)實踐也廣泛地開展起來,如哈爾濱工業(yè)大學[3],西安交通大學[4]等國內(nèi)許多綜合性與理工大學相繼開展了以“計算思維能力培養(yǎng)”為核心的計算機基礎(chǔ)教學改革。相對而言,目前許多高等農(nóng)業(yè)院校計算思維教育沒有引起足夠的重視。
周以真教授定義的計算思維是指運用計算機科學的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計,以及人類行為理解的涵蓋計算機科學之廣度的一系列思維活動[5]。她指出,計算思維是每個人的基本技能,不僅僅屬于計算機科學家。我們應(yīng)當使每個孩子在培養(yǎng)解析能力時不僅掌握閱讀、寫作和算術(shù)(Reading,wRiting, and aRithmetic-3R),還要學會計算思維,猶如印刷出版促進3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。她認為,這種思維在不久的將來,會成為每一個人的技能組合,而不僅僅限于科學家。周教授甚至提出是在2050 年以前,讓地球上每一個公民都具備‘計算思維’能力。換句話說,以前要“掃盲”,是掃“文盲”,在21 世紀,要掃“計算機盲”。
有學者認為不妨把計算思維看成是“基礎(chǔ)的回歸”,把學習計算機科學看成像學習數(shù)學或英語一樣的基礎(chǔ)知識。他們認為,在原來的數(shù)、理、化、天、生、物六大基礎(chǔ)學科的基礎(chǔ)上,加上計算機科學而成為七大基礎(chǔ)學科。
從科學思維的角度,一般認為主要分為理論思維、實驗思維和計算思維三大類。理論、實驗和計算是推動人類文明進步和科技發(fā)展的三大支柱。這種認知不僅被科學文獻廣泛引用,而且還通過了美國國會的聽證,以及美國聯(lián)邦政府和私人企業(yè)報告的認同[6-7]。這方面有許多著名的例子。
先看人類基因組計劃。該計劃宗旨在于測定組成人類染色體(指單倍體)中所包含的30億個堿基對組成的核苷酸序列,從而繪制人類基因組圖譜,并且辨識其載有的基因及其序列,達到破譯人類遺傳信息的最終目的。在測序過程中,這30億個核苷酸堿基對被分割為成千上萬條長約400~800個核苷酸片段,這些片段的兩端相互重疊,它們分別被測序后通過計算機程序?qū)⑵淦唇悠饋?。這個拼接過程即使用超級計算機來完成有時也要耗時幾個月。后來Langmead采用數(shù)據(jù)壓縮中的塊排序壓縮算法對基因序列做索引,在此基礎(chǔ)進一步提出了雙向索引技術(shù),從而將基因序列比對步驟的性能提高了30倍甚至300倍以上,極大地促進了生物計算整個領(lǐng)域的發(fā)展。這個例子說明計算機算法對科學研究具有重要作用。
最近,來自約翰霍普金斯大學的研究人員成功利用計算機去識別用以調(diào)控基因活性的DNA序列的共同點,并利用這些共同點預(yù)測基因組中的其他調(diào)控區(qū)域,這種新工具能幫助科學家們更好地了解疾病風險和細胞發(fā)育。研究人員采用的方法就是我們熟悉的機器學習技術(shù),他們構(gòu)造了兩個訓練數(shù)據(jù)集:其中一個是利用公開數(shù)據(jù)構(gòu)建的包含大腦特殊區(qū)域的增強子序列的訓練數(shù)據(jù)集,另外一個是根據(jù)他們自己的經(jīng)驗構(gòu)建具有黑色素細胞特異性數(shù)據(jù)集。有了這兩個訓練數(shù)據(jù)集,就能令計算機區(qū)分訓練序列特征與基因組中所有其他序列特征,創(chuàng)建識別不同序列的規(guī)則。在整個基因組中應(yīng)用這種規(guī)則,計算機就能發(fā)現(xiàn)上千對可能的大腦或者黑色素細胞增強子序列。目前機器學習方法已廣泛應(yīng)用于不同學科的科學研究中。
從上述計算思維的論述不難看出,計算思維是面向所有的人,所有的地方。國內(nèi)也不少學者提出了不同學科學生計算思維能力培養(yǎng)的重要性,如李志文[8]、張樂平等[9]就討論了醫(yī)科學生計算思維培養(yǎng)的問題,成敏盈[10]討論財經(jīng)類高校非計算機專業(yè)學生計算思維構(gòu)建問題。也有學者討論了農(nóng)科院校學生信息素養(yǎng)培養(yǎng)方面的問題,如余建橋等[11]提出了現(xiàn)代農(nóng)業(yè)信息技術(shù)課程的改革問題,張喜海等[12]討論了數(shù)字農(nóng)業(yè)與學生信息素養(yǎng)問題。雖然沒有直接提及計算思維,但本質(zhì)上與計算思維培養(yǎng)問題相關(guān)。
我國現(xiàn)代農(nóng)業(yè)將進入關(guān)鍵的攻堅階段。這一階段,農(nóng)業(yè)高產(chǎn)、優(yōu)質(zhì)、高效、生態(tài)、安全的要求更加迫切,農(nóng)業(yè)生產(chǎn)方式將向集約化生產(chǎn)、產(chǎn)業(yè)化經(jīng)營、社會化服務(wù)、市場化運作、信息化管理轉(zhuǎn)變,這些變化都迫切需要現(xiàn)代信息技術(shù)的支撐。農(nóng)業(yè)規(guī)?;?、精準化、設(shè)施化、專業(yè)化、標準化步伐加快,多功能、經(jīng)濟型、智能化的信息技術(shù)和產(chǎn)品在田間作業(yè)、設(shè)施栽培、健康養(yǎng)殖、精深加工、儲運保鮮等環(huán)節(jié)將大量應(yīng)用,會凸顯農(nóng)業(yè)信息化的綜合經(jīng)濟效益[13-14]。
農(nóng)業(yè)信息化的核心和具體表現(xiàn)形式是數(shù)字農(nóng)業(yè)。數(shù)字農(nóng)業(yè)主要包括農(nóng)業(yè)要素(生物要素、環(huán)境要素、技術(shù)要素、社會經(jīng)濟要素)的數(shù)字信息化、農(nóng)業(yè)過程的數(shù)字信息化(數(shù)字化實施,數(shù)字化設(shè)計),農(nóng)業(yè)管理的數(shù)字信息化。目前,涵蓋“信息農(nóng)業(yè)”、“精準農(nóng)業(yè)”、“虛擬農(nóng)業(yè)”等概念的所有內(nèi)容,可以理解為以計算機技術(shù)、地學空間技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、電子工程技術(shù)等一批信息高技術(shù)為支撐,實現(xiàn)農(nóng)業(yè)數(shù)據(jù)信息獲取的實時性和標準化,農(nóng)業(yè)設(shè)計與決策管理的智能化,信息傳播的網(wǎng)絡(luò)化,實施過程的自動化,最終實現(xiàn)農(nóng)業(yè)信息化。
由此可以看出,現(xiàn)代信息化農(nóng)業(yè)本質(zhì)上將是一個計算機智能系統(tǒng),計算思維的相關(guān)概念在這個系統(tǒng)中得到充分體現(xiàn)。因此,對于高等農(nóng)業(yè)院校學生,將來無論是從事現(xiàn)代農(nóng)業(yè)科學研究,還是從事現(xiàn)代農(nóng)業(yè)生產(chǎn)實踐,計算思維能力培養(yǎng)都非常重要。
為便于理解,在給出計算思維清晰定義的同時,周以真教授還對計算思維進行了更細致的闡述[5]:
計算思維是通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個困難的問題闡釋為如何求解它的思維方法。
計算思維是一種遞歸思維,是一種并行處理,是一種把代碼譯成數(shù)據(jù)又能把數(shù)據(jù)譯成代碼,是一種多維分析推廣的類型檢查方法。
計算思維是一種采用抽象和分解的方法來控制龐雜的任務(wù)或進行巨型復雜系統(tǒng)的設(shè)計,是基于關(guān)注點分離的方法(SoC 方法)。
計算思維是選擇合適的方式陳述一個問題,或?qū)σ粋€問題的相關(guān)方面建模使其易于處理的思維方法。
式中:Fi為幾何要素的變動位置,m為幾何要素的變動自由度數(shù)量,Df1,Df2,,Dfm為實際幾何要素相對理想幾何要素在各自由度方向上的偏量。若將公差域大小記為T,則有-T/2≤Dfm≤T/2。
計算思維是按照預(yù)防、保護及通過冗余、容錯、糾錯的方式,并從最壞情況進行系統(tǒng)恢復的一種思維方法。
計算思維是利用啟發(fā)式推理尋求解答,即在不確定情況下的規(guī)劃、學習和調(diào)度的思維方法。
計算思維是利用海量數(shù)據(jù)來加快計算,在時間和空間之間、在處理能力和存儲容量之間進行折中的思維方法。
雖然這些詳細的論述對于從事計算機科學的人員來說,計算思想的概念已經(jīng)是非常清晰了。但是對于高等農(nóng)業(yè)院校非計算機專業(yè)的學生,這樣的論述仍然難以理解。因此,必須采用他們更易于接受的方法進行計算思維的教學。
計算思維是可見、可實現(xiàn)的思維而非抽象的思維。周以真教授也舉了一些日常生活中的事例:當你的孩子早晨去上學時,他把當天所需的東西放進背包,這就是“預(yù)置和緩存”;當有人弄丟了自己的物品,你建議他沿著走過的路線去尋找,這就叫“回推”;在什么時候停止長期租用的物品而為自己買一個呢?這就是“在線算法”;在超市付費時,你應(yīng)當去排哪一個隊呢? 這就是“多服務(wù)器系統(tǒng)”的性能模型;為什么停電時你的電話仍然可以用呢?這就是“失敗的無關(guān)性”和“設(shè)計的冗余性。[5]”
當然,對于高等農(nóng)業(yè)院校的大學生來說,還需要更多科學研究與生產(chǎn)實踐的案例。
例如:在數(shù)字農(nóng)業(yè)方面,虛擬植物是一個重要的研究課題,所謂虛擬植物( virtual plant)是指將植物生長信息進行重構(gòu)以便采用直觀的可視化方式在計算機上對其進行模擬,而虛擬植物模型的構(gòu)建是實現(xiàn)植物形態(tài)仿真及對植物生長發(fā)育進行分析和預(yù)測的基礎(chǔ)和關(guān)鍵[15]。這其中有一個著名L系統(tǒng),它是一個形式語言方法,它通過對公理應(yīng)用產(chǎn)生式進行有限次迭代后,對產(chǎn)生的字符串進行幾何解釋,就能生成非常復雜的圖形,再通過可視化技術(shù)就能實現(xiàn)逼真效果的各種植物。
在上述案例中,計算思維的許多概念得到充分的體現(xiàn)。首先,它對植物形狀結(jié)構(gòu)用字符集進行了抽象,并通過生成規(guī)則集自動化進行迭代。而周以真教授認為計算思維的本質(zhì)是就是抽象與自動化。其次,L系統(tǒng)中植物分枝結(jié)構(gòu)的生成本質(zhì)一個分形過程,從計算角度看就是一種遞歸思維。第三,L系統(tǒng)迭代過程用計算機程序?qū)崿F(xiàn)就是循環(huán)與控制。而可視化過程更是涉及計算幾何的許多算法,如用三角剖分算法對表面進行網(wǎng)格化處理,即對連續(xù)曲面進行數(shù)字化表達等。
通過這樣案例,學生將明白要進行虛擬植物的研究與應(yīng)用,不僅要懂得植物科學的知識,同時也要具備計算思維的能力。要像計算機科學家那樣,如何將一個問題進行抽象與建模,如何讓其能在計算機上自動化執(zhí)行,如何控制問題初始條件與結(jié)束條件,如何將連續(xù)的問題離散化,如何進行數(shù)字化求解等等。
在開展基于案例的計算思維教學過程中,要針對高等農(nóng)業(yè)院校特點,構(gòu)造一些有關(guān)農(nóng)業(yè)信息化,數(shù)字農(nóng)業(yè),虛擬農(nóng)業(yè)等方面的通用案例,同時還要特別注意選取一些與學生的專業(yè)背景相關(guān)的特定案例。這樣一方面學生更容易理解,另一方面也可激發(fā)學生學習專業(yè)知識的興趣。
對于農(nóng)學專業(yè)的學生,可以用一些具體的虛擬植物如虛擬水稻,虛擬玉米等作為案例;而對于園藝專業(yè),則可選取虛擬花卉,虛擬景觀等;動物科學專業(yè)則可用動物育種算法,動物專家系統(tǒng)等作為案例;食品工程專業(yè)可講解食品質(zhì)量安全監(jiān)控與追溯系統(tǒng)的原理與構(gòu)建;農(nóng)業(yè)工程專業(yè)可應(yīng)用的案例有無線傳感器網(wǎng)絡(luò),物聯(lián)網(wǎng)等;生物學專業(yè)則有生物信息學中許多案例可講解,如基因序列比對算法、蛋白質(zhì)結(jié)構(gòu)預(yù)測算法、蛋白質(zhì)折疊算法、蛋白質(zhì)對接算法等等。
案例構(gòu)建最好有專業(yè)老師的參與,這樣一方面針對性更強,另一方面也能更準確地把握案例的專業(yè)性與正確性。
在開展基于案例的計算思維教學過程中,可在課堂上演示相關(guān)案例系統(tǒng)。如對于L系統(tǒng)案例,已經(jīng)有許多研究機構(gòu)開發(fā)了基于L模型的虛擬植物系統(tǒng),可直接從網(wǎng)上下載運行。學生通過演示可以直觀看到虛擬樹木或虛擬玉米一步一步生長的過程,將加深對教學案例的直觀感受與計算思維概念的深入理解。也可要求學生自己從網(wǎng)上下載案例系統(tǒng),自己安裝、配置、運行。對于基礎(chǔ)好學生甚至可以建議他們下載源代碼進行分析理解。
高等農(nóng)業(yè)院校計算思維教育非常必要,勢在必行。選擇合適的計算思維教學方法也非常重要,基于案例的教學是一種比較直觀、學生易于接受的方式。當然在以計算思維能力培養(yǎng)為核心任務(wù)的計算機基礎(chǔ)教學課程體系、教學內(nèi)容、實踐體系、教材等方面仍有許多問題值得進一步探討與實踐。
[1] 九校聯(lián)盟(C9)計算機基礎(chǔ)教學發(fā)展戰(zhàn)略聯(lián)合聲明[J].中國大學教學,2010(9):4.
C9 League’s joint declaration for the development strategy of fundamental computing education[J].China University Teaching, 2010(9):4.
[2] 何欽銘,陸漢權(quán),馮博琴.計算機基礎(chǔ)教學的核心任務(wù)是計算思維能力的培養(yǎng)[J].中國大學教學,2010(9):5-9.
HE Qin-min, LU Han-quan, FENG Bo-qin. The cultivation of the ability of computational thinking is the core task of fundamental computing education[J].China University Teaching, 2010(9): 5-9.
[3] 戰(zhàn)德臣.非計算機專業(yè)大學計算機課程的思維性教學改革實踐[C]//第六屆“大學計算機課程報告論壇”,2010.
ZHAN De-chen. Teaching reform and experience of computational thinking in fundamental computing education for students of non-computer discipline[C]//The Sixth College Computer Course Report Forum, 2010.
[4] 吳 寧,崔舒寧.以計算思維能力培養(yǎng)為核心的大學計算機基礎(chǔ)課程教學內(nèi)容改革研究[J].計算機教育,2012(4):107-110.
WU Ning, CUI Shu-ning. Teaching reform of college fundamental computing education based on the cultivation of the ability of computational thinking[J]. Computer Education, 2012(4):107-110.
[5] Jeannette M. Wing.Computational Thinking[J].Communications of ACM,2006,49(3):33-35.
[6] 陳國良,董榮勝.計算思維與大學計算機基礎(chǔ)教育[J].中國大學教學,2011(1):7-11.
CHEN Guo-liang, DONG Rong-sheng. Computational thinking and college fundamental computing education[J]. China University Teaching, 2011(1):7-11
[7] 董榮勝,古天龍.計算思維與計算機方法論[J].計算機科學,2009,36(1):1-4.
DONG Rong-sheng, GU Tian-long. Computational thinking and methodology of computer science and technology[J]. Computer Science, 2009, 36(1):1-4.
[8] 李志文.醫(yī)藥計算機應(yīng)用基礎(chǔ)實驗教學中的計算思維能力培養(yǎng)[J].實驗室研究與探索,2012,31(8):349-351.
LI Zhi-wen. Cultivation of computational thinking in medical computer application experimental teaching[J]. Research and Exploration in Laboratory, 2012, 31(8):349-351.
[9] 張樂平,馮紅玲,宋茂海,等.生物信息學教學與醫(yī)科學生計算思維培養(yǎng)[J].計算機教育,2012(19):12-16.
ZHANG Le-ping, FENG Hong-ling, SONG Mao-hai,etal. Teaching of bioinformatics and cultivation of computational thinking for students of medicine discipline[J]. Computer Education, 2012(19):12-16.
[10] 成敏盈.財經(jīng)類高校非計算機專業(yè)學生計算思維的構(gòu)建初探[J].實驗室研究與探索,2103,32(10):221-223.
CHENG Min-ying. Construction of computational thinking for students of non-computer discipline in finance university[J]. Research and Exploration in Laboratory, 2013, 32(10):221-223.
[11] 余建橋,梁 穎.現(xiàn)代農(nóng)業(yè)信息技術(shù)課程教學改革的探索與實踐[J].西南師范大學學報(自然科學版),2012,37(3):162-165.
YU Jian-qiao, LIANG Ying. The exploration and practice of teaching reform in modern agricultural information technology course[J]. Journal of Southwest China Normal University(Natural Science), 2012, 27(3):162-165.
[12] 張喜海,吳亞春,沈維政.數(shù)字農(nóng)業(yè)教育與學生信息素養(yǎng)培養(yǎng)研究[J].東北農(nóng)業(yè)大學學報(社會科學版),2010,8(5):29-30.
ZHANG Xi-hai, WU Ya-chun, SHEN Wei-zheng. Research on the digital agricultural education and the informational literacy cultivation in agricultural university[J]. Journal of Northeast Agricultural University (Social Science), 2010, 8(5):29-30.
[13] 賀 玢.“十二五”時期中國農(nóng)業(yè)信息化發(fā)展前瞻[J].湖南農(nóng)業(yè)大學學報(社會科學版),2012,13(2):32-34.
HE Bin. Prospect of agricultural informatization development in China during “the Twelfth Five-Year Plan”[J]. Journal of Hunan Agricultural University (Social Science), 2012, 12(2):32-34.
[14] 丘永萍.發(fā)展數(shù)字農(nóng)業(yè)推進農(nóng)業(yè)信息化[J].農(nóng)村金融研究,2011(9):24-28.
QIU Yong-ping. Developing digital agriculture and promoting agricultural informatization[J]. Rural Finance Research, 2011(9):24-28.
[15] 唐衛(wèi)東,李金忠,劉昌鑫,等.虛擬植物模型及其構(gòu)建方法研究綜述[J].計算機應(yīng)用研究,2012,29(9):3206-3211.
TANG Wei-dong, LI Jin-zhong, LIU Chang-xin,etal. Review of study on construction method for virtual plant model[J]. Application Research of Computers, 2012, 29(9):3206-3211.