陳立軍,黃 威
(1.吉林大學網絡中心,吉林長春130022;2.長春一汽通信科技有限公司,吉林長春130012)
美國Carnegie Mellon University的Jeannette M.Wing教授提出,計算思維運用計算機科學的基礎概念進行問題求解、系統設計以及理解人類行為等,涵蓋了計算機科學之廣度的一系列思維活動[1]。通過約簡、嵌入、轉化和仿真等方法,把一個看似困難的問題重新闡釋成一個我們知道問題怎樣解決的方法。計算思維正在影響經濟學、化學、物理等多門學科,是數學思維和工程思維的結合。計算思維包含兩個A:Abstraction(抽象)——在多個抽象層次上同時進行;Automation(自動化)——使抽象層次及其關系機械化。2008年,美國國家計算機科學技術教師協會(CSTA)發布了題為Computational Thinking:A Problem Solving Tool for Every Classroom的報告[2],得到美國微軟公司的支持,兩者將建立長期合作關系。很多學者也在進行這方面的研究,例如文獻[3]將計算思維的關注點分離方法引入到軟件工程課程中,文獻[4]探討了如何引導學生利用計算思維解決離散數學中的相關問題。2010年7月,教育部高等學校計算機基礎課程教學指導委員會發布了《九校聯盟(C9)計算機基礎教學發展戰略聯合聲明》,并多次提出過計算機基礎課程的教學改革意見,確定了以計算思維為核心的計算機基礎課程的教學改革目標[5]。中國科學院院士陳國良教授對計算思維的教學也給出了一些具體建議,其中包括課程的構建、地位、性質、任務、基本要求以及教學內容、教學原則等[6],為計算思維教學指出了一條可探索的路徑和方向。
傳統的大學計算機基礎課程的教學模式是基于計算機科學中的學科來劃分課程或課程教學單元的,其顯著特點是強調一個教學單元講授一個知識,忽略了不同課程之間或課程單元之間的相互聯系。至于一門課程和另一門課程之間的關聯,則往往需要學生在學習新課程的過程中基于已掌握的知識自行去體會和理解。這主要是由于大多數講授計算機基礎課程的教師在講課過程中更傾向于傳授專業知識、強調理論與細節。要求非計算機專業的學生僅憑兩三門課程就掌握計算機專業學生幾年才能掌握的專業知識是不可能的。顯然,傳統的教學模式是不適應培養學生計算思維能力的要求的。因此,我們試圖采用一種新的教學模式——計算思維教學模式來代替原教學模式。
傳統的教學模式主要針對教學內容中的知識點,引導學生進行自主學習、深入研究。這種教學方式的教學目標涉及對相關知識、概念、原理的理解與掌握,因此應將科學問題作為探索過程來講授,可以讓學生在探究過程中發現科學規律,掌握科學方法,以此培養學生的學習能力和探究精神。將計算思維融入探究式教學中,可以讓學生在學習過程中學會運用計算思維方法,更好地發揮二者的效力。
計算思維教學模式的目標并不是要求學生掌握更多的專業知識,而是培養學生的計算思維能力。在教學中應融入計算思維的理念,利用啟發式推理來尋求解答,在不確定的情況下進行規劃、學習和調度,讓學生運用計算思維的方法進行學習。例如,教師在課堂上不試圖去重點講解某一具體實現技術或各種名詞、概念,而是利用該知識點作為切入點,著重介紹方法和技術演變進步過程中的思維方法,即計算思維的方法。采用模塊化教學方法,將傳統的課程結構分解為各教學模塊,使知識本身不再是教材、教學或考試的重點,而是將知識包裝在模塊中,通過建立耦合的方法或將耦合聯系本身作為教材或教學的重點,來培養學生的計算思維能力。
計算思維教學模式由引導教學模式和主動教學模式構成。在引導教學模式中,教師講授必需的方法、技能,但要同時設立問題,啟發學生運用計算思維解決問題,并為學生提供學習策略上的引導。在主動教學模式中,學生根據教師提出的問題自主思考解決問題的方法,教師適時地為學生提供幫助。兩者相輔相承,同時引領學生進行學習。引導教學模式主要適用于課堂環節,而主動教學模式主要應用在課下及實驗教學環節。
引導教學模式中含多個教學模塊。計算思維并不是由一門課程就能夠培養出來的,一般學校都開設多門計算機基礎課程。傳統教學模式的教學內容以理論知識為主。計算機教材中充滿了各種概念、名詞、術語和定義,學生往往知其然而不知其所以然。采用引導教學模式,在教材中應盡量少地羅列敘述范疇內的名詞術語。計算思維教學模式要求盡量不去強調這些名詞術語,而是將這些名詞術語歸類后作為作業要求學生去了解,并不要求學生完全理解和掌握。傳統教學模式中,為了使學生加深對理論知識的理解,通常采用作業作為補充,多以填空、選擇等形式出現,主要目的掌握概念或名詞、術語,這種作業無論從形式還是從內容上均無法滿足培養學生計算思維能力的要求。因此,合理地選取知識點十分重要。分解傳統的課程結構,改革傳統的教學模式,清晰地劃分和定義其邊界,重新構造教學模塊,去除不必要的擴充和延展。
模塊之間的聯系是教學的重點,這種聯系能夠體現模塊間的邏輯關系,描述出知識之間的聯系,讓學生能夠知其所以然。例如,把多門課程的不同知識點整合為一個模塊,在作業中要求學生了解相關的構成方式及其技術變遷過程。需要特別指出的是,知識或技術的發展軌跡及其發展過程中所運用的計算思維方法是關鍵部分所在。學生在完成作業的過程中需要利用網絡查閱資料和參考書,在認識或理解技術逐步發展的過程中,需要找到其中所運用的方法,這是計算思維逐步深入的過程。
主動教學模式中保留了為課堂教學服務的功能,增加了適應計算思維教學的功能。通過學生主動思考、主動探究解決方法,進一步深化計算思維的應用。主動教學模式通過由淺入深、逐步深入的方式引領學生進行學習。先在小的范圍內讓學生掌握所需的方法和技術,然后對問題進行優化,引導學生進行多知識點、多學科融合,以達到培養計算思維能力的目的。組成思路如下:首先,由初步的操作型引進問題,例如可以通過文檔操作、數據處理等基礎操作來了解現在應用狀況。學生在操作過程中,可以對問題進行分解;然后,針對困難所在,利用計算方法、數據采集及處理等對基礎操作進行優化,也可以對設想問題進行驗證。在驗證過程中,學生能夠站在更高的層次上來看待問題;最后,針對近似于面向解決實際問題的創新型模塊,學生可以獨立提出完整的機制,利用現有的實現方案、實驗技術、實驗手段,完成從底層到應用的全方位思考,讓學生能夠在解決實際問題的過程中找到高效率、高準確率的實驗方法。
利用計算思維解決問題將是未來社會每個人都需具備的基本技能。計算機技術的發展將使計算思維得以普及,計算思維不僅適用于科學家,也適用于每一個普通人。學習和思維是緊密聯系在一起的,不是彼此獨立的。對計算思維的掌握會讓學生的學識不再局限于專業技術,能夠讓學生學會創造,而不僅僅是簡單應用所學知識。
[1]Jeannette M.,Wing.Computational Thinking[J].Communications of the ACM,2006,49(3):18 -22.
[2]Pat Philips.Computational Thinking:A problem -solving tool for every class room[EB/OL].(2009-10-01)[2015-03-03].http://www.csta.acre.org/Resources/sub/ResourceFiles/ComputationalThinking.pdf.
[3]牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011(3):10 -15,50.
[4]李廉.計算思維——概念與挑戰[J].中國大學教學,2012(1):7 -12.
[5]董榮勝.計算思維與計算機導論[J].計算機科學,2009(4):50-52.
[6]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教育,2011(1):7-11.