王興松
關鍵詞:中職;Python程序;教學現(xiàn)狀;改善策略;校本教材
1引言
Python程序設計語言是近年來發(fā)展迅速的一門高級程序設計語言,在游戲開發(fā)、人工智能、科學計算等領域得到了廣泛應用,很多中職學校也將“Python程序設計”列入計算機專業(yè)課程之一。目前,“Python程序設計”課程開設時間不長,教師經驗不足,學生學習動機較弱,很多教材未匹配考綱和脫離企業(yè)對Python人才的需求等諸多因素,影響了Python程序設計語言在中職學校的發(fā)展。
2Python語言簡介
Python是一門面向對象的高級程序設計語言,創(chuàng)始人是荷蘭人吉多·范羅蘇姆( Guido van Rossum)。Python語言具有以下特性:簡單、易學、可快速入門;“一次編寫,到處運行”的跨平臺特性;豐富的庫(自帶的標準庫和第三方庫)。其被稱為“膠水語言”,Python程序可以以多種形式與其他編程語言編寫的程序組合在一起。Python程序的應用場景廣泛,包括游戲開發(fā)、網絡服務、圖像處理、科學計算、人工智能等領域。
自Python3以上的版本問世后,其就開始被廣泛注意。Python程序設計被很多省份列入義務教育教學內容,中等職業(yè)教育和高等教育大部分的計算機專業(yè)把“Python程序設計”作為主要課程之一。到2017年年末,全國計算機等級考試進行了調整,在二級考試中新增“Python語言程序設計”科目。軟件公司對Python程序設計人才的需求也是由無到有,由有到精。由于Python程序設計的流行程度與日俱增,部分教育研究院和學校為了提升學生的信息素養(yǎng)、計算機思維、數(shù)字化學習與創(chuàng)新等方面的能力,在學校開設“Python程序設計”課程。新奇的學科,吸引了計算機教師的研究注意力,激發(fā)了計算機教師的研究熱情,同時帶來了一定的挑戰(zhàn)。越來越多的中等職業(yè)學校計算機專業(yè)也都陸續(xù)開設“Python程序設計”課程,并呈現(xiàn)蓬勃發(fā)展的狀態(tài),同時該課程的一些教學問題也被行內專業(yè)人士和教師所意識到。
3存在的問題
3.1部分學生課程基礎薄弱,學習效果不佳
“Python程序設計”是一門理論加實操的計算機課程,對學生的綜合能力有一定要求。
在文化課方面,“Python程序設計”課程的學習要求中職學生的語文、數(shù)學、英語科目成績中等或以上水平?,F(xiàn)實生活中部分中職學生文化課基礎薄弱,讓人擔憂。學生語文不好,會導致理解Python程序問題不透徹:語言表達能力較弱,在溝通需求和分享思路方面就會表述不清。數(shù)學基本的運算不熟練(比如程序設計中作為高頻考點出現(xiàn)的開方、乘方、最大公約數(shù)和最小公倍數(shù)問題),邏輯思維能力欠佳,都會影響Python程序問題解決的思路和效率。Python程序設計大部分工作是利用英文編寫程序實現(xiàn)功能,然而很多學生英語是短板科目,學習時常用的單詞記不住寫法和意義,或者類似的單詞記憶混淆,也會導致學生對Python學習興趣降低。
在計算機基礎方面,要求熟悉Windows操作系統(tǒng),熟練掌握中英文錄入方法。由于城區(qū)和農村教學條件的差距,再加上受應試教育的影響,很多農村義務教育畢業(yè)學生的計算機實操能力有待提高。通常表現(xiàn)為:拼音不過關,不會輸入漢字:常用的快捷鍵不熟練,文件操作無章法:沒有掌握文字錄入技巧,錄入速度緩慢。這會影響“Python程序設計”課程學習和實操的進度。
3.2教材質量參差不齊,嚴重影響教學效果
義務教育和普通高中的教材受眾人數(shù)大,一般來說,經過教育系統(tǒng)層層把關,質量過硬。而中等職業(yè)教育,由于“Python程序設計”課程教材選擇面廣,Python語言流行年份不長,經驗豐富的教師資源緊張,任課教師有一定的自主權等因素,導致最后選用的“Python程序設計”課程教材適用性差,達不到中職的對口高考要求或者企業(yè)對Python人才規(guī)格的要求。
以安徽省中等職業(yè)教育對口高考計算機專業(yè)的要求為例,“Python程序設計”課程于2019年納入安徽省計算機對口高考專業(yè)課考試科目,安徽省教育科學研究院于2021年11月正式公布《信息技術類專業(yè)技能測試綱要》和《信息技術類專業(yè)課考試綱要》,明確指出“Python程序設計”課程的理論考試和實操考試的范圍和要求,推薦的參考教材為高等教育出版社的《Python程序編寫入門》(蘇東偉主編)和高等教育出版社的《Python程序設計教程》(張莉主編)。在熟悉考試大綱的前提下,細讀推薦教材,發(fā)現(xiàn)不少問題。推薦教材有多處內容編寫錯誤的地方,有簡單問題復雜化的情況,還有很多大綱指定的內容書上沒有提及(如面向對象程序設計基礎章節(jié)、GUI章節(jié)等)。在網絡上查找,也沒有匹配大綱的書本和題庫??偠灾?,目前沒有高度匹配大綱的教材,這就導致任課教師要花很多的精力去網絡搜索資料或者購買Python書籍,整理內容并設計相關的作業(yè)。學生學習之初也沒有合適的資料,無法進行深度自學和課后鞏固以及自我拓展。這對Python教學效果產生了不利影響,解決此問題迫在眉睫。
3.3Python教師教學能力不足
Python程序設計語言也是最近幾年才進人中職課堂,優(yōu)秀的Python教師是稀缺人才。有的Python教師是從社會聘任到崗,他們在軟件行業(yè)摸爬滾打多年,理論和實操經驗都很豐富,可由于缺乏基礎的教育知識,以及缺乏對中職學生身心發(fā)展情況的了解,他們常常表現(xiàn)出“茶壺煮餃子,有貨倒不出”的狀態(tài),或者教師在唱獨角戲的狀態(tài)。有的Python教師是由其他崗位轉崗而來,缺乏Python程序設計語言的基礎知識和基本技能,教師沒有系統(tǒng)的軟件邏輯思維和深厚的實操能力就做不到對Python程序解答方式的舉一反三,做不到程序聯(lián)系生活實際,做不到與其他學科的知識遷移。還有的Python教師教學方法老套,教學策略單一,只是一味地注入式教學,導致課堂氣氛消極,不利于激發(fā)學生學習“Python程序設計”課程的興趣。
3.4教師教學尚未形成統(tǒng)一認識
在教學場所上,有的教師認為主要在機房,方便多學多練:有的教師堅持按常規(guī)的理論和實操內容比例來安排教學場所,即30%的教學時間在教室,70%的教學時間在機房。在Python教學重難點上,有的教師認為應該是程序控制的三種結構(順序結構、選擇結構、循環(huán)結構),有的教師認為應該是面向對象程序設計的三大特征(封裝、繼承、多態(tài))。在教學內容安排的順序上,“結構數(shù)據類型及其操作”和“結構化程序設計基礎”兩個章節(jié)內容經常是互相滲透,各有穿插,究竟先上哪個部分內容,大家意見難以統(tǒng)一。
目前,在中職日常教學里Python編程題的評閱存在較大的分歧。由于編程題不如客觀題有固定的、唯一的答案,它對中職生的要求是答題具備邏輯性和嚴謹性。在Python程序設計編程題閱卷時,發(fā)現(xiàn)有的教師評閱時以能解決問題為標準,主張簡潔靈活答題:有的教師機械性地以參考答案為標準,主張保守常規(guī)答題。
4改善策略
4.1加強和基礎課程教師的溝通與合作
Python程序設計專業(yè)課教師列舉出該課程需要語文、數(shù)學、英語、計算機基礎等科目的教師配合強調的教學內容,齊心協(xié)力鞏固學生基礎。不少中職學校春季招收學生,秋季分專業(yè)教學。在分專業(yè)教學前,可請相關教師完成相關內容的教學,為“Python程序設計”課程教學做好鋪墊。
正式上“Python程序設計”課程前,可以設計一套包含文化課和邏輯能力的試題,對學生的知識基礎和邏輯思維能力有個初步了解,方便后期教學制定針對性的策略。
4.2開發(fā)匹配考綱的校本教材
合理編排校本教材形式。Python校本的編排形式要符合衛(wèi)生學、教育學、心理學和美學的要求。對于中職學生,教科書的內容復雜度安排既要符合學生的身心發(fā)展規(guī)律,還要符合知識發(fā)展的內在邏輯,力求復雜問題簡單化和直觀化。Python校本教材中該寫明白的地方要不惜筆墨,清晰地展現(xiàn)問題的求解過程;其次要注意圖文并茂,充分重視表格、圖形、圖解和注釋的設計,增強教材的可讀性,同時注意聯(lián)系生活實際和其他學科的知識遷移。比如,在編排雙分支選擇結構(if…else…)的內容時,可以使用疫情防控進校園的要求來舉例說明。進校園測體溫,如果體溫值大于37.3℃,則不讓進校園,否則正常人校,并配合相關圖片,方便理解。這既可以做知識講解,也可以起到安全教育的作用。再如,編排循環(huán)結構計算“1+2+3+…+ 100”的內容時,先編排數(shù)學里面的等差數(shù)列求和公式解決此問題的方法,使學生做到知識遷移,再利用數(shù)學和編程等多種思路來解決此問題,培養(yǎng)學生的程序邏輯思維。
豐富校本教材的內容。內容必須包含大綱要求的每一個知識點,詳略得當。校本教材的內容不僅是相關知識的講解,還要包括配套的強化練習。知識的講解要方便學生反復自學和復習,也可以節(jié)省學生抄寫大量補充筆記的時間。配套的練習,可以檢測學生的知識點掌握情況,各Python教師也不用耗費心力自己反復設計題目。校本教材的內容還要做到理論與實操的統(tǒng)一,這不僅是考試大綱的要求,而且能讓學生增強對知識的理解,真正讓學生做到對“Python程序設計”課程知識點內化于心、外化于型。此外,校本教材的內容來源可以是去粗取精地推薦教材,可以是經過認真篩選再加以改造的網絡上的知識點,也可以是酌情參考的其他Python書籍,甚至可以結合對大綱的理解和企業(yè)對Python人才的需求自己設計校本教材內容。
各方協(xié)同支持Python校本教材的開發(fā)。Python校本教材事關計算機專業(yè)學生的對口升學和未來成才就業(yè)等,其作用舉足輕重。學校需要提供的支持主要包括以下幾個方面。首先,學校領導重視,全面協(xié)調人力物力財力等,給予相關專業(yè)課教師較為充足的支持。校Python教科組組織成員開會,部署校本教材開發(fā)的任務,規(guī)定好時間點和責任人,集思廣益,資料共享,嚴格驗收,不斷總結和反思。其次,學??梢哉埿值茉盒;蛘咧髮W教師前期做校本教材開發(fā)的培訓和指導、提供優(yōu)質樣本等,后期協(xié)助驗收、提供改進建議等。最后,Python教科組完成校本教材編寫后,校主管教學領導將教材送到市級或省級教育科學院的計算機教研專家審核,有不足之處及日寸修正,直到專家認可。
4.3提高教師教學能力
提高教師“Python程序設計”課程的基礎知識和基本技能。Python教師要認真研讀“Python程序設計”課程考試大綱理論和實操的具體要求,深入了解軟件企業(yè)對Python軟件工程師人才的基本要求。從要求出發(fā),熟悉Python程序設計的課程標準,細讀Python教材和參考書,勤思考,多實操。Python教師要善于做到知識點的融會貫通,善于引導學生發(fā)散思維,如計算數(shù)學中的階乘問題,Python語言可以以多種思路解決,可以使用循環(huán)結構或者遞歸函數(shù)或者math模塊的factorial()函數(shù)等。
提高教師教學技能。教師要了解中職學生心理發(fā)展狀況和知識點的邏輯順序,做到循序漸進的教學以及結合實際的因材施教。Python程序設計的教學,要求教師認真?zhèn)湔n,做好課堂計劃,設計有層次性的教學任務。課堂上,采用多種教學方法相結合,Python課堂一般是以講授法和演示法相結合來傳授新知,以任務驅動法來激發(fā)學生“大展身手”的動力并檢測學生的學習情況。理論課通過作業(yè)批改掌握學生知識薄弱環(huán)節(jié):實操課通過巡視學生任務完成情況總結學生不良的操作習慣和提高調試代碼的能力。發(fā)現(xiàn)問題,及時指導。涉及較難的知識點時,設計合適的情景吸引學生的注意力,激發(fā)學生的學習興趣。比如,講解順序結構時,可以使用“把一頭大象放進冰箱需要哪些步驟”的實例:講解選擇結構時,可以使用“校園疫情防控測溫時,如果體溫大于37.3℃,則不允許進校園的實例”等。
此外,教師要充分利用互聯(lián)網的優(yōu)勢彌補自身的不足,充分利用“互聯(lián)網+教育”。要在線上線下混合式教學模式下,降低知識難度,從而促進學生學習。
4.4教學上統(tǒng)一認識
教學認知上統(tǒng)一認識?!癙ython程序設計”課程既有理論部分又有實操部分,也是最近幾年才備受重視的課程,如何高效教學,沒有固定說法。課堂教學和機房教學時間如何分配才最合理,這與教學內容的特征、教師的教學風格以及學生的接受能力都有關系。不能都在教室而陷于書本主義,也不能都在機房而陷于經驗主義,要兩者結合,加深認識。少數(shù)章節(jié)的教學,存在先后爭議,也無可厚非,因為很多知識本身就是可以互相使用、互相借鑒的。其中涉及先后關系,很多情況沒有對與錯,確保學生牢固掌握相關知識即可。
編程題評閱方面統(tǒng)一認識。它和數(shù)學應用題、幾何題有異曲同工之處,甚至比數(shù)學更靈活。對于編程題,只要學生的答卷不死板,能解決同類問題,能實現(xiàn)相關功能,都可酌情給分,按步驟給分,不全盤否定。在完成任務的前提下,再去追求答卷的完美,如不同的程序哪個用時更短,哪個程序更具拓展性,哪個程序更符合程序思維等。當然,如果市級和省級教科組計算機專家能給出編程題評分的詳細標準則更好,這可以使相關教師以后評閱有方向性和針對性。
5結束語
針對“Python程序設計”課程教學,與學生的未來發(fā)展息息相關,專業(yè)課教師任重而道遠。希望相關教師都能發(fā)現(xiàn)問題,正視問題,改進問題,為學生程序設計思維的發(fā)展和信息技術的提升創(chuàng)造良好的環(huán)境。