王園一
隨著人工智能技術的發(fā)展,人們越來越多地在日常生活、工作和學習中使用智能技術與設備。但作為中小學生,不能僅僅停留在使用智能技術與設備的層面,而是應該努力成為智能技術與設備的創(chuàng)造者,在理解、設計和建造一個新系統(tǒng)的創(chuàng)造性過程中獲得信息技術知識,發(fā)展信息技術能力,培養(yǎng)計算思維。編程教育作為計算思維發(fā)展的主要載體和發(fā)展路徑,其教學質量直接關系到高中生計算思維的培養(yǎng)質量。下面,筆者就結合具體教學案例談一談指向計算思維培養(yǎng)的高中Python語言教學策略。
增加趣味,喚起Python語言學習動機
程序設計教學中備受批判的是耗時耗力的代碼學習,學生需要在標點格式、變量、三大結構等語法內容上花費大量的時間,這容易導致他們產(chǎn)生畏懼心理,自然也就喪失學習興趣,不愿意再繼續(xù)學習編程。因此,在高中Python語言教學的導入環(huán)節(jié)中,教師要弱化Python語言語法的講解,通過各種教學方法增加Python語言的趣味性,讓學生在體驗中感知Python程序的奧妙,進而產(chǎn)生濃厚的學習動機,并快速理解程序思想。
例如,教師可以讓學生先體驗一些Python語言小程序,學生在閱讀程序和分析程序的過程中會自然產(chǎn)生進一步探究Python語言的學習動機。而在講解判斷語句的內容模塊時,教師可以將隨機抽學生姓名的程序引入教學,讓抽中的學生來閱讀和分析程序。在此基礎上,再拋出猜數(shù)游戲,讓學生通過游戲來分析程序語言的結構,引出學習主題——程序判斷結構,避免過多地講解random模塊本身。
聯(lián)系生活,真實情境發(fā)展計算思維
高中Python語言教學要立足學生的生活,從他們生活的真實世界中去尋找編程教育的應用點。筆者在信息技術教學活動中發(fā)現(xiàn),很多教師在講授Python語言時,往往是通過舉例、想象和假設等方式創(chuàng)設簡單的問題情境,這樣的情境雖然能夠與教學內容相呼應,但卻脫離了學生的真實生活,是虛假和無現(xiàn)實意義的。Python語言教學情境的設計在教學過程中占有非常重要的位置,教師應從實際生活出發(fā)將Python語言學習結合到學生有興趣的實際生活之中。
例如,教師在講解turtle模塊時將其與學生真實生活聯(lián)系起來。生活中有很多繪圖的場景都可以用來講解程序結構,因此,筆者在創(chuàng)建繪圖情境時,選擇了規(guī)劃無錫地鐵線路的問題情境,通過要求給繪圖界面添加背景圖的方式,將繪圖與無錫地鐵線路規(guī)劃相結合,使用turtle繪圖中的命令完成無錫地鐵線路規(guī)劃。在筆者給出的程序案例中,已經(jīng)寫好了程序主體部分,核心的繪圖過程則需要學生在分析的基礎上結合turtle繪圖來完成。因為該程序不再是某個虛擬任務,而是與學生所在城市的地鐵規(guī)劃聯(lián)系在一起,自然就喚起了學生的學習興趣,也鍛煉了學生在真實情境中進行抽象的能力。
激發(fā)思考,引導學生發(fā)展計算思維
高中信息技術學科教學不能停留在講授日常各種辦公軟件的操作與使用上,還應引導學生理解技術背后的原理,特別是發(fā)展學生的計算思維和創(chuàng)造能力,讓學生能夠使用計算的眼光觀察現(xiàn)實世界,使用計算視角思考現(xiàn)實世界,使用計算語言表達現(xiàn)實世界。因此,高中Python語言教學不僅要關注學生獲得的編程知識與技能,而且要引導學生深入思考,從而不斷培養(yǎng)計算思維。計算思維的形成不是一蹴而就的,它是學生在學習過程中慢慢形成的,教師應該引導學生主動思考自己解決了什么問題,是怎么解決的,使用的是什么方法,從而對自己的學習過程和學習結果進行反思、調整,以提升學習效率,并能夠對自己在學習過程中所形成的思維方法進行整理,形成更加系統(tǒng)化的計算思維,以便解決更多的類似的問題。教師要在課前精心準備問題,課中向學生提問,引導學生,刺激學生去思考,學生根據(jù)教師所提出的問題,通過分析、討論等一步一步地進入深層次的學習。
例如,Python提供了一個繪圖模塊turtle,很多教師喜歡通過turtle繪圖講解Python語言。但如果長時間學習turtle繪圖,很容易讓學生誤認為Python課就是程序繪畫課。教師講授Python語言本質上應該是教會學生理解“計算機是如何思考的”,應該指向學生計算思維的培養(yǎng)。因此,在turtle繪圖模塊教學中,教師應該著重對計算機程序設計的結構本質進行細致剖析,一行一行地繪制正方形體現(xiàn)的是程序的順序執(zhí)行,而使用循環(huán)結構繪制正方形體現(xiàn)的則是程序的循環(huán)思想。教師可以淡化對繪圖輔助工具等方面的教學,更多的是要透過turtle繪圖模塊實現(xiàn)思維從抽象到自動化的進階。
經(jīng)歷過程,問題解決培養(yǎng)計算思維
高中Python語言學習不能僅依靠教師講授,重要的是要讓學生經(jīng)歷完整的問題解決過程。只有利用Python語言解決實際生活中的問題,學生才會在分析問題、設計解決方案、調試解決方案和反思總結過程中真正地使思維水平得到進階發(fā)展。當面對復雜的實際技術問題時,需要一種務實的思維方式,如計算思維等。在學習Python語言時,高中生就是在經(jīng)歷真實問題解決過程中的抽象、模式識別、自動化和調試等過程,自然也就理解和內化了計算思維。當然,學生經(jīng)歷真實問題解決過程不是教師放任不管,而是在結構化的指導與支持下讓學生進行有意義的計算思維建構。
例如,圍繞真實情境,教師要求學生以好朋友即將來到學生所在的城市游玩,希望體驗無錫美食文化為故事背景,幫助朋友在美食地圖中找到一條無錫美食路線。學生參考美食地圖,自主設計、規(guī)劃出美食路線圖,并分析借助Python如何解決這一問題。學生通過觀察代碼、運行程序、調整參數(shù)等方式,探究turtle繪圖模塊的常用指令的功能;通過對繪圖過程的抽象,再現(xiàn)繪圖過程,并進行類比學習,提煉出算法和程序的對應關系;通過算法思想(一系列有序的步驟)設計出能夠自動化解決的方案。最后,通過編寫程序規(guī)劃美食路線,學生在實踐中掌握了turtle繪圖的基礎命令,體驗自主編程解決問題的過程,并通過其他學生的作品展示和講解,感受到解決同一問題的多樣性。通過案例展示講解的形式,學生了解了Python繪圖的其他應用并進行遷移和進一步的思考。
結束語
編程教育是培養(yǎng)學生計算思維的一種常見且易于實現(xiàn)的方式。教師將計算思維融入編程教學中,能培養(yǎng)學生的問題分析能力和問題解決能力。因此,教師要基于真實情境問題解決過程,以高中生計算思維培養(yǎng)為目標,探索Python編程教學的具體教學策略。