曹玉峰 郭津含 曹恩強
摘要:計算思維在非計算機領(lǐng)域的應(yīng)用主要集中在科研領(lǐng)域,如計算生物學(xué)、計算化學(xué)、計算決策學(xué)等。在教育學(xué),尤其是高中教學(xué)的相關(guān)領(lǐng)域幾乎沒有被明確的研究和實踐過。如何理解計算思維并應(yīng)用于日常教學(xué),以及多元化地培養(yǎng)學(xué)生的計算思維能力,對于中學(xué)教學(xué)將有著極大的促進作用。本文執(zhí)筆團隊均為高中教學(xué)一線教師,結(jié)合多年教學(xué)經(jīng)驗及對計算思維的理解,著重以化學(xué)學(xué)科為例,對計算思維在中學(xué)教學(xué)中可行的應(yīng)用進行了系統(tǒng)闡述。
關(guān)鍵詞:計算思維;高中教學(xué);化學(xué)教育
doi:10.16083/j.cnki.1671-1580.2019.11.023
中圖分類號:G633.67;G633.8 文獻標識碼:A 文章編號:1671-1580(2019)10-0119-04
計算思維最早是由美國麻省理工學(xué)院(MIT)的西蒙·帕佩特(SeymourPapert)教授提出。2006年3月,美國卡內(nèi)基·梅隆大學(xué)計算機科學(xué)系主任周以真(Jeannette M.Wing)教授則對計算思維進行了系統(tǒng)的闡述,并在美國計算機權(quán)威期刊《Communica-tions oftheACM》上正式提出了計算思維(Compu.tational Thinking)的概念。按照周教授對計算思維的闡述,計算思維本質(zhì)上可以被認為是一種可以被普遍適應(yīng)的技能,所有人都可以通過學(xué)習(xí)并運用計算思維。當人們具有計算思維的能力時,就可以像計算機科學(xué)家一樣去思考問題,解決問題。對于計算思維,她是這樣定義的:“計算思維涉及運用計算機科學(xué)的基礎(chǔ)概念去求解問題、設(shè)計系統(tǒng)和理解人類的行為。計算思維涵蓋了反映計算機科學(xué)之廣泛性的一系列思維活動。”從應(yīng)用的角度上看,通過計算思維對問題進行分解,約簡,并通過轉(zhuǎn)化和仿真的手段去研究問題,可以使很多復(fù)雜的問題通過類似模式化的方法迎刃而解。計算思維的核心方法則包括了遞歸,抽象和分解,通過計算機科學(xué)領(lǐng)域一些成熟的思考模式,可以將浩大復(fù)雜的問題,逐步細化重新整合并自動進行解決。
計算思維不是一門孤立的學(xué)問,也不是一門學(xué)科知識,它源于計算機科學(xué),又和數(shù)學(xué)思維、工程思維有非常緊密的關(guān)系。嚴格來說,計算科學(xué)起源于數(shù)學(xué),所以計算思維從某種層面來說與數(shù)學(xué)思維緊密相關(guān)。當運用計算思維去解決問題時,很多時候都需要用到數(shù)學(xué)建模的思想,將復(fù)雜的現(xiàn)實問題模式化。從另一個角度看,計算思維又與工程思維十分接近。因為在運用計算思維解決問題設(shè)計復(fù)雜系統(tǒng)時,效率、可靠性、自動化這些工程思維中很重要的東西都是必須要考慮的。
考慮到上述所提到的計算思維這種思維方式所具有的特點,對教學(xué)領(lǐng)域,尤其是中學(xué)學(xué)習(xí)教學(xué)領(lǐng)域?qū)⒂兄艽蟮睦每臻g和適用性。一方面,如果高中教師在知識的傳授中可以科學(xué)地使用計算思維的理念和方法,將極大有助于提高課堂教學(xué)的條理性和知識的易理解性。另一方面,針對高中生高負荷量的學(xué)習(xí)內(nèi)容,形成計算思維的能力、掌握計算思維的方法去學(xué)習(xí),也將更有利于其提高學(xué)習(xí)的效率,建立起完善的知識體系。
一、計算思維的內(nèi)容及發(fā)展現(xiàn)狀
(一)計算思維內(nèi)容。計算思維是建立在計算過程的能力和限制之上,運用計算機科學(xué)的基礎(chǔ)概念和思維方法進行問題求解、系統(tǒng)設(shè)計、以及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維活動。計算思維的本質(zhì)是抽象和自動化。
利用抽象的方法,去掉關(guān)鍵點上的附加屬性,保留核心屬性,一個針對問題的數(shù)學(xué)模型逐步被建立起來。而解決現(xiàn)實、復(fù)雜問題的過程就轉(zhuǎn)變?yōu)榻鉀Q這個數(shù)學(xué)模型的問題。數(shù)學(xué)模型最大的特點就是其可推演性。由于只剩下了問題的核心屬性,利用一些成型的計算方法,并預(yù)定義一些固定的規(guī)則,問題就有可能被自動解答出來,也就是所謂的自動化。
(二)計算思維的發(fā)展現(xiàn)狀。對計算思維的研究,目前國內(nèi)基本還處于初級階段。理論的研究主要關(guān)注其概念、內(nèi)涵、價值與特征,而應(yīng)用研究層次則更多在高等教育階段,致力于計算思維的培養(yǎng)策略、教學(xué)模式和計算思維支持系統(tǒng)的設(shè)計與開發(fā)三個方面。
國外計算思維研究已處于成熟的早期階段,理論研究主要關(guān)注對計算思維的解讀,應(yīng)用研究的層次主要集中在K-12階段,主要關(guān)于計算思維的教學(xué)問題、促進計算思維教育的工具以及計算思維的評價。由此可見,目前國內(nèi)對于計算思維的發(fā)展相對于國外還有很大的差距。
(三)計算思維的典型方法。計算思維是一種問題解決的方式。這種思維將問題分解,并且利用所掌握的計算機知識找出解決問題的辦法。基于計算機科學(xué)的研究內(nèi)容,計算思維在解決其他學(xué)科和領(lǐng)域問題時,有如下幾種典型方法可以加以使用。
·抽象,是從許多事物中,舍棄個別的、非本質(zhì)的屬性,抽取共同的、本質(zhì)的屬性。
·分解,計算機科學(xué)中,應(yīng)對復(fù)雜問題的解決方式即是將問題按照一定規(guī)則分解成許多子問題,再應(yīng)對子問題進行單獨的分析和解決。
·約簡,是在保證問題或數(shù)據(jù)特征能反映原問題或數(shù)據(jù)本質(zhì)特征的前提下,對問題或數(shù)據(jù)等進行簡化處理,保留核心特征,舍棄附加特征。
·遞歸,是一種自身定義自身的方法,通過將大型復(fù)雜問題層層轉(zhuǎn)化,最終轉(zhuǎn)變?yōu)橐粋€與原問題相似的規(guī)模較小的問題來求解。
·算法,即解決問題的方法或求解問題的步驟描述,以此將問題解決的方法推廣到具有相似性的一類問題中。
·程序,是為實現(xiàn)特定目標或解決特定問題而用計算機語言編寫的命令序列集合。
·仿真,利用模型復(fù)現(xiàn)實際系統(tǒng)發(fā)生的本質(zhì)過程,并通過對系統(tǒng)模型的試驗來研究存在的、或設(shè)計中的系統(tǒng)。
二、計算思維在高中化學(xué)中的應(yīng)用
(一)化學(xué)反應(yīng)的建模分析。計算思維是以計算機領(lǐng)域的學(xué)科方法界定問題、抽象特征、建立結(jié)構(gòu)模型、合理組織數(shù)據(jù),通過判斷、分析與綜合各種信息資源,運用合理的算法形成解決問題的方案,總結(jié)利用計算機解決問題的過程與方法,并可遷移到與之相關(guān)的其他問題解決中的一種學(xué)科思維。下面就基于高中化學(xué)中化學(xué)反應(yīng)部分,運用計算思維進行研究和分析。
1.化學(xué)反應(yīng)的實質(zhì)?;瘜W(xué)反應(yīng)是指分子破裂成原子,原子重新排列組合生成新分子的過程,稱為化學(xué)反應(yīng)。在反應(yīng)中常伴有發(fā)光發(fā)熱變色生成沉淀物等,判斷一個反應(yīng)是否為化學(xué)反應(yīng)的依據(jù)是反應(yīng)是否生成新的分子?;瘜W(xué)反應(yīng)是一個舊化學(xué)鏈斷裂,新化學(xué)鏈形成的過程,按照反應(yīng)物與生成物的類型,可以分成四類:化合反應(yīng)、分解反應(yīng)、置換反應(yīng)、復(fù)分解反應(yīng)。按照電子得失分類,又可分成氧化還原反應(yīng)和非氧化還原反應(yīng)。
2.抽象約簡化學(xué)反應(yīng)模型?;戏磻?yīng)指的是由兩種或兩種以上的物質(zhì)反應(yīng)生成一種新物質(zhì)的反應(yīng)。其中反應(yīng)過程中,可能需要一定的反應(yīng)條件,比如點燃、高溫、高壓。一些特殊反應(yīng)也會需要某種催化劑的介入來激活反應(yīng)的發(fā)生。此外,很多反應(yīng)過程還會伴隨發(fā)光、發(fā)熱等現(xiàn)象的發(fā)生。
點燃碳棒:c+o2=點燃=CO2
氮氫合成氨:N2+3H2=高溫高壓催化劑=2NH3鐵做催化劑
回想前面提到的計算思維中抽象和約簡的方法,從許多事物中,舍棄個別的、非本質(zhì)的屬性,抽取并保留能保證原問題和數(shù)據(jù)本質(zhì)特征,以此對問題或數(shù)據(jù)等進行簡化。針對化合反應(yīng),其本質(zhì)的、可以保證原問題的屬性即兩種或以上物質(zhì)(A和B)通過反應(yīng)生成一種新的物質(zhì)(c)。而其中個別反應(yīng)所需要的反應(yīng)條件、催化劑甚至參加反應(yīng)原子前面的系數(shù)等都只是個別的、非本質(zhì)的屬性,對其進行的舍棄并不會影響反應(yīng)本質(zhì)特征的表現(xiàn)。因此可以得到化合反應(yīng)抽象出來的公式模型就是A+B=c。相同的方法,我們可以得到分解反應(yīng)、置換反應(yīng)以及復(fù)分解反應(yīng)對應(yīng)抽象出來的公式模型:
化合反應(yīng):A+B=C
分解反應(yīng):A=B+C
置換反應(yīng):A+BC=B+AC
復(fù)分解反應(yīng):AB+CD=AD+CB
其實可以發(fā)現(xiàn),這些基礎(chǔ)的化學(xué)反應(yīng)公式在日常的高中化學(xué)學(xué)習(xí)中已經(jīng)被老師和同學(xué)們廣泛應(yīng)用,只是大家在使用過程中并沒有意識到其本質(zhì)上是計算思維在學(xué)科中進行的應(yīng)用。
3.化學(xué)元素結(jié)構(gòu)的抽象模型。作為化學(xué)學(xué)科最基礎(chǔ)的知識單元,化學(xué)元素貫穿并存在于學(xué)科的每一個知識脈絡(luò)中。前一章節(jié)中對化學(xué)反應(yīng)最終抽象出的A、B、c、D本質(zhì)上就是化學(xué)元素在自然中的一種存在形式。無論是單質(zhì)還是化合物,其存在的前提都是基于該元素本身結(jié)構(gòu)性質(zhì)所決定。那么想要通過計算思維進一步研究化學(xué)反應(yīng),對化學(xué)元素結(jié)構(gòu)進行建模研究則是一個必須的基本前提。
針對化學(xué)中學(xué)到的數(shù)十種元素,無論其元素符號是什么,顯現(xiàn)什么特殊性質(zhì),這些元素都有一些共性的結(jié)構(gòu)屬性。當我們?yōu)榱搜芯炕瘜W(xué)反應(yīng)而對元素進行建模時,更加關(guān)心元素的結(jié)構(gòu)性質(zhì)模型,即有幾層電子,最外層幾個電子,應(yīng)該顯現(xiàn)正化合價還是負化合價。
元素模型
電子層數(shù)
最外層電子個數(shù)
正負化合價
4.通過計算機程序預(yù)測化學(xué)反應(yīng)的發(fā)生。上面已經(jīng)從過程上對化學(xué)反應(yīng)進行了抽象,同時又對參與化學(xué)反應(yīng)的基礎(chǔ)單元化學(xué)元素進行了模型的抽象。在此基礎(chǔ)上,已經(jīng)具備了對簡單化學(xué)反應(yīng)進行算法化和程序化校驗的前提。
此時,如果我們希望通過計算思維的方法,探索未知元素可能進行化合反應(yīng)(A+B=c)的可能性的分析,該如何設(shè)計對應(yīng)的算法和實現(xiàn)程序化。為了研究這種算法,首先需要抽象出能發(fā)生這列反應(yīng)的一些前提性條件:
反應(yīng)過程中必須有一方容易失電子,一方容易得電子;形成新物質(zhì)的前提是元素通過電子的共享達到新的結(jié)構(gòu)平衡。
以Na和cI2反應(yīng)生成NacI為例,能夠完成反應(yīng)形成新組合的前提是Na恰好“失去”1個電子,退入2層電子的穩(wěn)定狀態(tài);CI“得到”1個電子進入三層電子的穩(wěn)定狀態(tài)。
(1)為了探究程序未知元素化合反應(yīng),我們可以將問題運用計算思維中的遞歸方法進行簡化分解,即遞歸地查看當前輸入元素集合中是否有滿足條件的組合。根據(jù)上面提到的化合反應(yīng)的基本原則,程序中需要考慮的是針對每一個輸入的元素,嘗試匹配剩余元素中不同正負價的元素。如果匹配成功,從輸入元素集合中去掉當前元素,再次調(diào)用函數(shù)自己,進行接下來的嘗試。
(二)二分查找法在化學(xué)藥品測量中的應(yīng)用。二分查找法是計算機課程中一個經(jīng)典的算法,它適用于利用對象屬性的特點,快速定位要查找的對象。它之所以被認為是一種經(jīng)典而廣為人知的算法,主要精髓就在于其使用過程中蘊含的計算思維的精妙,并且適用于很多場景。
1.二分查找法介紹。二分查找也稱折半查找(Binary Search),它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲結(jié)構(gòu),而且表中元素按關(guān)鍵字有序排列。它充分利用了元素間的次序關(guān)系,采用分治策略,可在最壞的情況下用O(10gn)完成搜索任務(wù)。它的基本思想是:(這里假設(shè)數(shù)組元素呈升序排列)將n個元素分成個數(shù)大致相同的兩半,取a[n/2]與欲查找的x作比較,如果x=a[n/2]則找到x,算法終止;如果xa[n/2],則我們只要在數(shù)組a的右半部繼續(xù)搜索x。
2.二分查找法在使用天平對化學(xué)藥品稱量上的應(yīng)用舉例。假設(shè)我們手中有一個未知重量待稱量的藥品(姑且假設(shè)藥品重量為6.8g),需要在未知情況下用盡可能少的時間稱出其準確重量。不考慮用任何算法思維,可能會通過逐漸嘗試,一點點累加或者一點點減少砝碼的方式進行測量。
此時,如果使用二分查找法,我們可能第一步選擇嘗試lOg的砝碼進行測量,發(fā)現(xiàn)藥品端較輕;第二步不再盲目的估算,直接使用5g的砝碼進行稱量,發(fā)現(xiàn)砝碼端較輕;第三步,在砝碼端追加2.5g砝碼,使砝碼重量達到7.5g,發(fā)現(xiàn)已經(jīng)很接近但是偏重;第四步,減少砝碼1.25g,使總重量達到6.25g......
三、結(jié)語
如上文所述,計算思維在高中化學(xué)教育中可以有很多方面的應(yīng)用,這些思維和方法的應(yīng)用對高中化學(xué)教學(xué)任務(wù)和內(nèi)容可以發(fā)揮極大的作用。事實上,不只是化學(xué)教育,計算思維在中學(xué)階段的其他學(xué)科教學(xué)也有很多可以應(yīng)用和探索的空間。而從另一個角度看,不僅是教師在高中教學(xué)內(nèi)容中可以使用計算思維的理念和方法,對于高中學(xué)生來說,理解并養(yǎng)成計算思維,在日常學(xué)習(xí)中將這些科學(xué)的、高效的方法進行合理運用,也將對其學(xué)習(xí)任務(wù)有極大的幫助。正因如此,多元培養(yǎng)學(xué)生計算思維能力,加深學(xué)生對計算思維及其方法的理解勢在必行。