鄭大偉 天津市河東區天鐵第二中學
本微課以人教-中圖2019版高中信息技術教材必修1第二章第四節“2.4.2基于枚舉算法的問題解決”的知識為設計依據,適用對象為高一學生,兼顧其他對Python編程有興趣的學習者。結合高中信息技術學科課程標準,從大單元教學設計視角看,本微課是“算法與程序實現”單元教學的重點和難點,旨在通過典型實例的項目探究,鍛煉學生計算思維,使其增強算法優化意識,并借助Python這一數字化編程工具實現問題的解決,提升信息意識和數字化學習與創新能力,增強學習內驅力。
本節課立足數字化學習環境Python程序設計,突破使用枚舉算法解決實際問題這一教學難點,以落實立德樹人根本任務、培育信息技術學科核心素養為出發點,面向全體學生。“理論學習+課程實踐”的設計思路全面覆蓋教學過程,培育以學習為中心的教育學關系,在問題解決過程中促進學生計算思維的拓展,培育學生數字化學習與創新能力。[1]本微課不僅融合了“二分法求方程近似解”等跨學科知識,還配備了豐富的相關素材文件。這都切實增強了課程學習的全面性、延伸性、開放性。
本微課的結構設計,融合了筆者所在學校的“互動教學模式”,以“展標引入、新知探究、深度研習、融合提升、分層練習、總結反饋”為學習主線,內容層層深入,采用情境教學、互動教學、任務驅動等教學模式,呈現科學完整的教學過程。此外,課程還設置多角度的示例點撥、多層次的課后編程作業,最大限度地實現多維度展示、多梯度教學。
本微課重構教材內容,大膽創新,融合跨學科背景,結合我國古代數學文化,選取既典型又有趣的韓信點兵、百錢百雞等問題,在有限的教學時間內,研究枚舉算法的Python編程思路,淡化知識重難點的單一講授。學生在探究過程中,體驗傳統的數學解題思路與數字化工具Python解決問題的特色。課后,以雞兔同籠問題、完美立方數、素數判斷三個問題分別作為基礎編程、能力提升、拓展探究的分層作業,寓學于樂,激發學生的編程熱情和學習內驅力,引導學生互動參與,檢驗學習成果。
微課的設計不應該只是單純的知識點講解,更應該體現課程的交互性,以學生為主體,吸引學生參與學習。在有限的課堂時長條件下,為保證學習效果,本微課采用文字提示、箭頭框圖、懸停按鈕、提示掃碼等方式,在關鍵環節加強與學習者的交互,提升了教學有效性,優化了學習體驗。學習者參與完答題互動、學習測評后,也會得到結果的即時反饋。
第一,基于落實學科核心素養要求。2022年已經是天津市使用人教-中圖2019版信息技術新教材的第三年,如何按照普通高中課程標準要求,保證信息技術學科核心素養落地至關重要。本節微課的制作以《普通高中信息技術課程標準(2017年版2020年修訂)》為準繩,落實立德樹人根本任務,從信息技術學科信息意識、計算思維、數字化學習與創新、信息社會責任四大核心素養出發,設計課程內容,凸顯高效教學、有意義學習。
第二,基于落實“雙減”政策的要求。自“雙減”政策實施以來,在學校完備的課后服務體系的支持下,筆者所在學校教師團隊開設了體育鍛煉、文化研究、編程實踐、生涯規劃等多樣的自選課程。“算法與程序設計”系列微課程應運而生,本節微課選自其中。本微課既可作為信息化教學資源,又可作為提升學生信息素養的活動拓展課。
第三,基于教師信息化能力提升的需要。通過天津市中小學教師信息技術應用能力提升工程2.0“整校推進”,教師充分認識到應將信息技術與學科教學深度融合,高效合理地利用多種媒體和網絡資源。同時,本節微課結合深度學習和大單元教學,在線互動理論問答、自主探究編程、掃碼測評反饋等環節,重視課程交互體驗,有利于將知識的淺層學習引導至深度學習。韓信點兵、百錢百雞等趣味問題情境的設置,讓學生在真實的案例中體驗枚舉算法的問題解決思路,切實改善教學效果。
第四,基于師生實現高效教與學的需要。當前,線上與線下教學的頻繁切換容易影響正常的教學進度和學習效果,學生的學習內驅力也可能因此減弱。探索線上線下教學有效融合策略,提高學生學習內驅力是教師急需考慮的問題。交互式微課資源比傳統課堂資源更能激發學生的學習興趣,更有利于教師探索線上線下教學融合策略,進而提升學生學習內驅力。
總體而言,本微課設計以“展標引入、新知探究、深度研習、融合提升、分層練習、總結反饋”為學習主線,采用情境教學、互動教學、任務驅動等教學模式,提升學習內驅力,立足核心素養培育,落實立德樹人。
具體來講,設置韓信點兵、百錢百雞等趣味問題情境。在體驗枚舉算法解決問題的過程中,添加在線互動問答、自主編程、測評反饋等環節,重視課程交互體驗,支持學生信息素養發展。同時,教師輔以思路點撥、示例展評、分層練習,既鼓勵學生編程創新、彰顯個性,又重視學生利用數字化工具深度思考解決問題。微課設計思路思維導圖如圖1所示。

圖1 微課設計思路思維導圖
(1)微課名稱
玩轉Python編程中的枚舉算法。
(2)學習目標
①通過典型實例的探究練習,能夠準確將關鍵文字信息轉化為Python程序語句,提升信息意識。
②明確枚舉算法的定義和適用條件,通過使用枚舉法編程解決典型實際問題,鍛煉計算思維,體會枚舉法在問題求解過程的優勢和局限性,增強算法優化意識。
③經過實例互動編程到自主探究的過程,熟練掌握基于枚舉算法的Python程序設計及調試方法,鼓勵編程創新,體會數字化工具在問題求解過程中的優勢。
④負責任、規范、安全地使用信息技術工具,增強信息社會責任意識。
(3)學習重難點
重點:①理解枚舉算法解決問題的思路;②利用枚舉算法解決典型實際問題。
難點:利用枚舉算法解決典型實際問題。
(4)學情分析
本微課適用于高一學生,學生已經具備Python編程的基本語法知識,對順序、選擇、循環三類基本程序結構能夠熟練識別,掌握了簡單程序的編寫。枚舉算法既涉及簡單表達式,又包含基本程序結構,學生學習有難度。通過合理設計教學過程,配合高效的信息化教學手段,學生能較好地攻克知識難點。
(5)學習過程
①展標引入。本部分用剪映+MG動畫人物展示課題,結合課程標準和核心素養,說明課程學習內容和重難點,如圖2所示。

圖2 展標引入階段相關內容
②新知探究。本部分以“理論+情境”的結構完成微課設計。首先,微課介紹枚舉算法的編程思路—確定枚舉對象、枚舉范圍、驗證條件,借助循環語句或條件語句進行相應的程序設計,實現問題的解決。接著,引出問題情境—韓信點兵問題,如圖3所示。微課內容則使用文字提示、鼠標懸停按鈕,引導學生互動思考,鼓勵學生自主探究程序設計。如果此時學生思考遇到問題,則繼續觀看微課,先借助流程圖厘清問題再進行編程。最后,教師展評兩種編程示例,深度解讀while循環和for循環的應用。

圖3 新知探究階段相關內容
③深度研習。本部分枚舉算法解決百錢百雞問題,即一百個銅錢買了一百只雞,其中公雞一只5錢,母雞一只3錢,雛雞一錢3只,問一百只雞中公雞、母雞、雛雞各多少。根據提示,學生可以著手確定枚舉對象、枚舉范圍、驗證條件,選取合理的程序結構嘗試編寫程序。同樣地,如果學生遇到編程問題,依然可以先根據教師的引導,分析問題的流程圖,然后進行編程。與上一學習階段不同的是,本部分設計留白,提示學生掃描二維碼或者參考素材文件,參與實時互動,在課程引導下獲得即時反饋。接著,視頻以三重for循環為例,就百錢百雞問題進行點撥指導,指出二重for循環如何實現算法優化。
④融合提升。本部分主要體現算法優化思想與跨學科知識的延伸。微課使用MG動畫,以天平找次品為例,即借用天平,查找100個標準零件中的1個輕質次品。引導學生回顧利用枚舉算法解決問題的基本思想,體會逐一對比查找與折半查找在算法效率方面的差異,樹立算法優化思想,進而延伸跨學科知識“二分法求方程近似解”。
⑤分層練習。本部分設置并解讀梯度顯著的編程延伸訓練,提示學生編程后,互動獲取即時反饋,對比參照解析,再次體會枚舉算法的求解思路、算法優化思想。[2]分層作業內容如下。基礎編程題:有若干只雞兔同在一個籠子里,從上面數,有35個頭,從下面數,有94只腳。采用枚舉法編程求解雞和兔的個數。能力提升題:形如a3=b3+c3+d3的等式被稱為完美立方等式。例如,123=63+83+103。編寫一個程序,對任給的正整數N(N≤100),尋找所有的四元組(a,b,c,d),使得a3=b3+c3+d3,其中a,b,c,d大于1但小于等于N,且b≤c≤d。拓展探究題:輸出100以內的所有素數,請利用枚舉算法設計程序。
⑥總結反饋。本部分對整節課的教學內容進行總結,回扣學習目標,鼓勵學生完成并分享學習態度、學習行為、學習目標達成度三個維度的學習評價,客觀反饋自己的學習結果,完成個性化測評。教師則獲得全體學生的學習反饋檔案。
①如何體現微課教學在重難點知識(利用枚舉算法編程)學習方面的有效性、高效性。
②如何提升教學過程的交互性,指導學生自主探究和參與編程實踐。
③如何滿足不同學習能力學生的學習需求,獲得全體學生的學習反饋。
本課程使用PPT對學習內容的基本框架進行設計,設計合適的背景圖片、插圖、文字素材等,借助剪映電腦版進行交互式按鈕、MG動畫、轉場效果的編排,利用iOS手機系統自帶的錄音軟件和無線領夾麥完成音頻的采集和優化,最后在剪映電腦版進行音畫合成。
①在教學內容方面,本課程優化和重構教材有關枚舉算法的介紹,站在深度學習理論和大單元教學視角,選取典型的情境教學案例。在技術實現方面,使用“PPT+剪映+音頻”制作微課,既保留PPT學習的簡單直觀優勢,又融合剪映在視頻呈現方面的流暢性與趣味性,吸引學生好奇心,激發學生學習熱情,實現有效教學。
②利用文字提示、懸停按鈕、掃碼測評等工具引導學生交互,淡化知識的單一講解,科學設置互動問答題目和實踐編程難度,持續吸引學生注意力,鼓勵學生參與程序設計,增強學習內驅力。
③注重選取豐富、全面的配套素材文件,拓展延伸有限的課程內容,設置課后分層練習、在線學習測評,反饋學習評價,以滿足不同學習能力學生的學習需求,最大限度地實現個性化指導。
第一,微課開發前,筆者充分調研了學情,明確了學生在算法與程序實現單元學習的困難,切實站在學生角度設計教學流程、教學思路。對于Python程序設計難點問題,本節課充分考慮了教材結構和學生喜好,合理地處理了學習內容間的邏輯關系,設計了學生喜愛的授課風格和動畫效果,協調呈現字、音、畫等多媒體,合理調節元素布局,融合信息技術促成學科核心素養。
第二,在學習的關鍵環節,微課也設置了互動環節,有延伸,有留白。一節成功的微課應該注重教學實效,但教師過多的講授總能引起學生學習的疲乏。因此,本微課重視學習互動,重視課程延伸,重視教學留白,努力做到讓學生學習后獲得感十足,意猶未盡,想聽下回分解。
第三,微課是優化教學過程、提升教學實效的有效手段。在開發“算法與程序實現”系列微課程時,教師應該充分利用線下教學,對學生進行編程指導。這樣既可以讓教師了解本課程在服務教學時出現的不足,也可以實現對學生的個性化指導。