張寧
編程教學目前已經成為新課程改革的一個新的重要內容,無論是小學、初中、高中,都已由原來居于本學段較后期的學習走向了前段時期,甚至很多學校在低年級就快速進入編程教學。這其中的原因,有國家政策提倡編程教學的大背景,隨著技術的發(fā)展軟件操作也越來越難以適應信息技術教學現(xiàn)實需求,從而對課程內容、價值定位傾向更有學科特征的編程內容。不論信息技術教材還是課堂教學,編程教學無疑將會成為一道新的信息技術課堂教學的靚麗風景。在這道風景之中,我們如何去欣賞,如何去實踐,如何去總結,都會影響到這道風景的現(xiàn)實魅力與未來發(fā)展。為此,我們很有必要基于編程教學的內容與課堂的教學實踐,來清晰審視如何教、如何學才能達成編程教學的優(yōu)質高效。
不同類型編程教學的優(yōu)質高效價值差異比較
從編程教學的內容類型來看,目前涉及的領域、類型很多,既有新興的圖形化編程、開源硬件編程、手機APP編程、人工智能編程等,也仍然存在著傳統(tǒng)的算法與程序設計、信息學奧賽等編程教學。
從編程工具的種類上來分,中小學涉及的有Scratch、Scraino、VB、C++、Python、java以及開源硬件自帶的編程語言等。不同的編程工具,其效率大不一樣,其價值也很不相同。
不同類型的編程教學內容往往需要不同種類的編程工具,教學的目標、方法、策略也不盡相同,從而影響著課堂教學的優(yōu)質高效價值差異,值得我們在比較中思考。例如,圖形化編程易于培養(yǎng)工程思維和操作技能,代碼編程易于培養(yǎng)算法思想和邏輯能力,而開源設計編程則易于培養(yǎng)學生的產品開發(fā)設計能力,雖然這些能力并不能割裂對待,但是在不同的編程教學工具上有不同的側重,從而決定了編程教學優(yōu)質高效的價值取向,這是值得我們結合教學實踐來進行篩選內容、提升方法才能達成的,尤其是要化繁為簡、突出重點,提高相應的能力,才能讓編程教學的課堂有針對性地達到優(yōu)質高效。
圖形化編程在思維、創(chuàng)意、設計等目標上的優(yōu)質高效價值取向分析
單就圖形化編程來說,在不同的學段,對不同的學生,以及針對當?shù)厍闆r進行的不同的教學水平,在思維、創(chuàng)意、設計等目標上也存在不同的定位,從而影響優(yōu)質高效價值的取向不同。
在圖形化編程中,因為起始于低年級,其學習初期必然更多的是模仿,能夠根據范例進行完成作品、達成計算思維的早期培育,進而稍加修改提高創(chuàng)新能力,因此重在思維方式的編程教學,落實到位、效果明顯應是優(yōu)質高效的價值取向。比如,采取動畫故事、場景設計等范例讓學生在模仿中進行編程思維培養(yǎng)的評價,可以包括范例的完成效率、有無主動地改進等來體現(xiàn)優(yōu)質高效。
到了高年級,比如初中、高中,如果再更多地基于模仿,僅限于圖形化編程工具本身的學習,就很難再談得上是優(yōu)質高效的課堂教學。不論是不是零起點的學生,在學習圖形化編程時,再基于大量的編程知識的學習必然是低效的。高年級的編程應不能再重復軟件教學時的小學、初中、高中教一樣的內容、上一樣的課堂的做法。在初中教學中,如果把圖形化編程作為創(chuàng)意的工具,在實現(xiàn)一些現(xiàn)實事物的表達創(chuàng)意中,比如在虛擬機器人項目、學科問題解決項目中,根據編程技術、算法設計進行相對獨立的自主探索,如何完成編程項目、動手動腦能力的過程表現(xiàn)、創(chuàng)意表達的評價等都可以成為教學優(yōu)質高效的評價點。在高中教學中,圖形化編程盡量不要再作為學習的內容,僅僅是一種工具而已,因為高中學生甚至已經對代碼編程非常了解了,再去系統(tǒng)學習、應用圖形化編程必將帶來思維的倒退。高中在開源設計等方面涉及到圖形化編程,這時就要讓學生根據自查手冊等編程資源,不要局限在編程知識、流程學習,要著力于設計、創(chuàng)新、制造的學習上,因此作品設計的創(chuàng)新性、創(chuàng)造的過程問題解決能力、作品的功能與性能評價等應是優(yōu)質高效的基準。
代碼編程教學在生活算法等方面的優(yōu)質高效價值取向探索
在計算機語言編程教學中,主要是在初中和高中實施代碼編程的教學。
由于代碼編程相比圖形化編程的難度要高,雖然在算法思想上與圖形化編程有一定的繼承性,但是在語法結構、數(shù)據類型、算法編程等方面有相當大的差異。認為有了圖形化編程的基礎就很容易進行代碼編程的觀點是有偏差的。作為相對傳統(tǒng)又更接近計算機設計底層的代碼編程,在課堂效益方面也一直存在一些問題。
中小學信息技術課程已經經歷了幾十年的教育之路,從語言語法學習、算法設計學習等角度進行過探索,目前由于開源硬件的發(fā)展和新型編程語言Python的崛起,我們還是需要借鑒以前的經驗教訓,不盲目重復過去的錯誤。過去,在中學進行編程教學的最大缺陷是從語言語法出發(fā),從數(shù)據類型著手,再接上算法與流程圖,進而是各種算法的教條學習。這樣,一是皮太厚學生啃不動,阻礙學習欲望;二是大量數(shù)學范例沒意思,阻礙技能形成;三是算法與現(xiàn)實生活脫離,為學而學、為考而學,算法教學失去了活力。
在初中,我們就有必要更注重生活算法,讓算法與生活問題相結合,用程序去解決生活中的問題,比如用選擇結構的算法設計智能問題程序、用循環(huán)結構的算法設計大數(shù)據的自動化統(tǒng)計程序,體現(xiàn)出學習編程的價值,從而促進課堂教學的優(yōu)質高效達成。
在高中,我們就有必要從計算思維、問題解決、產品設計等研究創(chuàng)新的角度去開展編程教學,比如通過編程設計自己的小軟件產品體驗編程的價值,再如使用編程研究函數(shù)圖像的關系進行學科研究性學習等。要達到常規(guī)軟件不太常見功能的編程體驗,而不能局限于編程技術本身的學習和常規(guī)程序的演練,具有思維含量并能夠創(chuàng)新的教學才能談得上是優(yōu)質的教育。
總之,不同編程工具在課堂教學中達到優(yōu)質高效需要的教學策略不同,不同年級對相同編程工具進行編程教學達到優(yōu)質高效價值取向定位也很不一樣,這本質上涉及到編程教學理念定位、教學策略的不同,值得我們不斷研究。