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