劉志超 張楊
教育部辦公廳印發(fā)的《2019年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》中提出,要“推動(dòng)在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育”。隨著國(guó)家相關(guān)文件的出臺(tái),編程教育躍然紙上,作為義務(wù)教育階段的信息技術(shù)教學(xué)研究人員,筆者感受到時(shí)代在召喚,那么義務(wù)教育階段的編程教學(xué)路在何方?
君子務(wù)本,本立而道生
追本溯源,編程教育的育人價(jià)值在哪?我們不妨從編程的本源來(lái)理解。編程就是編定程序,是讓計(jì)算機(jī)代為解決某個(gè)問(wèn)題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過(guò)程。
學(xué)習(xí)編程可以讓學(xué)生更透徹地理解計(jì)算機(jī)是如何工作的,繼而學(xué)生可以利用計(jì)算機(jī)科學(xué)技術(shù)思想和方法分析問(wèn)題,這為學(xué)生適應(yīng)信息社會(huì)的學(xué)習(xí)、工作和生活奠定了堅(jiān)實(shí)的基礎(chǔ)。學(xué)習(xí)編程能夠很好地落實(shí)“提升智育水平,促進(jìn)思維發(fā)展”和“信息技術(shù)核心素養(yǎng)”。一定的運(yùn)算方式可以理解為算法,解決問(wèn)題的算法呈現(xiàn)多樣性的特點(diǎn),多樣性表現(xiàn)為“一題多解”,這就為學(xué)生思維能力的發(fā)展提供了適宜的土壤。愛(ài)因斯坦曾說(shuō)過(guò):“教育的價(jià)值,不在于學(xué)習(xí)很多事實(shí),而在于訓(xùn)練大腦會(huì)思考。知識(shí)當(dāng)然重要,但知識(shí)不是教育的全部?jī)?nèi)容,超越知識(shí)的另一個(gè)維度就是思維能力?!蔽覀円欢ㄒJ(rèn)識(shí)到學(xué)習(xí)編程就是訓(xùn)練大腦會(huì)思考,就是促進(jìn)思維能力發(fā)展這個(gè)方向,只有方向?qū)α耍覀兊呐透冻霾庞袃r(jià)值和意義。
“四有”并舉,促進(jìn)思維發(fā)展
1.有情境
教育是什么?教育不是灌輸,而是點(diǎn)燃與喚醒:點(diǎn)燃學(xué)生的學(xué)習(xí)熱情,喚醒學(xué)生潛在的自我。在編程教學(xué)中,問(wèn)題情境能夠很好地實(shí)現(xiàn)“點(diǎn)燃與喚醒”,而且凸顯了編程解決問(wèn)題的獨(dú)特價(jià)值。學(xué)生在解決問(wèn)題過(guò)程中選擇工具與資源,落實(shí)信息技術(shù)核心素養(yǎng)中的“信息意識(shí)、數(shù)字化學(xué)習(xí)與創(chuàng)新”,并在解決問(wèn)題過(guò)程中投入思考,發(fā)展思維,在情境中學(xué)習(xí),感受學(xué)習(xí)編程就是學(xué)習(xí)生活。
2.有體驗(yàn)
情境中的問(wèn)題是具體的、形象的,解決問(wèn)題需要對(duì)問(wèn)題進(jìn)行抽象與建模,體驗(yàn)就是具體形象與抽象建模之間的橋梁與紐帶。在體驗(yàn)中深入理解問(wèn)題,為問(wèn)題的解決奠定堅(jiān)實(shí)基礎(chǔ),為實(shí)現(xiàn)抽象與建模提供強(qiáng)有力的支撐,讓抽象與建模不再高不可攀、遙不可及,讓信息技術(shù)核心素養(yǎng)中的計(jì)算思維的培養(yǎng)自然而然、水到渠成。
3.有空間
學(xué)生的潛能是無(wú)限的,只要給予學(xué)生思考的空間,學(xué)生會(huì)給我們帶來(lái)別樣的精彩,這點(diǎn)在編程教學(xué)中體現(xiàn)得尤為突出。教師把學(xué)生的思維點(diǎn)燃,學(xué)生在理解問(wèn)題的基礎(chǔ)上,在抽象與建模的模糊狀態(tài)下,迫不及待地想求解問(wèn)題,這時(shí)候?qū)W生需要的就是思維的空間、試錯(cuò)的空間、靜靜地思考的空間。
4.有對(duì)話
對(duì)話是啟發(fā),是碰撞,是升華,是編程教學(xué)將思維引向深入的手段與方式。作為啟發(fā)的師生對(duì)話,是鼓勵(lì),是發(fā)現(xiàn),是潛移默化的引領(lǐng);作為碰撞的生生對(duì)話,是鞭策,是借鑒,是互通有無(wú)的啟迪;作為升華的與思維的對(duì)話,是審視,是成長(zhǎng),是醍醐灌頂?shù)耐ㄍ浮?/p>
“四有”并舉,促進(jìn)思維發(fā)展的實(shí)踐
筆者所在地區(qū)2015年將Scratch納入信息技術(shù)教材,信息技術(shù)教師對(duì)Scratch編程教學(xué)已有一定的思考與實(shí)踐,但受傳統(tǒng)軟件教學(xué)方式的禁錮,還沒(méi)有把握編程教學(xué)的核心與實(shí)質(zhì)。下面,筆者以《棋盤麥?!窞槔龑?duì)“四有”進(jìn)行教學(xué)實(shí)踐,這是對(duì)“四有”的具象化,以此希望更多的教師能夠投入更多的思考與實(shí)踐,為編程教育的全面發(fā)展、編程教學(xué)的穩(wěn)步推進(jìn)以及學(xué)生信息素養(yǎng)的不斷提升貢獻(xiàn)力量。
1.呈現(xiàn)故事,提出問(wèn)題
同學(xué)們,你們聽(tīng)說(shuō)過(guò)《棋盤麥?!返墓适聠幔抗适碌那楣?jié)是這樣的:
古時(shí)候,印度有個(gè)國(guó)王很愛(ài)玩。一天,他對(duì)大臣們說(shuō),希望得到一種玩不膩的玩意兒,誰(shuí)能貢獻(xiàn)給他,將有重賞。
不久,有個(gè)聰明的大臣向他獻(xiàn)上一種棋子,棋盤上有64個(gè)格子,棋子上刻著“皇帝”“皇后”“車”“馬”“炮”等字。下這種棋子,是玩一種變化無(wú)窮的游戲,確實(shí)讓人百玩不厭。國(guó)王就對(duì)那個(gè)聰明的大臣說(shuō):“我要重賞你。說(shuō)吧,你要什么,我都能滿足你?!?/p>
那個(gè)大臣說(shuō):“我只要些麥粒?!?/p>
“麥粒?哈,你要多少呢?”
“國(guó)王陛下,你在第一格棋盤上放1粒,第二格上放2粒,第三格上放4粒,第四格上放8?!者@樣放下去,把64格棋盤都放滿就行了?!?/p>
國(guó)王想:“這能要多少呢?最多幾百斤吧,小意思?!庇谑蔷蛯?duì)管糧食的大臣說(shuō):“你去拿幾麻袋的麥子賞給他吧?!?/p>
故事講到這,你想提出什么問(wèn)題?
學(xué)生不約而同地問(wèn)道:“到底要給多少粒麥子呢?”
在此環(huán)節(jié),教師為學(xué)生創(chuàng)設(shè)問(wèn)題情境,激發(fā)學(xué)生學(xué)習(xí)的積極性,問(wèn)題驅(qū)動(dòng)學(xué)生投入思考。
2.走進(jìn)故事,分析問(wèn)題
其實(shí),這個(gè)游戲就是國(guó)際象棋(如下圖),國(guó)際象棋有64個(gè)格子,那么,我們只要在第一格棋盤上放1粒,第二格棋盤上放2粒,第三格棋盤上放4粒,第四格棋盤上放8?!源祟愅疲?4格棋盤放滿,棋盤上所有的麥粒就是應(yīng)該賞給大臣的。
首先,我們思考,一共放多少次?
其次,我們思考,后一個(gè)格子放的麥粒數(shù)和前一個(gè)格子放的麥粒數(shù)的關(guān)系?
3.嘗試解決,抽象建模
好,我們共同嘗試解決,老師手中的這個(gè)盒子用來(lái)放麥粒,老師叫到哪位同學(xué),哪位同學(xué)就往盒子里扔麥粒(只要說(shuō)出扔的麥粒數(shù)即可),其他同學(xué)判斷這位同學(xué)扔的麥粒數(shù)是否正確,如果正確,算出盒子里的麥粒數(shù)。第一位同學(xué),扔1粒,那么盒子里有1粒麥子。第二位同學(xué),扔2粒,對(duì)不對(duì)?那么盒子里有幾粒麥子?……扔的同學(xué)很容易把握規(guī)律,就是前一位同學(xué)麥粒數(shù)的2倍,當(dāng)扔到一定數(shù)量時(shí),計(jì)算的同學(xué)發(fā)現(xiàn)沒(méi)法計(jì)算了,因?yàn)閿?shù)量太大了,那么怎么辦呢?
有的學(xué)生說(shuō)可以用紙筆計(jì)算,有的學(xué)生說(shuō)可以用計(jì)算器計(jì)算,教師讓學(xué)生嘗試用想到的方法計(jì)算,最終大家都說(shuō)數(shù)量太大,用這些方式都不好計(jì)算。
同學(xué)們,回顧剛剛?cè)欲溩拥倪^(guò)程,不難發(fā)現(xiàn),我們重復(fù)地往盒子里扔麥子,只是每次扔的數(shù)量在發(fā)生變化,而且數(shù)量變化是有規(guī)律的,我們想一想解決這種簡(jiǎn)單重復(fù)的問(wèn)題,什么工具最擅長(zhǎng)?對(duì)了,Scratch啊,計(jì)算機(jī)的計(jì)算速度是我們?nèi)祟悷o(wú)法企及的,我們可以通過(guò)程序讓計(jì)算機(jī)幫助我們解決這個(gè)問(wèn)題??!
在此過(guò)程中,學(xué)生在體驗(yàn)中深入思考,理解問(wèn)題的本質(zhì),學(xué)生被引向?qū)唧w問(wèn)題的抽象,對(duì)問(wèn)題進(jìn)行初步、模糊的建模。
4.算法運(yùn)用,求解問(wèn)題
教師請(qǐng)學(xué)生啟動(dòng)Scratch,開(kāi)動(dòng)腦筋,嘗試解決問(wèn)題,學(xué)生全神貫注地投入思考,嘗試運(yùn)用合理算法解決問(wèn)題,同時(shí),教師引導(dǎo)學(xué)生進(jìn)行討論,交換思想。漸漸地,有學(xué)生舉手示意問(wèn)題解決了,教師引導(dǎo)學(xué)生通過(guò)讀程序的方式檢驗(yàn)自己的程序:第一次循環(huán),麥粒數(shù)是多少?麥子總數(shù)是多少?第二次循環(huán)……讀著讀著,學(xué)生就發(fā)現(xiàn)自己程序的問(wèn)題了。教師為學(xué)生提供一個(gè)檢驗(yàn)自己程序的思路,同時(shí)也將學(xué)生的思維引向深入,在讀程序過(guò)程中,學(xué)生一次又一次發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,進(jìn)而發(fā)展了思維。
再次舉手示意的學(xué)生,一定是已經(jīng)解決問(wèn)題的學(xué)生,他們?cè)谶\(yùn)用合理算法求解問(wèn)題的過(guò)程中建模,發(fā)展計(jì)算思維。
在此環(huán)節(jié),學(xué)生開(kāi)動(dòng)腦筋,傾情投入,大膽嘗試,在對(duì)話中,深入思考,運(yùn)用各種算法解決問(wèn)題,收獲成功的喜悅。
5.價(jià)值體認(rèn),情感升華
當(dāng)學(xué)生發(fā)現(xiàn)應(yīng)該給的麥粒數(shù)如此龐大時(shí),教師提問(wèn):“如果你是國(guó)王,你給不給?”學(xué)生的回答五花八門、千奇百怪,但總體上學(xué)生認(rèn)為不給,因?yàn)榻o不起。教師引導(dǎo)學(xué)生齊背“社會(huì)主義核心價(jià)值觀”,同時(shí)強(qiáng)調(diào)社會(huì)主義核心價(jià)值觀對(duì)個(gè)人層面有哪些要求,指向“誠(chéng)信”的個(gè)人層面核心價(jià)值為學(xué)生提供正向的思考,踐行社會(huì)主義核心價(jià)值觀是我們每個(gè)公民的義務(wù)。師生達(dá)成共識(shí):必須給!
6.智慧碰撞,思維發(fā)展
教師追問(wèn):“那怎么給呢?”
有的學(xué)生說(shuō)“分期付款”,有的學(xué)生說(shuō)“給種子”,有的學(xué)生說(shuō)“讓大臣自己制作棋盤,裝多少,給多少”……
教師呈現(xiàn)故事的結(jié)局。
管糧食的大臣說(shuō):“請(qǐng)您下令打開(kāi)糧倉(cāng),然后請(qǐng)獻(xiàn)棋的大臣自己一粒一粒地?cái)?shù)出那些麥子就行了?!?/p>
“那么要數(shù)多長(zhǎng)時(shí)間呢?”
管糧食的大臣計(jì)算了一下說(shuō):“假設(shè)每秒鐘能數(shù)2粒麥子的話,他每天數(shù)上12小時(shí),就是43200秒,數(shù)上10年才能數(shù)出20立方米,要數(shù)完那個(gè)數(shù)目將需要2900億年呢。他能活多少年呢?再說(shuō),枯燥的生活能折磨人,他這樣下去豈不要短壽?因此我想,他的本意并不是想要得到那些不可能得到的麥粒,他只是試試有沒(méi)有比他更聰明的人罷了。”
國(guó)王大喜,夸獎(jiǎng)道:“看來(lái),至少你比他還要聰明呢!智慧人物治理國(guó)家,國(guó)家才能興旺發(fā)達(dá)。我決定提拔你倆當(dāng)我的左右宰相!”
這是一次智慧與智慧的對(duì)話,這是一次思維與思維的碰撞,在這樣的過(guò)程中,學(xué)生收獲思維的發(fā)展、品格的形成、能力的提高。
結(jié)束語(yǔ)
隨著人工智能時(shí)代的到來(lái),編程教育與編程教學(xué)迎來(lái)了前所未有的發(fā)展機(jī)遇,也給我們信息技術(shù)人帶來(lái)了的前所未有的挑戰(zhàn),大浪淘沙沉者為金,編程教育的回歸彰顯其育人價(jià)值,促進(jìn)學(xué)生思維發(fā)展,為學(xué)生的人生奠基。