高燕
摘要:本文是關(guān)于計(jì)算思維培養(yǎng)的一個(gè)教學(xué)研究案例,該教學(xué)案例凝聚了作者在教學(xué)中對(duì)學(xué)生計(jì)算思維培養(yǎng)的思考與實(shí)踐體會(huì),希望能對(duì)在進(jìn)行計(jì)算思維培養(yǎng)的教學(xué)研究實(shí)踐的廣大高中信息技術(shù)一線教師有所啟發(fā)與幫助。
關(guān)鍵詞:計(jì)算思維;Python語(yǔ)言;任務(wù)驅(qū)動(dòng);自主探究
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2019)02-0054-03
● 研究背景
1.計(jì)算思維與高中信息技術(shù)課程
隨著信息技術(shù)的高速發(fā)展,高中信息技術(shù)課程迎來(lái)新一輪的改革?!坝?jì)算思維”的提出為尋覓改革思路的高中信息技術(shù)課程打開了一扇希望之門。計(jì)算思維是曾任美國(guó)卡內(nèi)基·梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任的周以真(Jeannette M. Wing)[1]于2006年3月提出的。周教授認(rèn)為:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì),以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。
2011年,國(guó)際教育技術(shù)協(xié)會(huì)(ISTE)和計(jì)算機(jī)科學(xué)教師協(xié)會(huì)(CSTA)對(duì)計(jì)算思維這一概念進(jìn)行了進(jìn)一步的闡釋,并給出了一個(gè)操作性的定義,指出計(jì)算思維是一個(gè)用來(lái)解決問(wèn)題的過(guò)程,包括(但不限于)以下步驟:(1)制訂問(wèn)題,并能夠利用計(jì)算機(jī)和其他工具來(lái)幫助解決該問(wèn)題;(2)邏輯化地組織和分析數(shù)據(jù);(3)通過(guò)抽象(如模型、仿真等)再現(xiàn)數(shù)據(jù);(4)能通過(guò)算法思想(一系列有序的步驟)來(lái)支持自動(dòng)化解決方案;(5)識(shí)別、分析、實(shí)施可能的解決方案,同時(shí)結(jié)合上述步驟和資源,找到最有效的解決方案;(6)將該問(wèn)題的解決過(guò)程推廣并遷移到更廣泛的問(wèn)題中。[2]
2.Python語(yǔ)言與中小學(xué)信息技術(shù)課程
Python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,目前已經(jīng)成為繼Java、C++之后的第三大語(yǔ)言。相比C++或Java,Python是一門非常具有人文情懷的編程語(yǔ)言,簡(jiǎn)單易學(xué),語(yǔ)法優(yōu)雅,適合新手入門使用。Python語(yǔ)言課程化也將成為中小學(xué)生學(xué)習(xí)的一種趨勢(shì)。未來(lái)將是大數(shù)據(jù)和人工智能的時(shí)代,面對(duì)將會(huì)出現(xiàn)的大量數(shù)據(jù)處理,Python有著得天獨(dú)厚的優(yōu)勢(shì)。未來(lái)是人工智能的時(shí)代,更是Python的時(shí)代,孩子要想在未來(lái)?yè)碛谢镜木幊碳寄?,Python是其必須掌握的語(yǔ)言。
在這樣的大趨勢(shì)下,高中信息技術(shù)教材也將變成以編程為主的全新教材。信息技術(shù)教師也開始著手學(xué)習(xí)Python語(yǔ)言。以下是筆者在南京市信息技術(shù)教研活動(dòng)中開設(shè)的一堂Python程序設(shè)計(jì)研究課——奇妙的繪圖教學(xué)設(shè)計(jì)和教學(xué)反思。
● 基于計(jì)算思維培養(yǎng)的教學(xué)設(shè)計(jì)
“教學(xué)設(shè)計(jì)需要做的第一件事就是前期分析,第二件事是根據(jù)前期分析得出的學(xué)習(xí)需求寫出教學(xué)目標(biāo),第三件事是設(shè)計(jì)教學(xué)策略?!盵5]筆者這堂課的教學(xué)設(shè)計(jì)從以下兩點(diǎn)進(jìn)行定位與設(shè)計(jì)。
1.從學(xué)情中定位教學(xué)設(shè)計(jì)
對(duì)現(xiàn)在的高中學(xué)生來(lái)說(shuō)Python是一門全新的程序設(shè)計(jì)語(yǔ)言。部分高中學(xué)生在小學(xué)階段學(xué)習(xí)過(guò)Logo語(yǔ)言,在初中階段學(xué)習(xí)過(guò)VB語(yǔ)言。Python是簡(jiǎn)單易學(xué)的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,第一節(jié)Python程序設(shè)計(jì)課,筆者認(rèn)為以學(xué)生原有的程序基礎(chǔ),只要稍加引導(dǎo)就可以入門。
在Python中從哪里著手帶學(xué)生入門呢?筆者前期一直在學(xué)習(xí)Python,在學(xué)習(xí)的過(guò)程中發(fā)現(xiàn)Python中turtle庫(kù)即繪圖模塊恰是學(xué)生學(xué)習(xí)Python的最佳“入”點(diǎn),另外海龜作圖最早源自Logo語(yǔ)言,學(xué)生小學(xué)階段有過(guò)Logo語(yǔ)言的學(xué)習(xí)經(jīng)歷,所以筆者認(rèn)為從繪圖出發(fā)學(xué)習(xí)Python更易點(diǎn)燃學(xué)生對(duì)Python的學(xué)習(xí)興趣?;谝陨系膶W(xué)情分析,筆者將第一節(jié)Python教學(xué)設(shè)計(jì)確定為“從奇妙的繪圖開始初識(shí)Python”。
在新課導(dǎo)入環(huán)節(jié),筆者先讓學(xué)生觀看一個(gè)利用Python語(yǔ)言編寫的繪圖小程序(如圖1)。該繪圖程序可根據(jù)選項(xiàng)繪制出正多邊形、多個(gè)圓形、螺旋形狀等圖形,以此喚起學(xué)生在Logo語(yǔ)言中海龜作圖的學(xué)習(xí)經(jīng)歷,然后向?qū)W生簡(jiǎn)單介紹Python語(yǔ)言的由來(lái)及當(dāng)下應(yīng)用領(lǐng)域,激發(fā)學(xué)生對(duì)Python的學(xué)習(xí)欲望,引出本節(jié)課的學(xué)習(xí)內(nèi)容——從海龜作圖初識(shí)Python語(yǔ)言。
2.任務(wù)驅(qū)動(dòng)與自主探究并行的教學(xué)策略
在中小學(xué)的課堂教學(xué)中,任務(wù)驅(qū)動(dòng)與自主探究一直是非常受一線教師歡迎的教學(xué)方法。對(duì)于這節(jié)課的知識(shí)內(nèi)容,高中學(xué)生完全可以在教師的引導(dǎo)與啟發(fā)下自學(xué)完成。如何有效地推動(dòng)學(xué)生在課上自主探究?筆者采用任務(wù)驅(qū)動(dòng)與自主探究并行的教學(xué)方法,幫助學(xué)生學(xué)習(xí)新知識(shí)。
首先,“牛刀小試”環(huán)節(jié),要求學(xué)生運(yùn)用英語(yǔ)知識(shí)讀一讀如圖2所示的三行程序,并思考3個(gè)問(wèn)題:①海龜是如何出現(xiàn)的?②海龜執(zhí)行了什么動(dòng)作?③程序的運(yùn)行結(jié)果是什么?學(xué)生可以相互討論,大膽地說(shuō)出自己的想法。然后教師向?qū)W生演示每行語(yǔ)句的執(zhí)行結(jié)果,以驗(yàn)證學(xué)生的想法,加深學(xué)生對(duì)Python中turtle模塊的引入初始化語(yǔ)句的理解。
接下來(lái)進(jìn)入挑戰(zhàn)任務(wù)環(huán)節(jié),在每一個(gè)挑戰(zhàn)任務(wù)環(huán)節(jié)中要求學(xué)生自主學(xué)習(xí)學(xué)案中提供的學(xué)習(xí)幫助手冊(cè),自主探究嘗試完成每一個(gè)挑戰(zhàn)任務(wù)。
挑戰(zhàn)任務(wù)1:驗(yàn)證想法。
自主探究:繪制正方形。
鼓勵(lì)學(xué)生:嘗試正五邊形、正六邊形的繪制。
挑戰(zhàn)任務(wù)2:簡(jiǎn)化程序。
啟發(fā)學(xué)生:在順序結(jié)構(gòu)的繪制正方形程序中,運(yùn)用什么程序結(jié)構(gòu)更簡(jiǎn)便?
自主探究:運(yùn)用for語(yǔ)句編寫一個(gè)圍繞畫布中心繪制12個(gè)圓的圖案。
挑戰(zhàn)任務(wù)3:修改程序。
啟發(fā)學(xué)生:觀察螺旋圖中海龜?shù)倪\(yùn)行軌跡,是什么值發(fā)生著改變?
自主探究:修改繪制正方形的程序?qū)崿F(xiàn)螺旋效果,可自由創(chuàng)作。
這節(jié)程序設(shè)計(jì)課,筆者對(duì)挑戰(zhàn)任務(wù)的設(shè)計(jì)環(huán)環(huán)相扣,任務(wù)難度逐層遞進(jìn),學(xué)生在每一個(gè)挑戰(zhàn)任務(wù)的自主探究過(guò)程中只要稍加努力地“跳一跳”,就能獨(dú)立完成,部分能力強(qiáng)的學(xué)生,在挑戰(zhàn)任務(wù)完成的基礎(chǔ)上自學(xué)“學(xué)習(xí)幫助手冊(cè)”中的函數(shù)與方法,進(jìn)一步創(chuàng)新。整節(jié)課學(xué)習(xí)氛圍濃郁,學(xué)生整體參與度高。在整個(gè)教學(xué)過(guò)程中教師并沒(méi)有向?qū)W生演示如何寫Python代碼,學(xué)生都是在教師的引導(dǎo)與自主探究中完成學(xué)習(xí)任務(wù)。
● 對(duì)培養(yǎng)學(xué)生計(jì)算思維的思考
1.在任務(wù)驅(qū)動(dòng)中對(duì)學(xué)生計(jì)算思維的培養(yǎng)
Python只是培養(yǎng)學(xué)生計(jì)算思維的一個(gè)平臺(tái)。筆者設(shè)計(jì)的一系列環(huán)環(huán)相扣的挑戰(zhàn)任務(wù)都是立足于學(xué)生計(jì)算思維的培養(yǎng)。例如,從開始“牛刀小試”環(huán)節(jié)讓學(xué)生讀三行程序語(yǔ)句,到教師親自驗(yàn)證每一條程序語(yǔ)句執(zhí)行結(jié)果,其目的是先讓學(xué)生理解Python是如何實(shí)現(xiàn)繪圖的。學(xué)生完全理解了這三行重要語(yǔ)句的使用后,就能很快燃起繪圖的興趣,激發(fā)思維,嘗試使用繪圖中各種方法進(jìn)行作圖。當(dāng)教師讓學(xué)生繪制正方形時(shí),學(xué)生能很快上手,甚至能很快繪制出各種各樣的正多邊形。學(xué)生在用程序繪制各種正多邊形的過(guò)程中,會(huì)很自然地發(fā)現(xiàn)不斷重復(fù)的語(yǔ)句,憑借原有的程序?qū)W習(xí)經(jīng)驗(yàn),他們會(huì)很自然地聯(lián)想到用循環(huán)語(yǔ)句來(lái)簡(jiǎn)化程序;而此時(shí)教師的作用就是把Python中適合解決這類問(wèn)題的for循環(huán)語(yǔ)句教給學(xué)生,告訴學(xué)生for循環(huán)語(yǔ)句使用的方法及格式使用的注意事項(xiàng)。學(xué)生會(huì)很積極地嘗試使用for循環(huán)語(yǔ)句改寫程序,在改寫程序中掌握f(shuō)or循環(huán)語(yǔ)句的結(jié)構(gòu)和語(yǔ)法格式,然后再去挑戰(zhàn)新的任務(wù)。
2.在自主探究中培養(yǎng)學(xué)生的計(jì)算思維
課堂教學(xué)過(guò)程中筆者沒(méi)有向?qū)W生演示如何寫Python代碼,整個(gè)教學(xué)過(guò)程中學(xué)生都是在筆者的啟發(fā)教學(xué)下自主探究完成環(huán)環(huán)相扣的挑戰(zhàn)任務(wù)。例如,在繪制螺旋圖的挑戰(zhàn)任務(wù)中,筆者讓學(xué)生觀察三幅螺旋圖,啟發(fā)學(xué)生觀察螺旋圖中海龜?shù)倪\(yùn)行軌跡,是什么值發(fā)生著改變,學(xué)生在自主探究中會(huì)發(fā)現(xiàn)是海龜直行的步長(zhǎng)及轉(zhuǎn)角的度數(shù)影響了它的運(yùn)行軌跡;這時(shí)筆者再將繪制正方形的for循環(huán)語(yǔ)句提出讓學(xué)生修改,學(xué)生在自主探究中會(huì)很快想到將循環(huán)變量x的值作為海龜直行的步長(zhǎng),即forward(x)。在這樣的啟發(fā)教學(xué)和學(xué)生自主探究學(xué)習(xí)中,教師一步一步引導(dǎo),學(xué)生在自主探究中解決一個(gè)一個(gè)環(huán)環(huán)相扣的挑戰(zhàn)任務(wù),逐漸提升解決問(wèn)題的能力,這種提升解決問(wèn)題的能力的過(guò)程就是計(jì)算思維培養(yǎng)的過(guò)程。在教學(xué)過(guò)程中筆者如果發(fā)現(xiàn)學(xué)生寫的程序有錯(cuò),會(huì)將程序錯(cuò)誤的問(wèn)題拋給全班學(xué)生,讓全班學(xué)生一起糾錯(cuò),在這樣的學(xué)習(xí)氛圍下,學(xué)生對(duì)知識(shí)的理解會(huì)更加深刻。
● 總結(jié)
培養(yǎng)學(xué)生計(jì)算思維已成為新課改下高中信息技術(shù)課程的核心素養(yǎng)。對(duì)學(xué)生計(jì)算思維的培養(yǎng)需要教師在教學(xué)實(shí)踐中不斷摸索、研究。未來(lái)是大數(shù)據(jù)和人工智能的時(shí)代,當(dāng)下的教育工作者們要及時(shí)轉(zhuǎn)變思想,深刻地認(rèn)識(shí)到我們培養(yǎng)的不是信息技術(shù)的應(yīng)用者,而是具有計(jì)算思維的跨時(shí)代的新人。
參考文獻(xiàn):
[1]Jeannette M. Wing.Computational Thinking[J].Communications of the ACM,2006,49(3):33-35.
[2]郭守超,周睿,鄧常梅,等.基于App Inventor和計(jì)算思維的信息技術(shù)課堂教學(xué)研究[J].中國(guó)電化教育,2014(3):91-96.
[3]朱亞宗.論計(jì)算思維——計(jì)算思維的科學(xué)定位、基本原理及創(chuàng)新路徑[J].計(jì)算機(jī)科學(xué),2009(4):53-55+93.
[4]李藝,鐘柏昌.基礎(chǔ)教育信息技術(shù)課程標(biāo)準(zhǔn):起點(diǎn)、內(nèi)容與實(shí)施[J].中國(guó)電化教育,2012(10):23-27.
[5]李冬梅.信息技術(shù)教學(xué)的關(guān)鍵環(huán)節(jié)之一——教學(xué)設(shè)計(jì)[J].中小學(xué)信息技術(shù)教育,2009(3):19-21.
[6]李藝.信息技術(shù)課程的教學(xué)策略與案例[M].北京:高等教育出版社,2006.