楊兆華
一、計(jì)算思維簡介
關(guān)于計(jì)算思維,學(xué)術(shù)界有多種解釋。就像美國國際教育技術(shù)學(xué)會(huì)總結(jié)的,計(jì)算思維就是利用電腦來解決問題,通過算法的設(shè)計(jì)來形成處理問題的最佳解決方法;美國卡耐基·梅隆大學(xué)周以真教授指出,“計(jì)算思維”是一種思考活動(dòng),它利用計(jì)算機(jī)的基本概念來解決問題;也有人把計(jì)算思維看作是一種“遞歸方式”的思考,是一種平行的思考模式。
本文的觀點(diǎn)是,計(jì)算思維是一種把人的問題,經(jīng)過程序化的處理,轉(zhuǎn)換成計(jì)算機(jī)可以解決的方式,它的目標(biāo)是通過計(jì)算機(jī)來解決實(shí)際問題或者加快問題的解決。對于計(jì)算思想的理解,具體來說,首先通過對問題的識(shí)別、抽象,將問題進(jìn)行可以計(jì)算化的處理,然后對問題進(jìn)行建模,并設(shè)計(jì)一系列的解決方法和步驟,最后,實(shí)現(xiàn)對計(jì)算機(jī)進(jìn)行自動(dòng)處理。從教育的基本理念出發(fā),計(jì)算思維的培養(yǎng)目標(biāo)是培養(yǎng)學(xué)生運(yùn)用計(jì)算機(jī)技術(shù)和方法,來解決實(shí)際問題的能力和習(xí)慣。
二、Python語言“算法分析”問題解決教學(xué)——培養(yǎng)高中生計(jì)算思維的教學(xué)模型
要構(gòu)建Python語言“算法分析”問題解決教學(xué)——培養(yǎng)學(xué)生計(jì)算思維的教學(xué)模型,首先要明確計(jì)算思維、 Python和趣味問題的聯(lián)系。在對“計(jì)算思維”要素、“Python”要素、“趣味問題”要素深入了解的基礎(chǔ)上,建立“三個(gè)要素”的關(guān)系模型。
單純地培養(yǎng)學(xué)生的計(jì)算思維能力是很困難的,必須將其分解成不同的層次,再將它們?nèi)诤显谝黄?,這樣才能更好地實(shí)現(xiàn)最終的應(yīng)用評價(jià)。模型上,從內(nèi)部到外部的關(guān)系模式是三個(gè)層次,分別是計(jì)算思維、 Python、趣味問題。如此設(shè)置的原因有以下幾點(diǎn):首先,培養(yǎng)計(jì)算思維是目的,是最重要的屬性,歸類于第一個(gè)層次;其次,是思考如何培養(yǎng)計(jì)算思維,本文在選擇Python語言的學(xué)習(xí)作為問題解決實(shí)施方式,歸類于第二個(gè)層次;Python語言程序可以培養(yǎng)學(xué)生的計(jì)算思考能力,但一般情況下,程序是非??菰锏模栽谶@里,教學(xué)中選擇一些趣味問題,以滿足學(xué)生的好奇心,提升學(xué)習(xí)興趣,同時(shí)將趣味問題作為教學(xué)內(nèi)容、思想方法上的載體。因此趣味問題屬于方法的具體實(shí)現(xiàn)狀態(tài),歸類于第三個(gè)層次。
三、基于計(jì)算思維培養(yǎng)的Python語言“算法分析”教學(xué)流程構(gòu)建
1.創(chuàng)建問題情境
在問題解決教學(xué)模式中,首先需要進(jìn)行問題的情境設(shè)計(jì)。例如,某學(xué)生在網(wǎng)上看到了一次有獎(jiǎng)問答,他被一道題目給吸引住了:“上到2樓有10個(gè)階梯,從下到上,每次跨越階梯數(shù)量最多1到2個(gè)臺(tái)階,總共有幾種方式上樓?”
2.引導(dǎo)分析問題——問題抽象化
在問題解決教學(xué)模式中,第二步需要進(jìn)行啟發(fā)思考,通過對問題的分析,可以引導(dǎo)學(xué)生從多個(gè)角度進(jìn)行思考,從而激發(fā)他們的創(chuàng)造性思維。
例如:排列組合問題算法。在對這個(gè)問題進(jìn)行分析時(shí),學(xué)生最容易聯(lián)想到數(shù)學(xué)中的排列組合問題,這個(gè)問題的求解過程(算法)核心在于對問題進(jìn)行全面、綜合的分析。
從這個(gè)問題的數(shù)學(xué)描述來看,在課堂教學(xué)過程中,學(xué)生很容易就會(huì)想起排列組合的算法,但實(shí)際生活中,學(xué)生常常通過排列組合的方案進(jìn)行綜合分析并解決問題。
3.解決問題——問題算法化
在基于問題解決的教學(xué)模式中,第三方面就是對問題進(jìn)行分析并解決。經(jīng)過上樓問題的實(shí)踐探索,將問題轉(zhuǎn)化成學(xué)生了解的斐波那契數(shù)列的解析式,并解釋這個(gè)數(shù)列與自然現(xiàn)象的關(guān)聯(lián),如松果、鳳梨、葵花的花瓣、蜻蜓的翅膀等等。在此基礎(chǔ)上,激發(fā)學(xué)生的學(xué)習(xí)興趣,增進(jìn)對遞歸算法思想的理解。學(xué)生也會(huì)自然而然地想到遞推演算法,但此時(shí),他們往往會(huì)忽略了運(yùn)算的空間和時(shí)間復(fù)雜性,進(jìn)而指導(dǎo)學(xué)生按照哈希表的存儲(chǔ)模式來思考這個(gè)問題。利用哈希表的方法,學(xué)生發(fā)現(xiàn)了在實(shí)際的存儲(chǔ)中仍然有一些浪費(fèi),因此,指導(dǎo)他們?nèi)ソ鉀Q這個(gè)問題的時(shí)候,延伸出動(dòng)態(tài)規(guī)劃算法。在解決實(shí)際問題的過程中,學(xué)生分析問題和解決問題的能力也得到了提升。
4.歸納總結(jié)
在基于問題解決教學(xué)模式中,最終需要對問題進(jìn)行總結(jié)并歸納。通過這一系列相似問題的系統(tǒng)分析、解決問題,并讓學(xué)生歸納出學(xué)習(xí)算法的重要性。
四、實(shí)施效果
教學(xué)評估是一種以教學(xué)目的為依據(jù)來衡量教學(xué)質(zhì)量的手段。在計(jì)算機(jī)思維的三維結(jié)構(gòu)中,麻省理工學(xué)院的研究者根據(jù)計(jì)算機(jī)思考的三維結(jié)構(gòu),建立了一種以工作文件袋分析、訪談、方案情境設(shè)計(jì)為基礎(chǔ)的評估模型,并運(yùn)用問卷法綜合評估了學(xué)生的計(jì)算思維發(fā)展水平。在實(shí)際問題應(yīng)用解決后,將運(yùn)用分析、問卷調(diào)查等方法,運(yùn)用“計(jì)算思維”的立體結(jié)構(gòu)來評估實(shí)際問題解決的算法的實(shí)施效果。
本次基于Python語言學(xué)習(xí)的算法教學(xué)研究,在對實(shí)際問題解決過程中,對學(xué)生進(jìn)行了一次問卷調(diào)查,發(fā)現(xiàn)92%的學(xué)生對該問題的解題方法和步驟了如指掌;86%的學(xué)生對該概念和含義了如指掌;88%的學(xué)生認(rèn)為教學(xué)實(shí)踐對培養(yǎng)計(jì)算思維有很大的幫助;85%的學(xué)生說非常感興趣,課后會(huì)繼續(xù)學(xué)習(xí);73%的學(xué)生認(rèn)為,教學(xué)實(shí)踐可以顯著提高他們的解題能力。
五、結(jié)語
針對傳統(tǒng)教學(xué)中培養(yǎng)學(xué)生計(jì)算思維能力的不足,提出了一種基于 Python語言學(xué)習(xí)與問題解決的教學(xué)模式,并通過實(shí)踐分析并解決問題,培養(yǎng)學(xué)生的計(jì)算思維的能力。
(作者單位:江蘇省吳江區(qū)平望中學(xué))
責(zé)任編輯:李廣軍