孫穎燕
《江蘇省義務教育信息技術課程綱要(2017年修訂)》指出,課程實施要以學生為中心。教師要使用多元的教學策略,為學生創(chuàng)設真實的問題和情境。教師應當站在兒童的立場思考學生需要什么、學生的潛在誤解可能是什么,從而決定“教什么”;思考兒童與成人學習特征的差異,決定“如何教”。下面,筆者以《生活中的算法》一課為例,嘗試從兒童的立場挖掘教學目標,以結(jié)果為導向展開教學,以求達到良好的教學效果。
● 案例解析
1.“算法是什么?”
對于作為開放性命題的《生活中的算法》一課,每位教師都會有不同的解讀。百度百科對算法的定義是:“算法指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機制?!惫P者嘗試進行生活化的解讀,即將生活中的算法解讀為生活中解決問題的策略。經(jīng)典算法有排序算法、查找算法、冒泡排序、二分查找等,但其難度不低,僅用一節(jié)課的時間來理解并應用,顯然不適合五年級的學生(他們才開始學習程序設計,對模塊化編程還處在一知半解的階段)。于是,筆者想到了學生都喜歡的一個游戲——石頭剪刀布?!笆^剪刀布”游戲就是算法,解決的是學生常常遇到的隨機選擇問題。這個案例也恰好可以說明生活中處處是算法,算法并不只是數(shù)學課上的運算,這種對算法的感性認識是學生迫切需要的。于是,筆者從“石頭剪刀布”游戲入手,設計了《生活中的算法》一課。
2.“流程圖,我不會畫……”
筆者將教學目標制訂為:感受算法在生活中的表現(xiàn)形式,形成對算法的感性認識。能用語言描述石頭剪刀布的機制,再用表格窮舉每一種情況和結(jié)果,在根據(jù)表格繪制流程圖后,在圖形化編程軟件中呈現(xiàn)結(jié)果。
在課堂教學中,學生從文字描述到表格列舉進行得都比較順利,基本都能將表格填寫完整。如圖1所示,如果直接以這張表格為基礎畫流程圖,會比較煩瑣。為了簡化流程圖,筆者引導學生對表格進行了優(yōu)化,如圖2所示。由于多數(shù)學生都能看懂簡化后的表格,于是筆者出示了流程圖,如下頁圖3所示。
此時,問題出現(xiàn)了。學生對流程圖的了解差距很大,有的學生很快就完成了流程圖,有的學生則一頭霧水,最終有半數(shù)的學生沒有完成這項任務。完成任務的學生在匯報時也遇到了瓶頸:不知如何“讀”出流程圖。由于在這里耗費了許多時間,后面的教學任務也沒有完成,筆者的第一次試上以失敗告終。
回顧整節(jié)課,最大的問題還是沒有站在學生的角度去思考學習的最佳路徑。對學生來說,生活中描述算法最常用的方式是語言描述,但筆者對語言的描述并沒有加以細化,弱化了語言、表格、文字之間的聯(lián)系。另外,筆者在難點“算法的優(yōu)化”這一步?jīng)]有從文字開始就加以強調(diào),學生對優(yōu)化后的算法描述沒有深入認識;在基礎并未打好的情況下,對學生真正需要學習的弱項“流程圖”沒有給予講解就急于繪制;而這樣困難的任務筆者仍然讓學生獨立完成,沒有進行小組合作學習……了解到問題所在后,筆者對教學流程進行了修改并嘗試了第二次試上。
這一次,筆者從語言描述開始就滲透“如果……否則……”的邏輯,從文字的每一句到表格的每一行,都讓學生用更靠近計算機語言的方式來描述。此外,筆者將學生分成兩人一組,每一個任務都在小組內(nèi)完成。學生填寫完表格后,筆者也進行了詳細的引導。
師:文字描述可以優(yōu)化、精簡,表格可以嗎?這種表格哪里可以優(yōu)化呢?
生:根據(jù)文字描述,我們可以把平手的那3行合并起來。
師:(出示優(yōu)化后的表格)是這樣嗎?
生:是,因為結(jié)果一樣,而且過程類似,所以可以合并。
師:不管是文字還是圖表,我們都要力求更優(yōu)。如果要從表格直接寫成程序,有點困難?!傲鞒虉D”可以作為一個橋梁來使用,它更符合程序的邏輯。(出示如圖4所示流程圖)
在流程圖里,用圓角矩形表示開始和結(jié)束,用菱形框表示判斷,在菱形框里寫上判斷的條件。判斷一般有兩種結(jié)果:符合條件、不符合條件。我們用平行四邊形表示輸出。舉個例子,對于要不要帶鞋套的問題,你能用剛才讀表格的方法讀一讀這個流程圖嗎?
生:如果明天下雨,那么需要帶傘,否則不帶。
師:現(xiàn)在難度升級,你們小組能把優(yōu)化部分的表格轉(zhuǎn)換成流程圖嗎(如圖5)?
師生討論,填寫優(yōu)化部分,并用“如果……否則……”的邏輯讀出流程圖。
這一次試上學生能夠順利地完成流程圖任務,并展示交流。在圖形化編程軟件中,也能夠借助流程圖完成程序,展示成品。
3.“再厲害的算法也是我們寫的!”
如果學生對算法的認識只停留于“石頭剪刀布”的游戲,那這節(jié)課反而把學生的視野縮小了。于是,筆者對“石頭剪刀布”游戲進行了拓展。
師:大家剛才測試游戲,勝率如何?想不想做“常勝將軍”?正好小貓寫了一個算法,愿意接受挑戰(zhàn)嗎?操作員操作,記錄員記錄,提示語:知己知彼,百戰(zhàn)不殆。
學生打開“小貓的挑戰(zhàn)”小程序,開始比賽。
師:你有什么獲勝竅門?
生:我發(fā)現(xiàn)小貓是有規(guī)律的,只要摸清了規(guī)律,就可以贏了。規(guī)律是:石頭、石頭、剪刀、布、布,這樣循環(huán)下去。
師:果然印證了我們這句話——“知己知彼,百戰(zhàn)不殆”。通過學習,我們可以摸清楚對手的規(guī)律,提高勝率??墒牵阌袥]有想過,貓也會學習你的出拳規(guī)律呢?算法也會學習,算法的學習叫做“機器學習”,它是人工智能的核心。阿爾法圍棋(AlphaGo)是第一個擊敗圍棋世界冠軍的人工智能機器人,它的主要工作原理就是機器學習。你認為人類大腦和機器學習算法哪個更厲害呢?
生1:我認為算法更厲害,因為它算得更快,能贏圍棋冠軍。
生2:我認為人類更厲害,因為人類可以寫出更厲害的算法去打敗算法。
師:是的,算法很強,但是再好的算法,也是人類寫出來的。今后算法之路怎么發(fā)展,還得看你們的表現(xiàn)。
● 案例反思
1.探童心,擇童趣
開放性課題的情境設計究其根本,還是在探討“教什么”“為什么要教”。在課前學生對“算法”這一概念是模糊的,甚至是有誤的。從這樣的學情出發(fā),教師應該在讓學生知道算法的準確定義后還能引導其看到算法最樸實的一面,讓學生能在下課后、在生活中找到算法的影子,即在生活中,算法存在于哪里,運用到哪里,如何優(yōu)化算法提高效率。教師在組織教學內(nèi)容時,應覆蓋這些方面,再從中選擇教學重點,引導學生體驗、經(jīng)歷與思考等。具體的案例不妨到學生中間去找,到他們感興趣的游戲、書本、話題里去找,站在兒童的角度,找到他們感興趣的算法。
2.思童心,擇童徑
教師在思考“怎么教”時,不妨換個角度,剖析自己是如何學習的,進而感受學生的學習路徑。在組織教學時,筆者常常會思考:如果我是學生,怎么學會比較舒服?最合適的教學流程恰恰是最優(yōu)的學習過程。教師作為學生的引路人,需要靠近學生的童心,為學生制訂高效的學習路徑,讓領悟和收獲真正發(fā)生,讓學生在學習中不走彎路,少走彎路,獲得真正的理解。
3.感童心,展童眼
《江蘇省義務教育信息技術課程綱要(2017年修訂)》指出,信息技術課程內(nèi)容的選擇要體現(xiàn)基礎性和時代性,應充分發(fā)揮信息技術本身的優(yōu)勢,拓展學生的視野和活動范圍,促進他們參與信息化社會活動,了解與體驗現(xiàn)代信息技術發(fā)展的最新成果。所以,筆者設計了“人機對戰(zhàn),感受AI”活動,讓學生的學習突破游戲的小框架,引導學生在活動中感知人工智能中機器學習的內(nèi)涵,了解相關原理,進一步加深學生對算法的理解和思考。
信息技術課堂不能止步于概念和技能的講授,應站在兒童的立場思考“為何教”“教什么”“如何教”,在潤物細無聲中,讓學生習得知識,發(fā)展思維,感受信息技術的魅力所在。