陳益峰 秦紅兵
摘? 要 基于高中信息技術(shù)學(xué)科核心素養(yǎng)要求,以Python課程為研究媒介,在論證高中信息技術(shù)開設(shè)Python的重要性及必要性的基礎(chǔ)上,一方面通過Python教學(xué)設(shè)計(jì),消除以往高中信息技術(shù)程序語言模塊重算法、輕思維的弊端,促進(jìn)程序設(shè)計(jì)思路與程序調(diào)試應(yīng)用的協(xié)同性;另一方面構(gòu)建Python合理教學(xué)實(shí)施方案,強(qiáng)化“編程序、讀程序、改程序”的教學(xué)實(shí)施,提升高中生問題發(fā)現(xiàn)、分析、解決的綜合能力,其間注重計(jì)算思維核心素養(yǎng)的培養(yǎng)。
關(guān)鍵詞 高中信息技術(shù);核心素養(yǎng);計(jì)算思維;Python
中圖分類號:G434? ? 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2021)07-0090-02
1 為什么學(xué)Python:重要性及必要性解讀
重要性解讀? Python的重要性主要體現(xiàn)在兩個(gè)方面。
一方面,Python代表了高中信息技術(shù)教育的重要趨勢?!镀胀ǜ咧行畔⒓夹g(shù)課程標(biāo)準(zhǔn)(2017年版)》(以下簡稱《標(biāo)準(zhǔn)》)指出:“將知識建構(gòu)、技能培養(yǎng)與思維發(fā)展融入到運(yùn)用數(shù)字化工具解決問題和完成任務(wù)的過程中?!睋Q言之,新時(shí)期高中信息技術(shù)教育應(yīng)積極運(yùn)用軟件、硬件工具,以此展開信息技術(shù)知識、技能的高度聚合,并通過數(shù)字化工具踐行學(xué)以致用、知行合一。Python作為一種主流的程序開發(fā)語言,能夠很好地兼容基于項(xiàng)目學(xué)習(xí)方式的多元需求。
另一方面,Python體現(xiàn)出核心素養(yǎng)下高中信息技術(shù)教育的重要價(jià)值。20世紀(jì)80年代至今,我國高中信息技術(shù)學(xué)科經(jīng)歷數(shù)次方向轉(zhuǎn)變,從早期的計(jì)算機(jī)選修課到計(jì)算機(jī)必修課,再轉(zhuǎn)型為信息技術(shù)課,教學(xué)思維發(fā)展路線為“計(jì)算機(jī)文化素養(yǎng)→信息文化素養(yǎng)→信息思維素養(yǎng)”,在知識層次維度逐漸由表及里、由易到難。Python相比舊版教材中涉及的初級知識(如計(jì)算機(jī)操作、文字處理、網(wǎng)絡(luò)運(yùn)用等),更能體現(xiàn)本學(xué)科的內(nèi)在價(jià)值。
必要性解讀? 程序員中流行這樣一句話:“Life is
short, you need Python.”(人生苦短,你需要Python。)
這句話從側(cè)面反饋出該語言簡潔、方便、高效的優(yōu)勢,相對C/C++、Java等主流編程語言,Python在教學(xué)方面具有更明顯的優(yōu)勢。從學(xué)情實(shí)際出發(fā),高中信息技術(shù)開設(shè)Python的必要性更明顯,主要包括以下三個(gè)方面的原因。
1)Python適用于高中階段學(xué)生編程水平。《標(biāo)準(zhǔn)》必修課程模塊一“數(shù)據(jù)與計(jì)算”中明確要求“掌握一種程序設(shè)計(jì)語言的基本知識”,即高中階段不以培養(yǎng)專業(yè)程序員為目標(biāo)。Python同時(shí)具有簡單、易學(xué)、明確等優(yōu)勢,特別是在語言表達(dá)風(fēng)格上類似于自然語言,例如:
age=int(input(“請輸入當(dāng)前年齡:”))
if age<18:
print(“你屬于未成年人”)
以上代碼用自然語言表述即為“小于18周歲的是未成年人”。即便學(xué)生具有ActionScript、C語言等經(jīng)驗(yàn),也能夠輕松地理解內(nèi)涵,較容易上手。
2)Python具有教學(xué)環(huán)境的強(qiáng)大適應(yīng)能力。信息技術(shù)教育需要一定的硬件環(huán)境支持,如最基本的計(jì)算機(jī)教室,考慮到我國高中階段信息技術(shù)資源分配不均衡,在編程語言教學(xué)中不適合選擇過于專業(yè)的語言項(xiàng)目。而Python是一種開源語言程序,既不需要付出過高經(jīng)濟(jì)代價(jià)購買正版軟件,也可以在多種操作平臺(Windows、Linux、Android等)進(jìn)行移植,便于組織教學(xué)。
3)Python在實(shí)操方面可滿足個(gè)性化思維。從技術(shù)層面說,Python是一種面向?qū)ο缶幊陶Z言,集成了豐富類庫,便于可嵌入性、可擴(kuò)展性操作,學(xué)生的個(gè)性思維可以充分展現(xiàn)出創(chuàng)造力;同時(shí)設(shè)計(jì)了規(guī)范代碼格式(強(qiáng)制縮進(jìn)),以培養(yǎng)學(xué)生良好的程序語言書寫習(xí)慣。
2 怎樣進(jìn)行Python教學(xué)設(shè)計(jì):把握核心素養(yǎng)培養(yǎng)主次
以計(jì)算思維核心素養(yǎng)培養(yǎng)為主要目標(biāo)? 信息技術(shù)四種核心素養(yǎng)相互獨(dú)立又相互滲透,在具體教學(xué)內(nèi)容上的呈現(xiàn)程度是有區(qū)別的。高中信息技術(shù)Python教學(xué)的主要內(nèi)容是程序編寫,影響教學(xué)質(zhì)量及學(xué)習(xí)效果最大的要素并不是軟件或硬件,而是學(xué)生能否根據(jù)對“現(xiàn)實(shí)問題的抽象”將其轉(zhuǎn)化成“程序語言的表達(dá)”,整個(gè)過程都離不開計(jì)算思維的作用。通過解讀《標(biāo)準(zhǔn)》中計(jì)算思維核心素養(yǎng),可歸納為“界定問題→抽象特征→建構(gòu)模型→分析數(shù)據(jù)→解決方案”,Python教學(xué)中促使學(xué)成養(yǎng)成這種思維習(xí)慣是第一目標(biāo)。
如解決“固定長度線段圍成圓形、正方形,哪個(gè)面積更大”的問題,以計(jì)算思維核心素養(yǎng)培養(yǎng)為目標(biāo),需要先讓學(xué)生“界定問題”,即抓住問題的核心要素(半徑r和邊長a);再進(jìn)行“抽象特征”的轉(zhuǎn)化,即將線段(l)轉(zhuǎn)化成圓形面積、正方形面積公式;在此基礎(chǔ)上“建構(gòu)模型”,包括l長度輸入模塊、半徑及邊長計(jì)算模塊、面積計(jì)算模塊、面積比較模塊、較大值及對應(yīng)圖形輸出模塊等;隨后取一定區(qū)間的數(shù)值反復(fù)輸入、輸出,“分析數(shù)據(jù)”過程中找出規(guī)律所在;最后提交方案。
以其他三種核心素養(yǎng)培養(yǎng)為輔助目標(biāo)? 信息意識、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會責(zé)任三種核心素養(yǎng)在Python教學(xué)中也有體現(xiàn),但相對計(jì)算思維而言并不強(qiáng)烈,且任何學(xué)科核心素養(yǎng)培養(yǎng)都不是一蹴而就的,隱性屬性的核心素養(yǎng)可以設(shè)定為輔助目標(biāo)。如在程序設(shè)計(jì)過程中普及“黑客”“紅客”等知識,將網(wǎng)絡(luò)安全與社會穩(wěn)定聯(lián)系起來,以培養(yǎng)高中生的信息社會責(zé)任核心素養(yǎng)。又如在學(xué)習(xí)Python的過程中,將現(xiàn)實(shí)中的問題作為教學(xué)案例,引導(dǎo)學(xué)生主動嘗試應(yīng)用Python解決現(xiàn)實(shí)問題,以增強(qiáng)其信息意識核心素養(yǎng)等。
以自主、探究、合作教學(xué)為途徑? 自主、探究、合作是《標(biāo)準(zhǔn)》提出的三種學(xué)習(xí)方式,為保障教與學(xué)的對稱性,高中信息技術(shù)Python教學(xué)中也應(yīng)構(gòu)建對應(yīng)的教學(xué)方式,由教師主導(dǎo)采用靈活的組織方式。如分組合作、項(xiàng)目教學(xué)、翻轉(zhuǎn)課堂等多種形式,從“程序員”的視角展開師生互動,利用Python解決現(xiàn)實(shí)中的問題,其間注重學(xué)生創(chuàng)造性思維的引導(dǎo),關(guān)注不同個(gè)體對待程序設(shè)計(jì)的差異性,確保獨(dú)立思考與團(tuán)隊(duì)合作的協(xié)同。
3 如何進(jìn)行Python教學(xué):編程序、讀程序、改程序
編程序:筑牢Python根基? 任何一門知識或技能的獲得,都需要從基礎(chǔ)做起,切不可好高騖遠(yuǎn)?!稑?biāo)準(zhǔn)》也強(qiáng)調(diào)“在接受信息技術(shù)教育過程中逐步形成”。結(jié)合一般教育實(shí)踐邏輯,高中信息技術(shù)Python作為新學(xué)科也必然要從基礎(chǔ)學(xué)起。然而,相對高中文化課(如語數(shù)外等)而言,信息技術(shù)本身是一門實(shí)踐性較強(qiáng)的課程,正所謂“百聞不如一見,百見不如一練”,直接上手編程序是一個(gè)可行且高效的方法。在筑牢Python根基的過程中,教師可選擇一些相對簡單的代碼模塊,讓學(xué)生通過練習(xí)掌握這一編程語言的風(fēng)格、規(guī)律,如“print("Hello, World!")”語句,用來理解“Print”的作用是打印輸出。又如“if…else…”語句的練習(xí),有助于培養(yǎng)學(xué)生的條件判斷思維。
但必須要注意的是,程序編寫不等同于“敲代碼”。當(dāng)前我國高中信息技術(shù)教學(xué)活動中存在一種誤區(qū),即強(qiáng)調(diào)教師的過度服務(wù)職能,將一切硬件、軟件、材料都準(zhǔn)備好,學(xué)生在坐享其成的基礎(chǔ)上完成學(xué)習(xí)項(xiàng)目,這明顯不利于核心素養(yǎng)形成。實(shí)操技術(shù)包括Python工具認(rèn)識、環(huán)境配置、解釋器安裝、應(yīng)用搭配等,學(xué)生應(yīng)能夠從無到有搭建一個(gè)Python開發(fā)環(huán)境,核心素養(yǎng)培養(yǎng)的效能也可得以發(fā)揮。
讀程序:掌握Python原理? 嚴(yán)格意義上說,Python不僅是一種編程語言,也代表了一種邏輯思維,在整個(gè)編程語言工具開發(fā)、完善的過程中不斷進(jìn)行語法結(jié)構(gòu)、語用元素、語言功能的調(diào)試和優(yōu)化,進(jìn)而形成有章可循的規(guī)律。高中學(xué)生要達(dá)到觸類旁通、舉一反三,就需要透過Python表象觀察本質(zhì),掌握這一編程語言的基本應(yīng)用原理。讀程序是一個(gè)有效的教學(xué)途徑,它并不受課堂教學(xué)環(huán)境的限制,教師通過發(fā)布一些程序片段,讓學(xué)生參照示例解讀,用自然語言描述出來,以此提高程序語言理解能力。
但這里存在一個(gè)大前提,即要讀懂Python程序,必須掌握一些基本語句內(nèi)涵,包括英文符號的含義等,就如同語文教學(xué)中學(xué)習(xí)生字,數(shù)學(xué)教學(xué)中認(rèn)識數(shù)字。系統(tǒng)梳理Python編程語言理論模塊,如“控制語句”中if、try、for class等的含義及應(yīng)用,按照理解難度由低到高梳理“表達(dá)式”“函數(shù)”“類”“對象方法”等。
改程序:提升Python技巧? 高中信息技術(shù)Python教學(xué)中要引入“bug”的概念,讓學(xué)生明白編程中出現(xiàn)運(yùn)行錯(cuò)誤是正常情況,即便能夠運(yùn)行、編譯、輸出,也不意味著程序盡善盡美,要嘗試進(jìn)一步尋求優(yōu)化的可能。
改程序是一種有效的技巧提升手段。在教學(xué)過程中,教師可以提供一系列同等功能的程序片段,讓學(xué)生自行判斷并優(yōu)化修改。這一過程不僅鍛煉了學(xué)生的判斷能力,也強(qiáng)化了對Python語言的運(yùn)用能力。如被修改的程序是以“if…else…”語句描述的,讓學(xué)生利用“while”語句進(jìn)行修改,要求達(dá)到同樣的編程效果。同時(shí),改程序也可以作為高中信息技術(shù)家庭作業(yè)形式出現(xiàn),彌補(bǔ)長期以來該學(xué)科缺乏量化評估的缺陷。
4 結(jié)語
Python作為一種開源語言,在互聯(lián)網(wǎng)上有著海量的學(xué)習(xí)資源,各種論壇、社區(qū)、自媒體等都是學(xué)生自主學(xué)習(xí)的平臺。教師要引導(dǎo)學(xué)生跨越課堂教學(xué)局限,主動向“互聯(lián)網(wǎng)+信息技術(shù)”領(lǐng)域過渡,不僅有利于其Python水平的提升,也為學(xué)科核心素養(yǎng)培養(yǎng)提供了有利條件?!?/p>
參考文獻(xiàn)
[1]黃強(qiáng).“智能+”時(shí)代高中信息技術(shù)教與學(xué)的思考:以Python語言教學(xué)為例[J].教育信息技術(shù),2020(4):31-34.
[2]鄭興艷.例談基于學(xué)科核心素養(yǎng)的高中信息技術(shù)教學(xué)[J].中國信息技術(shù)教育,2020(8):59-60.
[3]鄭興航.高中Python校本課程的設(shè)計(jì)與實(shí)施[J].中國信息技術(shù)教育,2019(10):43-45.
[4]陳秋燕.高中Python程序教學(xué)的實(shí)踐與思考:以《趣味小游戲程序設(shè)計(jì)》為例[J].教育信息技術(shù),2019(Z1):
109-112.
[5]張成.基于核心素養(yǎng)的高中信息技術(shù)學(xué)科教學(xué)策略研究[J].中小學(xué)教學(xué)研究,2019(1):73-76.