高立軍
關(guān)鍵詞:Python程序教學(xué);趣教;相長
1信息技術(shù)引入Python程序設(shè)計教學(xué)背景
1.1政策要求
2020年,教育部公布了中等職業(yè)學(xué)校公共基礎(chǔ)課課程標(biāo)準(zhǔn)(以下簡稱“標(biāo)準(zhǔn)”)。其中,信息技術(shù)課程名稱由原來的“計算機(jī)基礎(chǔ)”改為“信息技術(shù)”,教學(xué)內(nèi)容增設(shè)了程序設(shè)計入門等9個模塊內(nèi)容。標(biāo)準(zhǔn)提到,在教學(xué)中,程序設(shè)計入門模塊應(yīng)基于生產(chǎn)、生活的實(shí)際需求,選用可視化、智能化等易于上手的程序設(shè)計語言,而Python正符合以上要求。而且,當(dāng)前很多省市已將Python納入普職高高考內(nèi)容體系中,Python課程將成為未來學(xué)習(xí)的一種趨勢。
1.2大賽需要
全國各地都在積極舉辦Python編程技能等大賽,希望通過競賽,促進(jìn)學(xué)生和教師對Python程序設(shè)計的認(rèn)識,以提升學(xué)生程序設(shè)計能力。所以,在信息技術(shù)中引入Python程序設(shè)計的內(nèi)容也成為一種必然[1]。
2中職Python程序設(shè)計教學(xué)實(shí)踐與研究
Python是一門功能十分強(qiáng)大面向?qū)ο蟮木幊陶Z言,它易于理解和擴(kuò)展,并且使用方便。它是一個開放源碼軟件,易學(xué)易用,幾乎能做其他軟件能做到的事情,可把各種語言做成的庫粘在一起,稱為“膠水語言”。
2.1教師:趣味化教學(xué)
中職各專業(yè)高一學(xué)生,大部分學(xué)生數(shù)學(xué)與英語基礎(chǔ)薄弱,邏輯思維能力一般,學(xué)習(xí)興趣較弱,學(xué)習(xí)主動性不強(qiáng),而數(shù)學(xué)思維與英文基礎(chǔ)恰恰是學(xué)好編程很重要的2個要素。另外,學(xué)習(xí)編程需要一定的興趣愛好,這樣才有動力去堅持。因此,如果中職Python編程語言的學(xué)習(xí)從基礎(chǔ)知識、語法開始,循序漸進(jìn),往往會打擊很多學(xué)生學(xué)習(xí)Python的積極性。鑒于學(xué)生基礎(chǔ)以及Python課程的特點(diǎn),本文采用了以下的教學(xué)流程。
2.1.1激興趣,引基礎(chǔ)
現(xiàn)在的年輕人,最大的痛苦是什么?——所得非所求。教師教的內(nèi)容不是學(xué)生想要的,所以學(xué)生不學(xué)。為了讓學(xué)生能投入Python學(xué)習(xí)中,激發(fā)其編程的興趣,在起步階段引入Python游戲和Turtle畫圖,如圖1所示。
(1) Python游戲。
一聽說上課可以玩游戲,學(xué)生的興趣一下被點(diǎn)燃了。接下來的教學(xué)是學(xué)生在后面催著的教學(xué),學(xué)生的潛力完全被激發(fā)。為了便于管理與監(jiān)控,建立班級,把班級碼發(fā)給學(xué)生,讓學(xué)生加入所在班級。1次課下來,很多學(xué)生就通關(guān)成功。有了這個游戲經(jīng)歷,學(xué)生對Python調(diào)用方法的基本格式——“對象.方法”就比較熟悉,包括代碼區(qū)分大小寫,調(diào)用方法時參數(shù)的使用(比如,向右移動3次,可用hero.moveRight(3)),以及程序設(shè)計的順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)。而且,這是在玩游戲過程中學(xué)生慢慢體會到的,而不是教師有意傳授的,實(shí)現(xiàn)了“隨風(fēng)潛入夜,潤物細(xì)無聲”的效果[2]o
(2) Turtle畫圖。
有了Python游戲操作的基礎(chǔ),接著讓學(xué)生接觸Python中的turtle模塊。把turtle圖形模塊作為教學(xué)內(nèi)容首選,并以此為切人口進(jìn)行教學(xué)實(shí)踐研究,以“畫”引學(xué),以“畫”促教。讓學(xué)生立刻就能看到自己的作品,哪怕是一條線、一個圓,總是自己編程的成果,讓每一個學(xué)生在課堂上動起來,學(xué)起來,快樂起來,相信這樣的編程學(xué)習(xí)一定能夠在學(xué)生心中生根發(fā)芽,從而引導(dǎo)學(xué)生長久地堅持下去,為未來進(jìn)一步深入學(xué)習(xí)Python編程技術(shù)打下堅固的基礎(chǔ)。
①確定以“四畫法”作為Python Turtle模塊的教學(xué)主線,進(jìn)行教學(xué)實(shí)踐活動。
畫一:線段圓弧
1)制作turtle命令匯總表,比對中英文意思,逐步熟悉命令。
2)明確線段與圓的畫法,以各種顏色與粗細(xì)的三角形、正方形、六邊形、圓、半圓為素材,學(xué)生反復(fù)操練,讓學(xué)生熟悉基礎(chǔ)命令。
畫二:大寫字母
1)按字母形狀分類:橫豎類:E,F(xiàn),H,I,L,T;左右斜線類:A,K,M,N,V,W,X,Y,Z;“半圓+豎線”類:B,D,J,P,R,U;基于C轉(zhuǎn)換類:C,G,0,Q;弧線組合類:S。
2)指導(dǎo)學(xué)生掌握每一個典型操作,舉一反三,熟能生巧,促進(jìn)繪制設(shè)計思維能力的培養(yǎng)。讓學(xué)生演繹思維。
畫三:組合形狀
1)設(shè)定形狀編程制作案例:找一些漂亮又典型的案例圖形。
2)通過多個代表性案例的訓(xùn)練,使學(xué)生對直線線段圖形、曲線圖形的設(shè)計,有一個清晰的思路,以提升學(xué)生的應(yīng)用能力。
畫四:循環(huán)圖案
1)向?qū)W生展示豐富多彩的圖形及冗余命令行。
2)引進(jìn)選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),簡化繪畫程序命令行,引導(dǎo)學(xué)生利用選擇與循環(huán)結(jié)構(gòu)語句。
3)進(jìn)行IF語句和for語句教學(xué)。引導(dǎo)學(xué)生改變角度與循環(huán)次數(shù),發(fā)現(xiàn)圖形的變化,讓學(xué)生制作創(chuàng)意作品。
②挑選“編程選修課堂”對象,用“四畫法”模式,培養(yǎng)雙尖生“興趣與基礎(chǔ)”。
向?qū)W校提出申請,組建“Python編程選修課堂”,并在高一新生班與高二年級各班挑選若干學(xué)生。挑選原則:先自己報名,然后班主任根據(jù)計算機(jī)學(xué)習(xí)成績和平時表現(xiàn)(自主鉆研精神較強(qiáng))進(jìn)行篩選,篩選之后再由競賽指導(dǎo)教師面試確定,盡量接近“雙尖生”標(biāo)準(zhǔn)。接下來,在每周二下午全校選修課時進(jìn)行走班上課,建立微信群,加強(qiáng)周末與假期的交流,研究與普通班教學(xué)效果的差異性,再反過來去調(diào)整普通班教學(xué)。
③組織競賽活動,創(chuàng)設(shè)編程繪畫生活化作品,使學(xué)有所用。
一學(xué)期后,全校進(jìn)行Python編程競賽,一方面為今后參加區(qū)市競賽準(zhǔn)備人才,另一方面比較“雙尖生”與“普通教學(xué)班學(xué)生”的差異,并注意積累學(xué)習(xí)資源,整理匯編成冊,為下一屆的學(xué)生培養(yǎng)準(zhǔn)備更多的素材。學(xué)生個別作品如圖2所示。
2.1.2釋出入,建框架
有了Python游戲的體驗(yàn)和turtle畫圖的創(chuàng)意經(jīng)歷,學(xué)生對編程的興趣已越來越濃厚,這時讓學(xué)生建立Python程序的整體概念,使其深入掌握程序框架結(jié)構(gòu)。
首先,深入學(xué)習(xí)輸入輸出語句的應(yīng)用,打破編程的外圍障礙。其次,學(xué)生需掌握編程的核心技術(shù)——算法的編制。重點(diǎn)掌握3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)。程序設(shè)計的基本步驟為:分析問題-設(shè)計算法-編寫程序-調(diào)試運(yùn)行。
2.1.3遵層次,析案例
作為中職學(xué)生,培養(yǎng)他們掌握畫解決問題的流程,有時比寫代碼更重要。畢竟Python內(nèi)容只是信息技術(shù)的一個章節(jié),主要是培養(yǎng)學(xué)生思考解決問題的能力,而不是真正意義上專業(yè)編程的學(xué)習(xí)。教師應(yīng)從流程圖順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)方面,給學(xué)生進(jìn)行系統(tǒng)的講解。
2.2學(xué)生:快樂學(xué)習(xí)
“把課堂還給學(xué)生,讓課堂煥發(fā)出生命的活力”是新課改的靈魂。課堂是師生互動的舞臺,教師應(yīng)該教會學(xué)生學(xué)習(xí)的策略、方法,將學(xué)習(xí)的時間、空間還給學(xué)生,讓學(xué)生自主學(xué)習(xí),自主探究,養(yǎng)成良好的學(xué)習(xí)習(xí)慣,這樣才能提高課堂教學(xué)質(zhì)量。
除了課間時間,學(xué)生還可以通過微信群、電話與教師交流,一般教師會與一些興趣高的學(xué)生建立網(wǎng)絡(luò)聯(lián)系,指導(dǎo)鼓勵他們鉆研編程技術(shù),通過以點(diǎn)帶面,使班級的學(xué)習(xí)氛圍達(dá)到頂峰。總之,真正的學(xué)習(xí)還是要發(fā)揮學(xué)生的學(xué)習(xí)主動性,讓他們快樂學(xué)習(xí),發(fā)自內(nèi)心地想學(xué)。
2.3師生:教與學(xué)相長
新課標(biāo)的實(shí)施不僅改革了學(xué)生的學(xué)習(xí)方式,而且改變了教師的教學(xué)方式。新知識的引進(jìn),學(xué)生接觸網(wǎng)絡(luò)、利用網(wǎng)絡(luò)學(xué)習(xí),使教師的角色發(fā)生了很大的變化。學(xué)生遇到編程不懂的地方,可進(jìn)行視頻學(xué)習(xí),以及通過Python學(xué)習(xí)群進(jìn)行探討,學(xué)生的思維與水平在逐漸超越教師。比如,繪制菱形星號圖形。代碼如下。
學(xué)生的做法就給教師以很大啟發(fā)。
只有充分相信學(xué)生,以激發(fā)學(xué)生的學(xué)習(xí)興趣為突破口,多給學(xué)生創(chuàng)造發(fā)揮潛能的機(jī)會,關(guān)注每一個層次的學(xué)生,并在此過程中與學(xué)生進(jìn)行平等對話,相信肯定能產(chǎn)生“教學(xué)相長”的雙贏效果。正因?yàn)樵趯W(xué)生的督促下,教師與學(xué)生的水平都得到了提升,在每年P(guān)ython技能大賽(師生同臺)中學(xué)生與教師都取得了良好的成績。
3教學(xué)實(shí)踐研究的體會與反思
3.1教師需要學(xué)習(xí),在學(xué)習(xí)中才能了解學(xué)生的困惑
教師的主要任務(wù)是讓學(xué)生“學(xué)會學(xué)習(xí)”:因?yàn)橹挥薪處熤廊绾稳W(xué),學(xué)生才有可能跟隨其學(xué)習(xí)。在應(yīng)試教育的熏染下,很多教師在繁重的重復(fù)勞動中疏于學(xué)習(xí),新的觀念新的知識對他沒有吸引力,學(xué)生在學(xué)習(xí)中會遇到怎樣的問題根本不清楚,對學(xué)生的指導(dǎo)也就沒有針對性,教學(xué)效果自然就下降了。
3.2教師只有比學(xué)生更善學(xué),才可能會教
在指導(dǎo)學(xué)生的編程過程中,發(fā)現(xiàn)學(xué)生的思維是千奇百怪的。
比如,625這個數(shù)字很特別,625的平方等于390625,剛好其末3位是625本身。除了625,還有其他3位數(shù)有這個特征嗎?請編寫程序,尋找所有這樣的三位數(shù)。
教師編程思維是利用運(yùn)算符進(jìn)行“數(shù)字分離”,而學(xué)生卻用字符串切片進(jìn)行“數(shù)字分離”,學(xué)生的方法更凸顯了中職學(xué)生數(shù)學(xué)底子弱的特點(diǎn)。所以教師不但要去學(xué),而且要比學(xué)生更善于學(xué),不僅要知道為什么,還要知道怎么學(xué)才能讓學(xué)生更快、更容易知道為什么。每位教師都有自身的教學(xué)優(yōu)勢,要敢于“揚(yáng)長”,但也要敢于“不避短”,善于向一切可以學(xué)習(xí)的人學(xué)習(xí),當(dāng)然也包括向?qū)W生學(xué)習(xí)。學(xué)習(xí)“他”不是為了成為“他”,而是為了成就“我”。有這樣的意識,就能不斷開辟學(xué)習(xí)的新途徑。教師只有比學(xué)生善于學(xué)習(xí),他才可能會“教”,因而才可能是“師”:也只有比學(xué)生更知道需要學(xué)習(xí),他的“教”才有價值。
3.3希望與目標(biāo)
教師的目標(biāo)是通過此種教學(xué)模式的探索與實(shí)踐,讓教學(xué)從反復(fù)的應(yīng)試訓(xùn)練中解放出來,給大家提供結(jié)合學(xué)校特色開展教學(xué)方法創(chuàng)新和模塊教學(xué)內(nèi)容構(gòu)思的空間,同時為教師發(fā)揮自己專業(yè)價值和開展教研與科研工作帶來更多的發(fā)展空間。