




中圖分類號:G434文獻標識碼:A論文編號:1674—2117(2025)20—0110—03
引言
當前的高校編程課程普遍面臨“知行割裂”的教學困境。一方面,傳統(tǒng)的“理論講授 + 驗證性實驗”教學模式雖然符合學生的認知發(fā)展規(guī)律,但這種針對特定知識點設計的實驗往往導致“驗證性學習”的局限,難以培養(yǎng)學生解決真實問題的能力。另一方面,盡管項目式學習采用任務驅動法,但由于項目復雜度高、周期長,學生容易陷人“終結性交付”的實踐誤區(qū)。在這種模式下,學生普遍缺乏模塊化設計和重構意識,且版本管理能力薄弱,導致與工業(yè)界主流的持續(xù)集成與交付實踐要求存在明顯差距。4本文針對這些問題,依托建構主義學習理論,設計了“階梯式的微型項目鏈”迭代式教學模式,即通過認知導向的迭代演進機制,將離散化編程知識點整合為結構化工程實踐,促進“知識一技能一思維”的三維能力轉化。
下面,筆者以具體的迭代式課例設計為例分享迭代式實踐教學的具體模式。
課例背景與算法
假設需要求解大于1的正數(shù)a的平方根
,即找到x使得 x2=a 二分法的核心思想:
① 確定一個包含平方根
的初始區(qū)間[low,high],如low =0 high Ω=a (因為
。
② 計算區(qū)間中點mid=(low+high)/2。
③ 檢查mid2與a的關系:如果 mid2≈a ,則mid就是近似解;如果 mid2 在右半?yún)^(qū)間;如果mid 2gt;a ,則" 在左半?yún)^(qū)間[low,mid]。
④ 重復上述過程,直到區(qū)間足夠小(如|high-low
四版本迭代詳解
筆者為項目任務設計了四個迭代式的程序版本(禁用庫函數(shù)),并以使用Python語言求√a為例,以每個版本均完成可運行代碼的交付物為目標,通過逐層遞進的問題鏈驅動學生能力的躍遷。
迭代邏輯設計原則具體如下:
增量性——從語言基礎能力的樸素方案,到應用高級技術后的高效與優(yōu)雅。
漸進性—從直觀過程式代碼到抽象遞歸實現(xiàn),認知負荷階梯式上升。
對比性——保留歷史版本代碼,通過差異分析凸顯優(yōu)化路徑。
真實性——模擬生產(chǎn)環(huán)境的實際需求變更(如精度調節(jié)、多目標調用、接口編程)。

圖1
1.手工重復 (版本V1)
代碼特征如上頁圖1所示。
① 教學焦點。
知識點:變量與表達式、if分支語句。
算法邏輯具象化:通過手動迭代理解二分法核心思想。
變量跟蹤訓練:觀察mid不斷逼近1.414的動態(tài)過程。
② 認知沖突設計。
精度調整困境:若需提升精度 至小數(shù)點后6位,需手動復制代碼 段20次,暴露代碼冗余。
代碼的可維護性:若需求√3,僅修改第1行的初始值行不行?(共需要修改3處)

③ 典型錯誤。
區(qū)間更新邏輯顛倒(如誤寫if mid* ?2gt; x時更新a);忽略變量更新(如不更新mid值,只重復if語句)。
2.自動循環(huán)(版本V2)
關鍵改進代碼如圖2所示。
① 教學焦點。
新增知識點:for循環(huán)語句。
循環(huán)結構抽象:將重復模式抽象為for循環(huán)。
工程思維啟蒙:使用變量x代替固定值2,如需求其他值的平方根,只需修改第1行的初始化即可。
② 認知躍遷點。
復雜度認知:討論range(100)循環(huán)次數(shù)的合理性,引入時間復雜度概念;當需要同時求2個數(shù)的平方根時,符號賦值整個流程,代碼依然冗余。
邊界條件設計:暴露當 0 的值超過了初始區(qū)間的右邊界x。
③ 對比實驗。
手動循環(huán)與自動循環(huán)的開發(fā)效率;引入timeit模塊測試不同迭代次數(shù)的執(zhí)行效率。
3.函數(shù)封裝與工程化(版本V3)
關鍵改進代碼如圖3所示。
① 教學焦點。
新增知識點:while循環(huán)語句、函數(shù)定義。
模塊化設計:封裝為可復用函數(shù),支持多目標調用。
工程規(guī)范實踐:添加動態(tài)區(qū)間初始化(解決xlt;1的邊界問題)。
② 能力遷移任務。
橫向擴展:改造函數(shù)計算立方根(僅需修改mid 3
縱向深化:引入單元測試(如pytest驗證sqrt (3)??2≈3 )°
③ 典型工程問題。
邊界值異常(如 x?0 時);函數(shù)接口設計不合理(如參數(shù)epsilon應該有默認精度值以簡化接口調用)。
4.遞歸方式重構 (版本V4)
關鍵改進代碼如圖4所示。
① 教學焦點。
遞歸思維訓練:將循環(huán)邏輯轉化為遞歸基線條件與遞推關系。
內存管理認知:通過sys.getrecursionlimit討論遞歸深度限制。
② 典型工程問題。
參數(shù)epsilon增加默認值;函數(shù)sqrt對遞歸函數(shù)sqrt_recur再次封裝,簡化API接口。
③ 思維拓展。
數(shù)學歸納法映射:遞歸基線條件 $$ 歸納基礎,遞歸調用 $$ 歸納假設。
等價性證明:要求學生數(shù)學證明循環(huán)與遞歸版本的算法等價性。
迭代路徑的教學解析
上述課例通過四版本迭代,實現(xiàn)了三重教育目標:一是知識整合,將離散的語法點(分支、循環(huán)、函數(shù)、遞歸)融入完整項目,破解“學用脫節(jié)”困境;二是工程啟蒙,在微型項目中滲透復雜度控制、接口設計、單元測試等工程實踐,銜接教學與行業(yè)需求;三是思維躍遷,引導從過程式編程到遞歸范式的范式轉換,培養(yǎng)計算思維抽象能力。四個版本的認知能力矩陣如右表所示。
結語
本文提出了“微型項目鏈驅動的迭代實驗模型”,并在應用型本科編程課程中開展了教學實踐,取得了顯著成效。以“平方根求解”項目為例,通過四個版本的漸進式迭代(V1手工重復一V2自動循環(huán)一V3函數(shù)封裝 V4 遞歸重構),學生不僅掌握了Python核心語法,更重要的是培養(yǎng)了工程化的編程思維。實證數(shù)據(jù)顯示,學生作業(yè)提交率達100% ,最終版本完成率為 87‰ 特別值得注意的是,該模式展現(xiàn)出良好的適應性一—基礎薄弱的學生能獨立完成V1版本(完成率 100% ,而通過強制性的分步測試機制,有效遏制了代碼抄襲現(xiàn)象(深度理解率提升 35% 。學習遷移測試表明,83% 的學生能將迭代思維應用于“牛頓法求平方根”任務, 80% 的學生成功將循環(huán)結構遷移至“蒙特卡洛法求圓周率”問題求解中。

參考文獻:
[1]李忠成.高校程序設計課程中引入模塊化教學方法的探討[J].長春大學學報,2019,29(08):95-98.
[2]高華敏,張楊,高曉寶,等.高校驗證型實驗教學存在的問題與對策[J.廣州化工,2020,48(23).173-174+199.
[3]盧小花.項目式學習的特征與實施路徑[J].教育理論與實踐,2020,40(08).59-61.
[4]MARIAGA,ANAAlILLAROAVGLUBVetalAalyingthQualityofSmsisinOlingraingCse/3IEE/ACMttiofeotioidtidaieli2023(05):271-282.e
作者簡介:胡軍成(1979—),男,湖南人,系統(tǒng)分析師、講師,碩士,主要研究方向為信息系統(tǒng)工程、計算語言學。