周潔 張永波
摘 要:計(jì)算思維源于我們解決問(wèn)題的思維方式,也影響著我們解決問(wèn)題的思維方式。本文結(jié)合折半算法解決問(wèn)題的實(shí)例,采用了“案例+算法+實(shí)踐”相結(jié)合的教學(xué)方法,從教學(xué)目標(biāo)設(shè)計(jì)——激發(fā)學(xué)習(xí)興趣、課堂教學(xué)策略的選擇——引入新知識(shí)、實(shí)踐教學(xué)設(shè)計(jì)和分層次教學(xué)、知識(shí)拓展、總結(jié)教學(xué)內(nèi)容等幾方面提出了以培養(yǎng)學(xué)生計(jì)算思維為目標(biāo)導(dǎo)向的教學(xué)設(shè)計(jì)的具體實(shí)施方法。
關(guān)鍵詞:計(jì)算思維 目標(biāo)導(dǎo)向 折半查找
中圖分類號(hào):G642;TP3-4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2018)11(b)-0154-02
1972年,圖靈獎(jiǎng)得主Edsger Dii.kstra提出了“工具影響思維”的論點(diǎn):“我們所使用的工具影響著我們的思維方式和思維習(xí)慣,從而也深刻地影響著我們的思維能力”[1]。隨著計(jì)算機(jī)的高速發(fā)展,計(jì)算機(jī)技術(shù)使得計(jì)算機(jī)專家和其他領(lǐng)域科學(xué)家合作共同解決問(wèn)題成為普遍現(xiàn)象,計(jì)算思維得以廣泛應(yīng)用于生物、生態(tài)、經(jīng)濟(jì)等各個(gè)領(lǐng)域。
這就需要我們?cè)谥v述計(jì)算機(jī)基礎(chǔ)知識(shí)的同時(shí),引入計(jì)算思維的基本思想,并在講解編程問(wèn)題的時(shí)候使用計(jì)算思維解決問(wèn)題的方法來(lái)理解和加深對(duì)算法的使用,這樣可以更好的讓學(xué)生習(xí)慣在解決問(wèn)題的時(shí)候使用計(jì)算思維,進(jìn)而在后續(xù)編程問(wèn)題的學(xué)習(xí)中可以主動(dòng)地、有意識(shí)地增加這方面能力的培養(yǎng)。并且可以更好的培養(yǎng)學(xué)生在其他學(xué)科中使用計(jì)算思維解決問(wèn)題,將自己的專業(yè)和計(jì)算機(jī)技術(shù)結(jié)合起來(lái),適應(yīng)社會(huì)的發(fā)展需要。這將是我們?cè)诮虒W(xué)過(guò)程中要探討的教學(xué)設(shè)計(jì)方法。
1 什么是計(jì)算思維
2006年3月,美國(guó)卡內(nèi)基梅隆大學(xué)的計(jì)算機(jī)科學(xué)系主任周以真教授最早給出了計(jì)算思維的概念:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì),以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)[2]。計(jì)算思維要求我們?cè)诮鉀Q問(wèn)題的時(shí)候要使用計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí),采用抽象和分解的方法,把一個(gè)復(fù)雜的任務(wù)分解成一個(gè)個(gè)小問(wèn)題,再逐步解決,利用遞歸的推理方法來(lái)找到問(wèn)題的答案。
我們現(xiàn)在生活在一個(gè)大數(shù)據(jù)的環(huán)境下,已有的理論與實(shí)驗(yàn)手段已經(jīng)不能更好地解決問(wèn)題,所以就需要使用計(jì)算手段來(lái)輔助人們進(jìn)行各種求解。因而計(jì)算思維應(yīng)當(dāng)成為這個(gè)時(shí)代中每個(gè)人都具備的一種基本能力。
2 以培養(yǎng)計(jì)算思維為目標(biāo)導(dǎo)向的教學(xué)設(shè)計(jì)分析
針對(duì)不同專業(yè),學(xué)生的思維方式存在很大的差異,教師在教學(xué)設(shè)計(jì)時(shí)應(yīng)充分考慮到學(xué)生的不同學(xué)科,不同專業(yè),結(jié)合他們的專業(yè)特點(diǎn),有針對(duì)性地制定相應(yīng)的教學(xué)目標(biāo),選擇適合各個(gè)學(xué)科的教學(xué)方法,讓學(xué)生能更好地接受計(jì)算思維,并能在以后的學(xué)習(xí)工作中運(yùn)用計(jì)算思維解決問(wèn)題。教師在教學(xué)過(guò)程中應(yīng)該充分激發(fā)學(xué)生的學(xué)習(xí)能動(dòng)性,由被動(dòng)式接受到主動(dòng)式參與。
在計(jì)算機(jī)編程的課程里會(huì)講授到很多的算法,其中很多內(nèi)容都涉及到計(jì)算和計(jì)算思維,如折半查找。在折半算法的教學(xué)中引入計(jì)算思維,可做如下的教學(xué)設(shè)計(jì)。
(1)引入簡(jiǎn)單案例,激發(fā)學(xué)習(xí)興趣。針對(duì)折半查找算法這一教學(xué)目標(biāo),可以先找到一個(gè)簡(jiǎn)單的示例,讓學(xué)生在熟悉的話題中理解折半查找的算法思想,激發(fā)學(xué)生的學(xué)習(xí)興趣。例如,可以在師生之間開(kāi)展一場(chǎng)猜數(shù)游戲,如讓學(xué)生寫(xiě)下1~1000之間任意一個(gè)整數(shù),教師問(wèn)學(xué)生問(wèn)題,學(xué)生回答“是”或“否”,直到找到正確答案,游戲結(jié)束。然后分析猜數(shù)的方法,通過(guò)游戲讓學(xué)生來(lái)理解折半算法的概念和思想,可以大大提升學(xué)生的學(xué)習(xí)興趣,讓被動(dòng)式的灌輸教育變成主動(dòng)式的探究學(xué)習(xí)。
(2)復(fù)習(xí)舊知識(shí),引出新知識(shí)。教師做好知識(shí)梳理,由新知識(shí)內(nèi)容需求,引導(dǎo)學(xué)生復(fù)習(xí)遞歸算法和N-S流程圖的相關(guān)知識(shí)點(diǎn),然后啟發(fā)學(xué)生根據(jù)算法語(yǔ)言描述方法和N-S流程圖寫(xiě)出猜數(shù)游戲的具體編程過(guò)程,通過(guò)提問(wèn)了解學(xué)生的思維模式和應(yīng)用能力,為后續(xù)的教學(xué)針對(duì)性地選擇教學(xué)方法。
(3)分層次教學(xué)。對(duì)于折半算法中的基本概念和必要的語(yǔ)法知識(shí)的講授,采用傳統(tǒng)的教學(xué)模式,首先講解必要的理論知識(shí),然后設(shè)計(jì)簡(jiǎn)單的教學(xué)案例,在案例的講解和實(shí)施中讓學(xué)生掌握相關(guān)的理論知識(shí);而對(duì)折半算法的具體實(shí)現(xiàn),則可以采用分組討論的模式,讓學(xué)生以探究合作的方式解決問(wèn)題,找到答案,針對(duì)學(xué)生的不同答案,展開(kāi)進(jìn)一步的集體討論,分析算法的優(yōu)缺點(diǎn),最終找到最優(yōu)答案,整個(gè)教學(xué)過(guò)程注重提高學(xué)生的計(jì)算思惟能力,達(dá)到預(yù)期的教學(xué)目標(biāo)。
(4)知識(shí)拓展訓(xùn)練,總結(jié)復(fù)習(xí)。采用折半算法類似的教學(xué)方式,繼續(xù)引入斐波那契數(shù)列的遞歸算法,該數(shù)列現(xiàn)在被廣泛用于金融領(lǐng)域的期貨技術(shù)和股票分析中,同時(shí)也直接應(yīng)用于現(xiàn)代物理、化學(xué)等領(lǐng)域。采用折半算法的教學(xué)方法,讓學(xué)生繼續(xù)找到計(jì)算該數(shù)列的遞歸算法的編程方法。找到算法后,可以用互動(dòng)良好的VB語(yǔ)言將算法編寫(xiě)調(diào)試出正確的結(jié)果,在這一過(guò)程中重點(diǎn)側(cè)重于使用計(jì)算思維的抽象分解功能將具體問(wèn)題符號(hào)化,寫(xiě)出流程圖,編程實(shí)現(xiàn)。然后對(duì)學(xué)生寫(xiě)的程序進(jìn)行比較分析,哪種算法效率更高。最后總結(jié)課堂教學(xué)內(nèi)容,根據(jù)所學(xué)知識(shí)編寫(xiě)、調(diào)試課堂案例,完成實(shí)踐教程中對(duì)應(yīng)的實(shí)驗(yàn)內(nèi)容。
3 結(jié)語(yǔ)
以上我們以折半算法為例介紹了怎樣通過(guò)先由學(xué)生熟悉的案例為切入點(diǎn)將計(jì)算思維的問(wèn)題提出,再如何引導(dǎo)學(xué)生學(xué)會(huì)使用計(jì)算思維的抽象和分解功能來(lái)分析并解決問(wèn)題,繼而拓展到將計(jì)算思維的遞歸算法應(yīng)用到解決各種現(xiàn)實(shí)的問(wèn)題中。在構(gòu)造學(xué)習(xí)案例時(shí),應(yīng)該分層次分學(xué)科有針對(duì)性的找到難易不同、應(yīng)用專業(yè)不同的各種案例,引導(dǎo)學(xué)生領(lǐng)會(huì)并主動(dòng)思考案例中如何使用計(jì)算思維對(duì)問(wèn)題。這樣通過(guò)不同案例由淺至深的遞進(jìn)關(guān)系逐步培養(yǎng)起來(lái)學(xué)生的計(jì)算思維能力,讓學(xué)生不再拘泥于具體程序設(shè)計(jì)問(wèn)題的學(xué)習(xí),而是將內(nèi)容重點(diǎn)轉(zhuǎn)移到問(wèn)題的抽象、算法的構(gòu)造、程序的實(shí)現(xiàn)和評(píng)價(jià)等知識(shí)上,從而進(jìn)一步理解計(jì)算科學(xué)的本質(zhì)――抽象和自動(dòng)化。
參考文獻(xiàn)
[1] 王飛躍.從計(jì)算思維到計(jì)算文化[A].新觀點(diǎn)新學(xué)說(shuō)學(xué)術(shù)沙龍文集7:教育創(chuàng)新與創(chuàng)新人才培養(yǎng)[C].2007.
[2] Wing JM.Computational thinking[J].Communications of the ACM,2006,49(3):33-35.