山東省淄博第十七中學(xué) 李瑞雪
在高中信息技術(shù)教學(xué)中,使學(xué)生熟練掌握信息技術(shù)知識并能靈活解決實際問題,是教學(xué)的重要目標(biāo)。運用計算機知識解決實際問題往往通過編程實現(xiàn)。因此,在教學(xué)活動中提升學(xué)生的編程能力顯得尤為重要,教師應(yīng)從整體上把握編程部分的重難點,認(rèn)真回顧與評估以往教學(xué)質(zhì)量,爭取尋找一套適合自身及學(xué)生實際的教學(xué)方法,確保在實現(xiàn)教學(xué)目標(biāo)的同時鍛煉學(xué)生的編程能力。
在高中信息技術(shù)教學(xué)中提高編程能力需要學(xué)生掌握系統(tǒng)扎實的基礎(chǔ)知識,主要包括明確計算機解決問題的過程,掌握編程所用軟件的功能,把握程序編寫的語法以及注意事項,理解和掌握程序結(jié)構(gòu)和算法等。為使學(xué)生更好地掌握編程基礎(chǔ),一方面,Python程序編寫需要有特定環(huán)境,而特定環(huán)境通常由專門的開發(fā)工具提供。因此,在教學(xué)實踐中教師應(yīng)注重為學(xué)生認(rèn)真講解Python程序開發(fā)工具知識,為其講解開發(fā)工具的安裝、使用方法,簡單講解開發(fā)工具的運行原理,尤其應(yīng)做好開發(fā)工具安裝示范,使學(xué)生把握開發(fā)工具的安裝步驟和細(xì)節(jié)。另一方面,在講解編程理論時教師應(yīng)注重聯(lián)系學(xué)生生活,列舉其較為熟悉的案例,降低其學(xué)習(xí)的陌生感,使其通過與熟悉事物的對比,更好地記憶和掌握。尤其考慮到編程知識與數(shù)學(xué)知識密切相關(guān),教師應(yīng)注意從數(shù)學(xué)知識切入,使學(xué)生認(rèn)識到編程知識與數(shù)學(xué)知識的內(nèi)在聯(lián)系。另外,為確保學(xué)生能當(dāng)堂掌握所學(xué)知識,在課堂上教師應(yīng)和學(xué)生積極互動,及時發(fā)現(xiàn)和解決學(xué)生在學(xué)習(xí)與理解上存在的問題,糾正其理解上的偏差。教師可以與學(xué)生一起回顧課堂內(nèi)容,并運用思維導(dǎo)圖歸納所學(xué)知識,對所學(xué)基礎(chǔ)知識全面覆蓋,幫助學(xué)生建立清晰的知識網(wǎng)絡(luò),避免其編程基礎(chǔ)知識出現(xiàn)漏洞。
例如,Python中的常量、變量是兩個非常重要的概念。在進行該部分內(nèi)容教學(xué)時教師應(yīng)注意列舉具體的實例幫助學(xué)生理解和掌握二者之間的區(qū)別,使其在以后的編程中能靈活、正確地應(yīng)用。其中,常量相當(dāng)于某個具體的事物,而變量相當(dāng)于一個容器。在編程過程中可通過改變?nèi)萜髦械膶ο髮崿F(xiàn)對引用內(nèi)容的改變。如使用常量則需要修改很多代碼,不利于后期程序的維護。
為提升學(xué)生的編程能力,教師應(yīng)在其牢固掌握基礎(chǔ)知識的前提下為其展示編程的具體過程,使其在頭腦中形成清晰的編程步驟,能具體問題具體分析,掌握不同問題編程的有效切入點。一方面,對大多數(shù)高中生而言,編程知識的難度較大,很容易淺嘗輒止。為避免挫傷其學(xué)習(xí)積極性,激發(fā)其學(xué)習(xí)編程知識的興趣,增強其編程的自信心,使之持之以恒地開展學(xué)習(xí)活動,教師應(yīng)做好對編程例題情境的精心設(shè)計,遵循由易到難的原則。在課堂上可為學(xué)生講解如何編寫Python程序解決小學(xué)數(shù)學(xué)問題,并通過程序的運行,使其體會到編程的成就感,養(yǎng)成運用計算機思維分析問題的良好習(xí)慣。另一方面,為更好地激活信息技術(shù)課堂,使學(xué)生主動地參與到學(xué)習(xí)活動中,為學(xué)生展示例題后,教師應(yīng)鼓勵其先進行討論,思考如何編寫程序,運用哪些結(jié)構(gòu)和算法。然后教師通過提問學(xué)生代表了解其思考和討論的結(jié)果,掌握其編程時出現(xiàn)的問題,而后與學(xué)生一起剖析例題編程過程。每編寫一行代碼就與學(xué)生積極互動,使其理解每一行代碼表示的含義及編寫時注意的細(xì)節(jié),包括首字母的大小寫、程序?qū)R等,指引其養(yǎng)成良好的編程習(xí)慣,最大限度地降低編程細(xì)節(jié)上的錯誤,提高代碼編寫質(zhì)量。
例如,講解Python例題時,教師可以為學(xué)生講解較為熟悉的“雞兔同籠”問題。使用Python程序解決該問題的思路較多,編寫的代碼也不相同。為提高程序運行效率及代碼的簡潔度,教師在編寫程序之前對解決問題的邏輯進行分析,明確雞兔同籠時頭、腿與對應(yīng)數(shù)量之間的關(guān)系,在此基礎(chǔ)上確定程序順序及所用的程序知識,如此可給學(xué)生帶來良好的編程啟發(fā),使其認(rèn)識到磨刀不誤砍柴工,只有養(yǎng)成先分析后編程的良好習(xí)慣,才能獲得事半功倍的編程效果。
提高學(xué)生的編程能力是不能一蹴而就的,需要學(xué)生的持久用心,更需要教師給予長久的跟蹤和輔導(dǎo),使學(xué)生在編程的過程中認(rèn)真體會犯錯和糾錯的過程,逐漸提升編程能力。一方面,做好教學(xué)環(huán)節(jié)設(shè)計和安排后,教師還要做好每一個教學(xué)環(huán)節(jié)的跟蹤,實時掌握學(xué)生的學(xué)習(xí)進度和學(xué)習(xí)質(zhì)量,以及時調(diào)整教學(xué)策略,確保教學(xué)目標(biāo)的順利完成。在課堂上教師可以提問學(xué)生代表,根據(jù)其回答問題的完整性和正確率,評估其學(xué)習(xí)效果。同時,教師還要做好學(xué)生作業(yè)情況的檢查,一來督促學(xué)生按時完成作業(yè),二來收集學(xué)生在作業(yè)中出現(xiàn)的共性問題,給予其針對性的輔導(dǎo)。另一方面,教師可利用課余時間與學(xué)生溝通交流,了解學(xué)生在編程過程中遇到的問題,給出學(xué)習(xí)上的建議,鼓勵其積極上網(wǎng)查詢相關(guān)資料,認(rèn)真克服學(xué)習(xí)中的問題。另外,在有條件的學(xué)校,教師應(yīng)注意充分利用網(wǎng)絡(luò)教學(xué)平臺做好對學(xué)生編程學(xué)習(xí)情況的跟蹤。教師可以在網(wǎng)絡(luò)教學(xué)平臺上回答學(xué)生遇到的編程問題,并積極分享有關(guān)編程的資料,為其開展自主學(xué)習(xí)活動提供便利。
例如,教師在每一節(jié)課開始之前預(yù)留五分鐘左右的時間要求學(xué)生認(rèn)真回顧上一節(jié)課學(xué)習(xí)的編程知識,并針對學(xué)生不易理解的知識點進行提問。學(xué)生回答問題時教師要認(rèn)真傾聽,尤其當(dāng)學(xué)生不能正確回答問題時教師應(yīng)認(rèn)真思考原因,是學(xué)生未認(rèn)真學(xué)習(xí)還是教師講解得不夠明白,然后及時采取解決措施。
編程訓(xùn)練可使學(xué)生積累編程經(jīng)驗,掌握相關(guān)的編程技巧,促進其編程水平的有效提升。在信息技術(shù)教學(xué)實踐中教師應(yīng)采取措施提高編程訓(xùn)練質(zhì)量,具體應(yīng)做好以下工作。一方面,在課堂上開展編程訓(xùn)練活動時為提高訓(xùn)練效率,應(yīng)注重根據(jù)編程訓(xùn)練習(xí)題的難易程度合理分配訓(xùn)練時間,給學(xué)生帶來緊迫感,更好地激活其思維,挖掘其編程潛力。在編程訓(xùn)練結(jié)束后教師應(yīng)及時開展評價活動,在課堂上指出學(xué)生代碼編寫中的問題和錯誤,要求學(xué)生認(rèn)真分析原因,及時解決問題,糾正問題,同時應(yīng)看到學(xué)生的優(yōu)點,給予肯定和鼓勵,避免挫傷其學(xué)習(xí)熱情。另一方面,為營造良好的編程訓(xùn)練環(huán)境教師可定期組織學(xué)生開展編程比賽活動,并設(shè)置相關(guān)獎品獎勵勝出者。教師在對參賽者進行評價時應(yīng)注重分析編寫的Python程序是否規(guī)范、是否出現(xiàn)嚴(yán)重錯誤以及能否得出正確的運行結(jié)果等。如此開展訓(xùn)練活動,既能豐富學(xué)生的學(xué)習(xí)生活,又能更好地激發(fā)其參與編程訓(xùn)練的積極性。
例如,在完成Python程序知識講解后,教師可為學(xué)生布置“編寫Python程序打印九九乘法表”的編程訓(xùn)練活動并規(guī)定好訓(xùn)練時間。為提高訓(xùn)練成功率,可每兩人劃分成一個小組,使其在訓(xùn)練中互幫互助,相互學(xué)習(xí),共同完成編程作業(yè),以積累相關(guān)的編程經(jīng)驗和技巧,達到預(yù)期的訓(xùn)練目標(biāo)。
Python編程知識是高中信息技術(shù)的重難點。在教學(xué)實踐中教師不能僅滿足于學(xué)生掌握基礎(chǔ)知識,應(yīng)將提升學(xué)生的編程能力納入教學(xué)目標(biāo)。教師應(yīng)認(rèn)真研究高中生的信息技術(shù)知識儲備及其對編程知識的認(rèn)識和理解程度,明確不同階段的教學(xué)目標(biāo),認(rèn)真總結(jié)以往教學(xué)經(jīng)驗,并注重調(diào)整教學(xué)策略,有針對性地開展教學(xué)活動,促進學(xué)生編程能力的有效提升,為以后信息技術(shù)知識的學(xué)習(xí)做好鋪墊。