郭詠梅
(長(zhǎng)治學(xué)院 計(jì)算機(jī)系,山西 長(zhǎng)治 046011)
計(jì)算思維(Computational Thinking)是在 2006年由美國(guó)卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真教授提出的教育理念。她認(rèn)為計(jì)算思維不僅僅屬于計(jì)算機(jī)科學(xué)家,而應(yīng)該和閱讀、寫作、算術(shù)一樣,成為21世紀(jì)每個(gè)人必須具備的基本技能。
這一概念一經(jīng)提出就引起了國(guó)內(nèi)外計(jì)算機(jī)專家學(xué)者的廣泛關(guān)注,如何培養(yǎng)學(xué)生的計(jì)算思維成為當(dāng)前計(jì)算機(jī)教育研究的重要課題。美國(guó)計(jì)算機(jī)協(xié)會(huì)(ACM)和國(guó)際電子電氣工程師協(xié)會(huì)計(jì)算機(jī)學(xué)會(huì)(IEEE-CS)在修訂后的計(jì)算機(jī)科學(xué)教程2008(Computer Science Curriculum 2008)[1]中明確指出應(yīng)該將計(jì)算思維作為計(jì)算機(jī)科學(xué)教學(xué)的重要組成部分。在國(guó)內(nèi),教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)編制的《高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才專業(yè)能力構(gòu)成與培養(yǎng)》[2](2010年編)中指出,計(jì)算機(jī)專業(yè)人才的專業(yè)基本能力主要包括計(jì)算思維能力、算法設(shè)計(jì)與分析能力、程序設(shè)計(jì)與實(shí)現(xiàn)能力、系統(tǒng)能力,其中計(jì)算思維能力是最重要的能力。與此同時(shí),多位研究者對(duì)如何培養(yǎng)計(jì)算思維進(jìn)行了探索和討論:文獻(xiàn)[3][4]論述了計(jì)算思維在計(jì)算機(jī)基礎(chǔ)教學(xué)中的重要性,強(qiáng)調(diào)要注重學(xué)科思維能力培養(yǎng)。文獻(xiàn)[5]旗幟鮮明地把“計(jì)算思維能力的培養(yǎng)”作為計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)。文獻(xiàn)[6][7]探討了在人工智能和離散數(shù)學(xué)課程中培養(yǎng)計(jì)算思維的思路和策略。盡管如此,如何在教學(xué)過(guò)程中培養(yǎng)學(xué)生計(jì)算思維仍處于一個(gè)摸索階段,需要教學(xué)工作者去探索和實(shí)踐。
文章以實(shí)際問(wèn)題為主線,將計(jì)算思維的方法滲透到教學(xué)過(guò)程中,探討培養(yǎng)學(xué)生計(jì)算思維的方法和策略,達(dá)到提高學(xué)生的計(jì)算思維能力的目的。
周以真教授對(duì)計(jì)算思維的定義:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解問(wèn)題、設(shè)計(jì)系統(tǒng)和理解人類的行為,它包括了涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)[8]。計(jì)算思維的本質(zhì)是抽象(Abstract)和自動(dòng)化(Automation)。典型的計(jì)算思維包括一系列廣泛的計(jì)算機(jī)科學(xué)的思維方法:遞歸、抽象和分解,關(guān)注點(diǎn)分離、保護(hù)、冗余、容錯(cuò)、糾錯(cuò)和恢復(fù),利用啟發(fā)式推理來(lái)尋求解答、在不確定的情況下規(guī)劃、學(xué)習(xí)和調(diào)度等。計(jì)算思維中求解問(wèn)題的一般過(guò)程為:首先對(duì)問(wèn)題進(jìn)行抽象化的描述,然后設(shè)計(jì)求解問(wèn)題的方案,最后通過(guò)編寫程序代碼、運(yùn)行程序,實(shí)現(xiàn)計(jì)算機(jī)對(duì)問(wèn)題的求解。
問(wèn)題探究教學(xué)是以學(xué)生為主體、教師為主導(dǎo),體現(xiàn)“自主、探究、合作”的學(xué)習(xí)方式[8]。通過(guò)對(duì)教學(xué)內(nèi)容中主要知識(shí)點(diǎn)進(jìn)行自主學(xué)習(xí)、深入探究并進(jìn)行小組合作交流,最終較好地應(yīng)用已有的知識(shí)求解實(shí)際問(wèn)題。
計(jì)算思維和問(wèn)題探究教學(xué)共同的目標(biāo)都是對(duì)實(shí)際問(wèn)題的有效求解,計(jì)算思維的核心是以科學(xué)的思維方法思考問(wèn)題和求解問(wèn)題,問(wèn)題探究教學(xué)是在實(shí)際問(wèn)題的深入分析探究過(guò)程中進(jìn)行學(xué)習(xí)。我們將二者結(jié)合起來(lái),在探究性學(xué)習(xí)過(guò)程中,引導(dǎo)學(xué)生運(yùn)用計(jì)算思維的方法分析、解決實(shí)際問(wèn)題,一方面培養(yǎng)學(xué)生的計(jì)算思維能力,另一方面提高學(xué)生解決實(shí)際問(wèn)題的能力和創(chuàng)新能力,進(jìn)一步提高教學(xué)效果。
問(wèn)題探究教學(xué)的過(guò)程一般分為五個(gè)步驟:(1)根據(jù)實(shí)際需求提出探究問(wèn)題;(2)啟發(fā)學(xué)生自主探究問(wèn)題;(3)小組合作分析解決問(wèn)題;(4)協(xié)作討論交流成果;(5)總結(jié)提高拓展遷移。教師在各個(gè)環(huán)節(jié)啟發(fā)、引導(dǎo)學(xué)生運(yùn)用計(jì)算思維的方法去研究問(wèn)題、解決問(wèn)題,學(xué)生運(yùn)用計(jì)算思維的方法自主、探究、合作學(xué)習(xí),提高獨(dú)立思考和解決問(wèn)題的能力。下面是程序設(shè)計(jì)課程中“數(shù)據(jù)查找”問(wèn)題的教學(xué)過(guò)程。
教師根據(jù)教學(xué)目標(biāo)和教學(xué)內(nèi)容的知識(shí)點(diǎn),以一個(gè)實(shí)際問(wèn)題為切入點(diǎn),引出探究問(wèn)題,調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性、激發(fā)其學(xué)習(xí)動(dòng)機(jī)。教師要深入研究教材,提出的問(wèn)題要具有代表性和應(yīng)用性,能夠涵蓋教學(xué)內(nèi)容的知識(shí)點(diǎn)和計(jì)算思維方法。學(xué)生明確學(xué)習(xí)目標(biāo),理解要解決的問(wèn)題,進(jìn)入學(xué)習(xí)情景。
在教師的組織下,引導(dǎo)學(xué)生列舉出日常生活中的實(shí)例。例如:查找學(xué)生考試成績(jī)、在字典中查找字或詞等,讓學(xué)生討論如何查找各類數(shù)據(jù),激發(fā)學(xué)生學(xué)習(xí)和探究的積極性,由此引出“數(shù)據(jù)查找”問(wèn)題。組織學(xué)生組成3-4人的學(xué)習(xí)小組,每組選擇一個(gè)具體查找問(wèn)題進(jìn)行討論。教師不僅要引導(dǎo)學(xué)生明確查找問(wèn)題的具體要求,更重要的是啟發(fā)學(xué)生用計(jì)算思維的概念和方法分析問(wèn)題和求解問(wèn)題。
學(xué)生帶著問(wèn)題自主學(xué)習(xí),思考解決問(wèn)題的方法,形成初步的解題思路。發(fā)揮主導(dǎo)作用的教師要適時(shí)為學(xué)生提供幫助與指導(dǎo),對(duì)探究性學(xué)習(xí)中的思維方法作必要的指導(dǎo)。教師不能直接告知學(xué)生正確的答案,要啟發(fā)、引導(dǎo)學(xué)生用計(jì)算思維的抽象、分解、關(guān)注點(diǎn)分離等方法去思考問(wèn)題、解決問(wèn)題,培養(yǎng)學(xué)生良好的思維習(xí)慣。
對(duì)于查找學(xué)生成績(jī)問(wèn)題,教師要引導(dǎo)學(xué)生獨(dú)立地對(duì)問(wèn)題的輸入數(shù)據(jù)、輸出數(shù)據(jù)和功能進(jìn)行分析,對(duì)問(wèn)題進(jìn)行抽象,啟發(fā)學(xué)生用程序設(shè)計(jì)語(yǔ)言中的符號(hào)、數(shù)據(jù)結(jié)構(gòu)表示學(xué)生成績(jī)信息。例如,將學(xué)生基本信息定義為類或結(jié)構(gòu)體,數(shù)據(jù)成員包括學(xué)號(hào)、姓名、成績(jī)等,函數(shù)成員包括數(shù)據(jù)的輸入、輸出、排序、查找等,定義對(duì)象數(shù)組或結(jié)構(gòu)體數(shù)組存放學(xué)生成績(jī)信息,讓學(xué)生學(xué)會(huì)將實(shí)際問(wèn)題表示為計(jì)算機(jī)能夠處理的符號(hào)。在完成問(wèn)題的表示之后,進(jìn)一步鼓勵(lì)學(xué)生自主分析、設(shè)計(jì)查找某一學(xué)生成績(jī)的算法。
學(xué)生小組協(xié)作討論、共享學(xué)習(xí)資源、內(nèi)化知識(shí)和學(xué)習(xí)方法,形成解決問(wèn)題的方案。教師在思維和策略方面提供幫助,引導(dǎo)學(xué)生進(jìn)行知識(shí)的主動(dòng)建構(gòu),學(xué)生以自己所掌握的知識(shí)經(jīng)驗(yàn)為基礎(chǔ),對(duì)問(wèn)題進(jìn)行分析和處理,從而培養(yǎng)學(xué)生思維能力和協(xié)作能力。
在這一過(guò)程中,學(xué)生比較各種方案的優(yōu)劣,選出最佳方案,設(shè)計(jì)具體的實(shí)現(xiàn)算法。教師要引導(dǎo)學(xué)生應(yīng)用已學(xué)過(guò)的知識(shí)獨(dú)立思考,設(shè)計(jì)查找算法;同時(shí)鼓勵(lì)學(xué)生收集、查閱典型的查找算法,如順序查找、折半查找等,讓學(xué)生理解各種查找算法的具體過(guò)程,比較各種查找算法優(yōu)點(diǎn)和不足,體會(huì)計(jì)算機(jī)處理問(wèn)題的過(guò)程。通過(guò)小組討論交流,各組選出一種最佳算法,進(jìn)行完善和優(yōu)化,并用流程圖或N-S圖等規(guī)范的工具描述算法。
在教師在組織引導(dǎo)下,學(xué)生以小組為單位討論交流學(xué)習(xí)成果,切磋學(xué)習(xí)當(dāng)中遇到的問(wèn)題。
各小組根據(jù)設(shè)計(jì)的查找算法編寫程序,展示各自的運(yùn)行結(jié)果。通過(guò)成果展示,讓學(xué)生學(xué)習(xí)同一問(wèn)題不同的算法設(shè)計(jì),從別人的成果中獲得啟發(fā),拓展思路,領(lǐng)悟計(jì)算機(jī)自動(dòng)化的內(nèi)涵。
首先由學(xué)生個(gè)人(或?qū)W習(xí)小組)對(duì)探究問(wèn)題涉及到的基本概念、基本方法進(jìn)行總結(jié),對(duì)學(xué)習(xí)過(guò)程中出現(xiàn)的錯(cuò)誤進(jìn)行反思。然后由教師對(duì)教學(xué)內(nèi)容的重點(diǎn)和難點(diǎn)、解決問(wèn)題的計(jì)算思維方法、學(xué)生學(xué)習(xí)小組的表現(xiàn)進(jìn)行歸納總結(jié),使學(xué)生深入理解、掌握所學(xué)的知識(shí)和計(jì)算思維方法。教師還要提出相關(guān)聯(lián)的問(wèn)題,引導(dǎo)學(xué)生拓展遷移,對(duì)所學(xué)知識(shí)舉一反三。
對(duì)于數(shù)據(jù)查詢問(wèn)題,每個(gè)小組派代表總結(jié)各自的分析方法、設(shè)計(jì)思路、算法的優(yōu)點(diǎn)和計(jì)算思維方法,教師對(duì)各個(gè)小組的成果進(jìn)行評(píng)價(jià),并從整體上聯(lián)系相關(guān)學(xué)科知識(shí)(如對(duì)象數(shù)組、查找算法等)進(jìn)行總結(jié),對(duì)計(jì)算思維方法(如抽象、分解、自動(dòng)化等)進(jìn)行點(diǎn)評(píng)和總結(jié)。同時(shí),教師要引導(dǎo)學(xué)生提升對(duì)類、函數(shù)模板、類模板的認(rèn)識(shí),讓學(xué)生體會(huì)計(jì)算機(jī)解決一類問(wèn)題的方法。
在整個(gè)教學(xué)過(guò)程中,采用問(wèn)題探究教學(xué)模式,在問(wèn)題的求解過(guò)程中滲透計(jì)算思維的方法,培養(yǎng)學(xué)生良好的思維習(xí)慣,使學(xué)生掌握實(shí)際問(wèn)題的求解過(guò)程和基本思路。
問(wèn)題探究教學(xué)和計(jì)算思維二者緊密結(jié)合,相互促進(jìn),在問(wèn)題探究過(guò)程中培養(yǎng)了學(xué)生計(jì)算思維能力,計(jì)算思維使問(wèn)題探究教學(xué)進(jìn)一步提高和升華。這種教學(xué)方法充分調(diào)動(dòng)了學(xué)生主動(dòng)學(xué)習(xí)的積極性,增強(qiáng)了學(xué)生自主學(xué)習(xí)能力和小組協(xié)作能力,彌補(bǔ)了傳統(tǒng)課堂教學(xué)的不足,真正提高了學(xué)生解決實(shí)際問(wèn)題的能力和計(jì)算思維能力。
[1]ACM/IEEE Computer Society Interim Review Task Force.Computer science curriculum 2008:An inte rimrevision of CS2001[EB/OL].[2010-06-28].http://www.acm.org/educa tion/curricula/.
[2]教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì).高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才專業(yè)能力構(gòu)成與培養(yǎng)[M].北京:機(jī)械工業(yè)出版社,2010.
[3]董榮勝.《九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》呼喚教育的轉(zhuǎn)型[J].中國(guó)大學(xué)教學(xué),2010,(10):14-15.
[4]董榮勝.計(jì)算思維與計(jì)算機(jī)導(dǎo)論[J].計(jì)算機(jī)科學(xué),2009,(4):50-52.
[5]九校聯(lián)盟_C9_計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明[J].中國(guó)大學(xué)教學(xué),2010,(9):4.
[6]王甲海,印鑒.人工智能教學(xué)與計(jì)算思維培養(yǎng)[J].計(jì)算機(jī)教育,2010,(19):68-70.
[7]常亮,徐周波,古天龍,董榮勝.離散數(shù)學(xué)教學(xué)中的計(jì)算思維培養(yǎng)[J].計(jì)算機(jī)教育,2011,(14):90-93.
[8]周以真.計(jì)算思維[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2007,(11):77-79.
[9]何克抗,吳娟.信息技術(shù)與課程整合的教學(xué)模式研究之三—“探究性”教學(xué)模式[J].現(xiàn)代教育技術(shù),2008,(9):5-10.