林茵
(泉州第一中學,福建 泉州 362000)
Python 是一項編程教學語言,高中編程教學中,Python 能全面鍛煉高中生的計算機編程能力,通過編程幫助高中生形成縝密的邏輯思維能力。Python 的功能性較強,不僅自帶數據庫,還具備功能強大的三方數據容量。當前國際教育領域讓人眼花繚亂的分析工具及編程語言中,Python 作為一種高頻率分析工具之一,與現代人類思維習慣具有高度的統一性,這對于高中信息技術課程編程教學具有重要的促進意義。
微項目學習法區別于傳統教學思想,是由崇尚實用主義的克伯屈提出的,更關注學生在學習過程中的實踐性、參與性及綜合性表現。[1]微項目學習法是結合高中課程教學標準,將信息技術學科教學內容,做項目化、課時化、情境化教學轉換,結合該方法進行Python 教學,其價值具體體現在如下幾個方面:
在高中信息技術課程編程語言教學中,借助微項目學習法開展教學,可培養高中生自身知識遷移能力,使其在新舊知識間形成密切的關聯,強化記憶認知深度。[2]結合微項目教學法深入剖析問題,可使高中生主動探索和分析Python 學習與以往計算機知識學習之間存在的關聯與差異,在培養高中生核心學科素養的同時,助推學生全面發展與進步。此外,在高中信息技術學習中,學生遷移知識的過程,也可以作為優化學生思維的流程,從最初的認知推理水平,上升到思維推理水平,從而更加高效、全面地掌握更多信息技術編程知識。
高中信息技術教師為學生展現課程相關內容,圍繞Python 教學重點,可讓學生在突破自我的過程中,不斷探索更新、更多的計算機知識點,從中塑造學生更為健全的自我效能感,使其在學習驅動力的激發下,主動結合信息技術學習需求,編排Python 學習內容,從而更好地掌握計算機文本編程語言,學會將此種語言轉化為帶有具象化特征的知識,緊密連接文本編程與數學問題,幫助高中生深度了解編程技術的未來發展趨勢。[3]此外,還可以在主動探索的過程中,讓高中生站在全方位發展視角審視問題,在腦海中演繹Python 及推理思維框架,最終提升信息技術課程的學習質量。
在微項目學習法引導下,可使學生充分了解計算機編程抽象模式識別以及算法描述等知識點,借此進一步提升教學質量。教師在為學生選擇相關素材時,需要深度結合學生的認知水平,優化高中生信息技術課程的思維訓練目標,使Python 相關知識貫穿整節課堂。另外,教師借助微項目學習法,可緊密結合Python 理論知識和實踐內容,緊扣核心知識點,依托課堂學習拓展知識范圍,拓寬信息技術編程學習視野,使高中生先從淺層次了解編程,逐漸轉變為深度學習,拓展高中生信息技術思維。[4]由此可見,在微項目教學法應用下,不僅可著重開發高中生Python 學習動力,還可提升高中生信息技術操作能力。
高中信息技術課程教學中,規劃學習過程需要從知識本質出發,才能真正解決實際問題,促進高中生提升Python 思維。在針對信息技術課程中Python 做微項目設計時,教學目標須按照學科引領深入剖析教材知識內容,以強化學科目標設定的方式,主動銜接課程核心知識內容。[5]之后,設定微項目任務時需要分層次推進,參考課程標準、教材設計及要求,創設多樣化的教學情境,促進高中生進一步完善課堂合作探究模式。
例如,圍繞“擲骰子”項目教學Python 時,教師可結合課程設計要求及學生學習需求,通過編程創建和使用過程配設,分析Python 繼承關系類別等。協同開發期間,須模擬出“擲骰子”Python 設計程序流程,并指點學生繪制出支持程序流暢運行的相關結構圖。在確認Python 微項目時,還須帶領學生確定驅動性問題,分析學習資源及編程認知工具,讓學生在認知工具及編程資源的支持下,主動找出“擲骰子”程序存在的漏洞并進行針對性修改。
此外,還可以通過“擲骰子”模擬情境,讓學生了解Python 中常量、變量、運算符號、數據類型等語言基礎知識的變化規律,以此在學科設定背景下,全力完善微項目任務驅動內容,提升Python 教學質量。
當高中生明確信息技術課程中Python 微項目教學內容后,教師須帶領學生針對編程中可能出現的問題進行事先預測,并基于宏觀視角針對整個Python 項目的核心內容、關鍵能力進行覆蓋式分析。結合多維度學習活動的體驗及要求,教師在Python 教學時,可將“擲骰子”內容設定為微項目學習任務,結合編程教學要求,設計具體編程任務。
例如,教師在教授高中生圍繞“單分支、雙分支、嵌套分支結構進行相關條件判斷”任務設計Python 時,想要完成程序的循環控制效果,就需要結合for、while 語句在程序循環中甄別breakthrough,借以確保微項目程序的執行方案滿足總體發展框架。
另外,在針對高中生學習信息技術課程中優化Python 高階思維時,教師須為學生布置“編寫Python 程序模擬知識”任務。
例如:設定程序目標為“讓兩個骰子連續拋擲50 次,全程自動記錄骰子出現的點數及頻次”。
此時高中生在設定Python 程序時,可先模擬并拋擲一枚骰子的拋擲狀況,輸出結果,引進random 模塊讓骰子生成隨機數字,以此類推,將骰子的輸出數字制作成2D 圖表,便于統計。同時,為了能夠科學順利繪制出直方圖,教師還應讓學生使用Matplotlib.pyplot.hist,目的是進一步優化數據可視化效果。本次設計的微項目總體程序,主要是以模擬“擲骰子”這一隨機游戲的項目教學過程,指引高中生激發個人思維,思考項目程序流程的設計過程,主動且積極地繪制Python 結構圖,提升Python 效果及編程能力。
為了進一步促進高中生提高Python 微項目學習質量,教師在信息技術課程教學課堂上,可將學生劃分為不同的小組,教師擔任引導角色,圍繞任務群布置不同的微項目內容,培育高中生在學習Python 時,逐漸養成自主學習的習慣。分組學習期間,每個小組中,都可選出一名小組長,由組長為每位組員分配不同的微項目任務,組員捋順各自的任務內容及要求,對照評價量規表,圍繞微項目中承擔的任務進行深度分解。一方面,需要解讀并挖掘微項目課標內容,了解微項目教學新理念,將項目選擇作為教學基礎,制訂具體的解決方案。另一方面,指導教學內容有序化,利用正向激勵,完善Python設計效果。
例如,在設定模擬“擲骰子”Python 微項目進程時,須結合整體編程目標讓高中生了解隨機數的產生原理,并根據任務科學設定用戶接收鍵入符,借助random 模塊自動生成隨機1~6 中的數字,了解不同流程的編程設定。
例如,教師為學生創設Python 情境時,可將“田忌賽馬”作為微項目的情境主題,利用二維元組存儲田忌之馬對齊王之馬的勝率,隨后在枚舉算法的支持下,統計出不同賽馬綜合的勝率。教師在創設Python 情境時,可向學生提出如下問題:
·田忌之馬出場順序有哪些?
·田忌采用何種賽馬組合才能獲得勝利?
隨后使用交互式電子白板,為學生展示如表1 所示的賽馬對戰表:

表1 田忌之馬與齊王之馬對戰統計表
在結合上述田忌賽馬Python 情境后,教師可設計如下兩類難度不同的程序問題,分別是初級問題和高級問題。具體如下:
1.界定問題
使用多媒體為學生展示如下問題:
“計算機Python 是否可以解決田忌賽馬的概率問題,如果可以,那么程序的輸入、輸出、終止條件分別是什么?”
學生討論之后,由教師在交互式電子白板上整理出學生利用學習機提交的答案:
輸入方:田忌之馬、齊王之馬的等級;
輸出方:所有賽馬的出場順序、獲勝方。
2.分解問題
教師利用多媒體課件圍繞下列問題為學生分解問題:
主問題:使用Python 最少經過多少個步驟才能得出田忌之馬的出場方式?
分解問題:一是利用Python 自動統計出所有賽馬的出場方式;二是判斷每一次出場方式的獲勝方是誰。
3.解決問題
該Python 環節會涉及數據抽象與表達、模式匹配以及算法設計,以此組建更完整的Python 教學流程。在計算田忌賽馬的總勝率時,可按照如下編程公式計算:
田忌之馬出場順序:A-B-C;
齊王之馬出場順序:X-Y-Z。
利用Python 計算出田忌之馬的總體勝出率。
利用編程可得出如下勝率計算公式:
勝率的計算結果為:
教師還可指導高中生使用2D 表格表示田忌之馬對戰齊王之馬的勝率,如表2 所示:

表2 田忌之馬對戰齊王之馬勝率統計表
此外,在利用Python 解決微項目“田忌賽馬”問題時,教學的重點在于解決與問題相關對象及對象之間的關系,并將問題進行轉化,形成計算機Python 可處理的形式,具體如表3、表4、表5 所示:

表3

表4

表5
學習成果的展評,需要師生嚴格把控微項目學習過程,唯有學生自主且積極地參與到Python 項目學習中,才能基于知識探索的視角,實現Python 程序設計的協同創新。在Python 支持下拓展編程知識內容時,要想提升學生的編程能力及操作水平,教師應注重培養學生在計算機思維模式下,不斷強化個人編程意識,如此才能利用數據抽象表達與算法設計等過程,梳理出相關對象與對象間的關系,建立合理的數據結構,完成數據表達與知識構建。對于高中生信息技術課程學習成果的評價,需要教師以此激勵高中生積極主動學習,以探索知識為起點,開辟Python 學習的創新空間,依托于延伸和拓展知識內容,讓成果的展示更具價值。
例如,教師在引導高中生參與Python“擲骰子”模擬微項目活動時,可在小組合作得出初步編程成果后,在課堂上展示本組作品,小組間可以相互評價、相互學習,鍛煉組員口語表述能力及語言組織能力,并基于個性特征視角,讓高中生從內心深處意識到參與微項目學習活動的價值與意義。例如,在學習基礎知識時教師可為不同層次的學生,設計差異化的實踐任務,使其結合不同的Python 編程主題,完成各自的學習任務。例如,在解決“擲骰子”概率問題時,教師可引導學生使用Python 程序,打印并輸出九九乘法表,以此將數字與數字間的關聯性以圖形方式直觀展現出來,最終提升高中生掌握各項Python 知識的深度及廣度。
傳統的高中信息技術課程教學中,教學的重點主要集中在語法及算法理論層面,教學起點是基于適合利用編程解決的問題,基本不會涉及解決現實問題的環節,致使高中生不具備自主編程解決問題的能力。對此,教師可在課堂上引進微課教學手段,提前為學生發放時長短小、內容凝練的Python 微課視頻,由學生課前利用碎片化時間初步了解和學習,在課前導入階段形成一定的計算思維意識,最終為培養高中生的Python 能力提供支持。基于微項目教學法,信息技術教師在應用微課開展Python 授課前,可設計如圖1 所示的計算機思維培養流程,幫助高中生梳理Python 知識學習框架,清晰把控學習進度,提升學習質量。

圖1 依托于微課培養高中生計算思維的Python 教學流程
綜上所述,要想進一步提升高中信息技術教學質量,提高高中生的Python 課程教學效果,須將微項目學習法充分應用于教學中,借助現代化的教學工具,幫助高中生全面提升信息技術課程學習效率及質量。一方面,信息技術教師需要整合學生當前的學習內容,確定微項目主題及發展方向,隨即定義出學習目標,才能使Python 課程教學流程更加完善。另一方面,還應主動在課堂上融合計算機思維模式,讓高中生參與到微課背景下創建微項目中,提高其編程能力,最終有效提升高中生的Python 能力,促進其全面發展。