魏東霞
摘 要:本文從分析Python語(yǔ)言的優(yōu)勢(shì)及應(yīng)用入手,介紹Python語(yǔ)言在教學(xué)中的應(yīng)用實(shí)踐,總結(jié)Python語(yǔ)言教學(xué)策略,探討Python語(yǔ)言程序設(shè)計(jì)培養(yǎng)學(xué)生的編程思維和自主學(xué)習(xí)能力的方法。
關(guān)鍵詞:Python語(yǔ)言;高中信息技術(shù)選修課程;編程思維;自主學(xué)習(xí)能力
喬布斯提出:“每個(gè)人都應(yīng)該學(xué)編程,因?yàn)樗虝?huì)你如何思考?!?/p>
利用高中信息技術(shù)課程這一有效平臺(tái),使學(xué)生具備初步的編程思維,具備一定的自主學(xué)習(xí)能力,全面提升信息素養(yǎng),刻不容緩。
一、Python語(yǔ)言的優(yōu)勢(shì)及特點(diǎn)
1.優(yōu)勢(shì)
程序設(shè)計(jì)語(yǔ)言的種類有很多,常見的有C、C++、Java、Pascal、Basic、Python等。不同的編程語(yǔ)言有不同的特性及適用領(lǐng)域,它們的學(xué)習(xí)難度也不同。高一學(xué)生沒有編程基礎(chǔ),學(xué)習(xí)課時(shí)有限,必須選擇一種入門級(jí)、簡(jiǎn)單易學(xué)的程序設(shè)計(jì)語(yǔ)言進(jìn)行學(xué)習(xí)。Python語(yǔ)言具有語(yǔ)法簡(jiǎn)潔、清晰、易讀等優(yōu)點(diǎn),適合初學(xué)者快速入門、便于培養(yǎng)學(xué)生的編程思維。
2.特點(diǎn)
Python語(yǔ)言是一種面向?qū)ο蟮?、解釋型的編程語(yǔ)言,它的特點(diǎn)是語(yǔ)法簡(jiǎn)單、開源實(shí)現(xiàn)、關(guān)注求解的問題,簡(jiǎn)潔、優(yōu)雅、易使用。它采用強(qiáng)制縮進(jìn)的方式,使所寫的程序代碼更具優(yōu)雅性和易讀性。這樣,大大省去了其它語(yǔ)言中類似begin、end,{}這樣的代碼書寫之繁瑣,無疑是初學(xué)者的福音。
二、Python語(yǔ)言在教學(xué)中的應(yīng)用實(shí)踐
1.課時(shí)安排
經(jīng)過精簡(jiǎn)壓縮,課程開設(shè)了4周共8學(xué)時(shí)。課程第5周進(jìn)行了Python語(yǔ)言基礎(chǔ)知識(shí)測(cè)試,以選擇題和上機(jī)編程兩種形式進(jìn)行考試,主要考核學(xué)生對(duì)Python語(yǔ)言的順序結(jié)構(gòu)、分支判斷結(jié)構(gòu)、循環(huán)結(jié)構(gòu),if語(yǔ)句、for語(yǔ)句、while語(yǔ)句,輸入、格式化輸出等知識(shí)點(diǎn)的掌握情況。整個(gè)高一年級(jí)共計(jì)300人,滿分28人,占9.3%;85分以上97人,占,32.3%;60分以上254人,占84.6%。
2.教學(xué)效果
Python是一種入門相對(duì)較容易的程序設(shè)計(jì)語(yǔ)言。學(xué)生只需掌握它的基本的語(yǔ)法知識(shí),就可以具備一定的讀寫程序代碼的能力,能使用Python解決較簡(jiǎn)單小問題,從而初步具備計(jì)算思維和自主學(xué)習(xí)能力。
三、Python語(yǔ)言教學(xué)策略
1.做好問卷調(diào)查
興趣是學(xué)習(xí)最好的催化劑。課程從開始階段就針對(duì)高一新生做了問卷調(diào)查,在“你選擇這門課程最主要的原因”這一問題中,90人提供了有效答案,其中選擇“喜歡編程”的為134人,選擇“對(duì)將來專業(yè)選擇以及就業(yè)有用”的為60人,選擇“想多修學(xué)分”的為6人。由此可見,學(xué)生選擇這門課程的主要原因在于興趣。
2.請(qǐng)學(xué)生當(dāng)“小幫手”
為了達(dá)到良好的教學(xué)效果,全體學(xué)生具備編程能力,每個(gè)班級(jí)選出兩到四位學(xué)習(xí)能力較強(qiáng)、積極熱情、善于溝通交流的學(xué)生擔(dān)任老師的“小幫手”,幫助老師輔導(dǎo)遇到困難的同學(xué)將程序調(diào)試通過。找到錯(cuò)誤程序的問題并修改正確調(diào)試通過,這比直接編寫正確程序更具難度。通過這樣的工作鍛煉,“小幫手”們不僅幫助了同學(xué),還能發(fā)現(xiàn)自身的問題,解決問題的能力得到了很大提升。
3.利用形象生動(dòng)的教具展示
課程講授中,格外注重細(xì)節(jié),甚至要巧妙利用教具,突破難點(diǎn)。例如,在講解最基本的交換兩個(gè)變量A與B的數(shù)值這一算法時(shí),準(zhǔn)備三個(gè)一模一樣的瓶身上標(biāo)有ABC字母的透明玻璃瓶子,里面裝有兩種顏色鮮明的飲品。請(qǐng)兩名學(xué)生上臺(tái)演示如何借助于第三個(gè)空瓶子,將兩瓶原有飲品互換。倆人配合默契,一說一做,通過“操作演示過程”、“語(yǔ)言描述步驟”、“文字總結(jié)算法”三個(gè)環(huán)節(jié),引導(dǎo)大家弄懂這一算法。整個(gè)過程,有動(dòng)口、有動(dòng)手、有動(dòng)腦,環(huán)環(huán)相扣,一步步引導(dǎo)學(xué)生自己總結(jié)出算法,避免了單純編程例題的枯燥乏味。
4.精選編程題目,貼近所需
教學(xué)中所選取的編程問題,均為學(xué)生較熟悉的生活與學(xué)習(xí)中的實(shí)例。例如在講解選擇語(yǔ)句時(shí),以買打折機(jī)票為例,讓學(xué)生體驗(yàn)編程解決問題的強(qiáng)大魅力;以“猜數(shù)字的大小”這一游戲?yàn)槔鏄烽g,使整個(gè)解決問題的過程妙趣橫生。
為了讓學(xué)生弄清楚循環(huán)語(yǔ)句,所舉實(shí)例為高中生數(shù)學(xué)學(xué)科所學(xué)的“階乘”,n!=n*(n-)*(n-2)*……*2*1。能過說算法、寫代碼,加深了學(xué)生對(duì)數(shù)學(xué)知識(shí)的領(lǐng)悟,又輕松學(xué)會(huì)了循環(huán)語(yǔ)句的應(yīng)用。
5.讓學(xué)生感受程程序的簡(jiǎn)潔之美
以簡(jiǎn)短的程序代碼解決看似復(fù)雜的問題。比如”古印度漢諾塔問題”以遞歸算法求解就是一個(gè)很好的例證。首先讓學(xué)生討論自行嘗試解決。學(xué)生畫柱疊片,當(dāng)金片是1、2、3個(gè)時(shí),還能通過推理演繹得到問題解決方案,但是當(dāng)要求移動(dòng)4個(gè)金片時(shí),想到頭破,學(xué)生也難以很快演算出操作步驟。接下來由老師給學(xué)生演示遞歸程序輕松解決問題。當(dāng)看到輸入測(cè)試數(shù)據(jù)為100,屏幕上顯示的移動(dòng)方案一頁(yè)頁(yè)快速刷過時(shí),全體同學(xué)都被驚艷到。此時(shí)再把程序代碼發(fā)給學(xué)生運(yùn)行測(cè)試,揭秘全過程,學(xué)生會(huì)深切地領(lǐng)略到程序代碼的精妙,更加熱愛編程。
四、結(jié)束語(yǔ)
我將多種教學(xué)模式融入了Python語(yǔ)言這門課程的講授學(xué)習(xí)中:精講Python語(yǔ)言語(yǔ)法(將基礎(chǔ)語(yǔ)句花費(fèi)時(shí)間最小化),精選題目編程練習(xí),采用建立班級(jí)群、讓學(xué)生當(dāng)助教、提供教學(xué)網(wǎng)站等輔助手段提升教學(xué)效果。這些使得在初步培養(yǎng)學(xué)生的編程思維、激發(fā)學(xué)生的創(chuàng)新意識(shí)等方面成效顯著。Python語(yǔ)言簡(jiǎn)便、易學(xué)、好用,是適合初學(xué)者學(xué)習(xí)的編程設(shè)計(jì)語(yǔ)言,可讓學(xué)生把更多的精力放在所要解決的問題上,而不是消耗在學(xué)習(xí)編寫語(yǔ)言的語(yǔ)法知識(shí)上。
當(dāng)然,培養(yǎng)學(xué)生的編程思維和創(chuàng)新能力,遠(yuǎn)非某一門編程語(yǔ)言課程所能解決,可謂任重而道遠(yuǎn)。僅僅是實(shí)踐和探索了Python語(yǔ)言這一課程的有效開展,取得了初步成效,積累了一點(diǎn)經(jīng)驗(yàn)。筆者會(huì)在今后的教學(xué)中不斷改進(jìn)提升,更好地助力學(xué)生編程思維和自主學(xué)習(xí)能力的培養(yǎng)。
參考文獻(xiàn)
[1]基于Python語(yǔ)言編程的計(jì)算機(jī)教學(xué)探討[J].黃赫,孫靜,張思源數(shù)字通信世界,2019(07):269.
[2]基于Python的輔助教學(xué)系統(tǒng)[J].李軍紅電子技術(shù)與軟件工程,2019(17):51-52.