朱玉紅 強(qiáng)家虎 張?zhí)煺?/p>
摘?要:近年來,隨著計算思維研究的深入,其作為信息技術(shù)學(xué)科獨(dú)立性與價值性的支撐得到凸顯。鑒于此,編程類課程作為培養(yǎng)計算思維的有效載體重新得到信息技術(shù)課程的青睞。本文闡述了計算思維的內(nèi)涵與價值,分析了C++編程在培養(yǎng)計算思維方面的優(yōu)勢,設(shè)計了基于計算思維培養(yǎng)的C++編程教學(xué)模型和基本課程架構(gòu),以期對計算思維教育的實(shí)證研究提供一些經(jīng)驗(yàn)和支撐。
關(guān)鍵詞:計算思維;信息技術(shù);初中教學(xué)
一、 問題的提出
近年來,為了應(yīng)對學(xué)生對信息技術(shù)課程內(nèi)容的前沿性與求真性越來越高的需求,計算思維培養(yǎng)受到了我國信息技術(shù)課程研究者越來越多的關(guān)注。同時,多元化、創(chuàng)新化的培養(yǎng)需求日益劇增,單純的技能培養(yǎng)或是能力培養(yǎng)早已不能應(yīng)對日新月異發(fā)展的科技。思維培養(yǎng)作為信息技術(shù)課程基礎(chǔ)性價值的體現(xiàn),被確定為高中信息技術(shù)課程培養(yǎng)學(xué)生的核心素養(yǎng)之一。與此同時,我們注意到如何實(shí)施計算思維培養(yǎng),尤其是在初中階段,通過哪些途徑和方法讓“計算思維”真正落地基礎(chǔ)教育值得我們探究。
二、 關(guān)于計算思維
2006年,周以真教授首次提出計算思維的概念。2011,她對計算思維進(jìn)行了新的闡述,她認(rèn)為計算思維是一種解決問題的思維過程,能夠清晰、抽象地將問題和解決方案用信息處理單位所能執(zhí)行的方式表述出來。
分析周以真多年來對計算思維的闡述可以看出,她將“問題解決”視為計算思維非常重要的環(huán)節(jié)。2011年,國際教育技術(shù)協(xié)會(ISTE)和計算機(jī)科學(xué)教師協(xié)會(CSTA)聯(lián)合制定了中小學(xué)計算思維的操作性定義,其中也明確將計算思維定義為解決問題的一種過程。除此以外,學(xué)術(shù)界很多計算思維研究者還提出了“抽象說”“自動化說”“信息表達(dá)說”“社會計算說”“三維目標(biāo)說”等對計算思維的認(rèn)識。本文作者結(jié)合實(shí)際教學(xué)經(jīng)驗(yàn)認(rèn)為“問題解決說”對于中學(xué)生信息技術(shù)課程的操作及計算思維培養(yǎng)過程更有利,下文也將圍繞“問題解決說”展開對計算思維培養(yǎng)的課程設(shè)計。
2017年中國人民教育出版社出版的普通高中信息技術(shù)教材及課程標(biāo)準(zhǔn)中將計算思維與信息意識、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會責(zé)任共同作為信息技術(shù)學(xué)科四大核心素養(yǎng),并在課標(biāo)的解讀中對計算思維從概念到實(shí)操等多方面做了描述。為基礎(chǔ)教育計算思維的培養(yǎng)開辟了一條全新的道路。
目前,我國基礎(chǔ)教育依托信息技術(shù)課程,算法與編程、數(shù)據(jù)與分析兩個領(lǐng)域內(nèi)容進(jìn)行的活動設(shè)計是最常見、有效的提升學(xué)生的計算思維的一條途徑。當(dāng)然,計算思維教育不等同于算法學(xué)習(xí)(編程學(xué)習(xí)),但算法學(xué)習(xí)(編程學(xué)習(xí))是計算思維培養(yǎng)的最有效、不可或缺的途徑。
C++作為一種面向?qū)ο蟮某绦蚓帉懻Z言,在問題描述方面非常擅長,同時能夠很好地承接學(xué)生在小學(xué)階段學(xué)習(xí)過的圖形化編程內(nèi)容,更適宜開發(fā)學(xué)生的計算思維。
三、 基于計算思維培養(yǎng)的教學(xué)設(shè)計
(一)計算思維教學(xué)模型設(shè)計
2013年南安普敦大學(xué)的Cynthia Selby博士和John woollard博士從五個方面提出了計算思維的要素,包括算法思維、評估、分解、抽象、概括。
根據(jù)陳鵬、黃榮懷等人的統(tǒng)計與研究,關(guān)于計算思維概念、定義、特征和要素,學(xué)者們使用的詞匯頻率從高到低為:問題解決、抽象、過程、計算機(jī)……
在國際教育技術(shù)協(xié)會和計算機(jī)科學(xué)教師協(xié)會給出的計算思維的操作性定義中不僅將計算思維視為一種基于問題解決的過程,并對其關(guān)鍵環(huán)節(jié)給予了明確表述包括(但不限于):制定問題-邏輯化地組織和分析數(shù)據(jù)-通過抽象再現(xiàn)數(shù)據(jù)-通過算法思維來支持自動化解決方案-識別、分析、實(shí)施可能的解決方案-找到最有效的解決方案-推廣并遷移到更廣泛的問題中。
將大量理論研究結(jié)合一線編程教學(xué)實(shí)踐,我們從計算思維的“問題解決”觀出發(fā),以計算思維的分解、抽象、算法、評價與歸納五大特征為主線,基于皮亞杰建構(gòu)主義中以學(xué)生為中心的觀點(diǎn),設(shè)計提出了基于 C++編程的教學(xué)模型。
圖1?基于計算思維培養(yǎng)的C++編程教學(xué)模型
(二)計算思維培養(yǎng)的教學(xué)內(nèi)容設(shè)計
按照結(jié)構(gòu)主義觀點(diǎn)的思路進(jìn)行計算思維培養(yǎng)教學(xué)體系設(shè)計我們應(yīng)該總結(jié)出計算思維的各個特征點(diǎn)(例如,分解、抽象、轉(zhuǎn)化、遞歸、并行……)并將這些特征點(diǎn)進(jìn)行清晰地歸類和劃分,然后通過一堂一堂課程教授給學(xué)生,并逐漸內(nèi)化為學(xué)生的思維方法。這種結(jié)構(gòu)主義教學(xué)體系培養(yǎng)模式適應(yīng)于工業(yè)化人才培養(yǎng)需要,具有標(biāo)準(zhǔn)易掌握,培養(yǎng)速度快的優(yōu)點(diǎn),是當(dāng)今世界通用本科人才培養(yǎng)模式。但如果將其生搬硬套到初中生的計算思維培養(yǎng)中來,卻不是很適宜。因?yàn)閺哪撤N程度上來說這種講授的培養(yǎng)模式是線性的,不利于學(xué)生思維的養(yǎng)成,更加不利于思維發(fā)散性和靈活性的培養(yǎng)。思維培養(yǎng)的主體是學(xué)生,關(guān)鍵是思維過程。思維的主體需要在通過對問題的分析、綜合、概括、抽象、比較、具體化和系統(tǒng)化等一系列迭代過程中體驗(yàn)感悟思維的過程。因此,我們可以基于以上教學(xué)模型,以“問題解決”為主線引導(dǎo)學(xué)生提升計算思維。例如,在How to change?問題中,教師首先給出的是背景情境:媽媽在姐姐和弟弟的喝水杯中倒入了不同的飲料,如何在不交換杯子的情況下交換對方的飲料呢?然后讓學(xué)生思考進(jìn)而明確問題是“互換”,分析問題后可將兩個杯子抽象為計算機(jī)中的存儲單元,飲料抽象為存儲單元中的變量值。解決問題的方法則是可以開辟一個新的存儲單元,建立一個新的變量,通過第三個變量的傳遞將原來的兩個變量進(jìn)行交換。最終總結(jié)后可將這一方法遷移到解決類似問題中,例如解決系統(tǒng)中兩個文件的名稱互換的問題。
當(dāng)然我們也并非要放棄對計算思維特征的強(qiáng)化與量化過程??梢愿鶕?jù)計算思維特征學(xué)習(xí)的難易程度不同,將其主要特征點(diǎn)與C++編程教學(xué)內(nèi)容相融合,設(shè)計不同層次的任務(wù)。依據(jù)難易程度不同賦予不同的指代目標(biāo)。將整體教學(xué)流程縱向上劃分為知識準(zhǔn)備階段、經(jīng)典練習(xí)階段和提升能力階段。讓學(xué)生以問題為主線,解決任務(wù)。表1為部分教學(xué)架構(gòu)表。
四、 當(dāng)前存在的問題
在以往傳統(tǒng)的教學(xué)中,計算思維是隱藏的教學(xué)內(nèi)容中的,要靠學(xué)生自己去領(lǐng)悟,現(xiàn)在要把這些明白的講出來,讓學(xué)生有意識地去學(xué)習(xí),提高培養(yǎng)質(zhì)量,縮短培養(yǎng)時間。但同時我們也應(yīng)該清醒地認(rèn)識到,計算思維培養(yǎng)固然重要,但計算思維的培養(yǎng)離不開計算能力的基礎(chǔ)支持和計算工具的實(shí)踐應(yīng)用,因此,計算思維的培養(yǎng)要循序漸進(jìn)。
針對計算思維教育,國外一些高校研究機(jī)構(gòu)已經(jīng)進(jìn)行了大量的教學(xué)實(shí)踐,取得了很好的效果。而我國的基礎(chǔ)教育中還沒有明顯的推動,基于教學(xué)實(shí)踐的計算思維教學(xué)體系還未成型。實(shí)證研究的缺乏是計算思維培養(yǎng)課程目前的一大現(xiàn)狀。
參考文獻(xiàn):
[1]J M Wing. computational thinking and thinking about computing[EB/OL].2008.
[2]Operationaldefinition of computational thinking for k-12 education[EB/OL].[2012-04-15].http:∥www.iste.org/Libraries/PDFs/Operational_ Definition_of_Computational_thinking.sflb.sahx.
[3]何欽銘,陸漢權(quán),馮博琴.計算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)是計算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》解讀[J].中國大學(xué)教學(xué),2010.
[4]陳鵬,黃榮懷,梁躍,張進(jìn)寶.如何培養(yǎng)計算思維——基于2006~2016年研究文獻(xiàn)及最新國際會議論文[J].現(xiàn)代教育遠(yuǎn)程研究,2018.
作者簡介:
朱玉紅,天津市,天津外國語大學(xué)附屬濱海外國語學(xué)校;
強(qiáng)家虎,天津市,天津市南開區(qū)教育中心;
張?zhí)煺鳎旖蚴?,天津外國語大學(xué)附屬濱海外國語學(xué)校。