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