許 凡 (深圳第二外國語學校 廣東深圳 518110)
模擬實驗是一種常用的科學探究方法。通過對研究對象進行模擬并建立模型,在模型的基礎上進行研究,進而揭示研究對象的本質與活動規律。
性狀分離比的模擬實驗是《普通高中生物學課程標準(2017年版)》中活動建議“模擬植物或動物性狀分離的雜交實驗”,是人教版教材必修2《遺傳與進化》模塊中第1 章“遺傳因子的發現”中的重要實驗。該實驗旨在讓學生通過模擬實驗從感性上認識遺傳因子的分離、配子的隨機結合與性狀之間的數量關系,通過體驗孟德爾的假說深刻理解性狀分離比產生的原因及條件,從而突破分離定律的本質這一教學重難點[1]。
該實驗的實驗器材僅為顏色不同的乒乓球與塑料小桶,易于準備,但在實際教學過程中,更多教師選擇用動畫或講解的方法完成實驗教學,而非讓學生完成實驗。因為本實驗雖操作簡單,但若希望實驗結果出現正確的性狀分離比,則需要加大抽取次數以確保樣本量足夠大,這會增加耗時;且該實驗中雌、雄配子隨機結合是模擬實驗成功的關鍵。但人為抓取很難保證隨機性[2]。
原理:原實驗中以2個小桶分別模擬雌、雄生殖器官,顏色不同的乒乓球模擬基因型不同的雌、雄配子,再通過隨機抽取并組合模擬雌、雄配子的隨機結合。從數學的角度上看,雌、雄生殖器官相當于2 個集合,雌、雄配子的基因型即集合中的元素,若設計一段Python 語言,每次運行均可隨機從2 個集合中各抽取1 個元素并進行組合,便能完整模擬該過程。
Python 是一種跨平臺的計算機程序設計語言。是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言,常被用于軟件開發、網絡爬蟲、科學計算和統計等領域。且Python語言易于解讀,即使對編程一無所知,學生也可合理猜測代碼的含義并進行簡單修改。本文嘗試利用Python 解釋器軟件編寫源代碼,使學生在課堂上可通過變更實驗參數,快速獲得模擬實驗數據。
計算機配置:Python 解釋器有針對Linux、Windows、OS X 系統的版本可從http://python.org/免費下載。本節課所用程序運算量較小,只要能安裝系統的電腦均可順利運行。但一般的Python 解釋器界面比較單一,推薦下載“海龜編輯器”供上課使用(https://python.codemao.cn/)。
方法步驟:利用編程類軟件(如“海龜編輯器”)編輯Python 語言,輸入如圖1程序后,保存為“*.py”格式文件。在課堂上學生只需要點擊運行,即可出現雌、雄配子每次隨機結合的基因型,并統計出各種基因型出現的次數(圖2),且每次運行都是獨立事件,會獲得不同的實驗結果。

圖1 利用Python 模擬豌豆雜交實驗(一)

圖2 運行程序后呈現的實驗結果
3.1 快速獲得可靠結果,提高課堂效率 學生利用Python 進行模擬實驗時,只需1 s 便能快速獲得實驗結果,相較小球抽取的方法更加便捷,且電腦操作可保證隨機性。
3.2 學生可隨意修改樣本量 教師可將提供給學生的文件中的樣本量設置為10,當學生運行后發現結果不符合3:1 時,教師再引導學生思考樣本量大小對于該實驗準確度的影響。學生對程序文件進行簡單修改后,可更改樣本量。具體操作方法為:將程序文件中“for i in range(1,11)”的數字進行更改,即將“11”改為“樣本量+1”。若期望樣本量為100,則修改為“101”。經筆者測試,即使將樣本量修改為10 000 后,也僅需3 s 即可出現實驗結果。
3.3 修改集合元素,利于學生自主學習 經改進后,操作時間極大縮短,實驗的原理也更加清晰,教師可在此基礎上將實驗進行延伸,探究基因連鎖現象與自由組合定律的本質[3]。
在完成上述實驗后,教師可提問:若A/a所在染色體上存在另一對等位基因B/b,且A和B在同一染色體上,如何修改程序模擬該個體自交后代性狀分離比?學生通過討論可得出結論:修改2個集合的元素,即將集合{A,a}修改為{AB,ab}。
進一步提問:若A/a與B/b2對等位基因位于非同源染色體上,如何模擬非等位基因的自由組合與自交后代的性狀分離比?學生首先需要修改程序模擬非等位基因自由組合的過程(圖3),再模擬4 種配子結合的過程(程序見圖4)。

圖3 利用Python 模擬非等位基因自由組合過程

圖4 利用Python 模擬豌豆雜交實驗(二)
學生在思考問題的同時便完成了知識的遷移,修改程序并運行獲得相應結果可提高學生學習的成就感,并具有高度自我效能感,使其有信心挑戰更多的遺傳學問題。
隨著高中教學改革的逐步推進,如何提高高中生物學實驗教學質量成為當前高中生物學教學面臨的又一挑戰。在新媒體背景下,數字化實驗模式需要逐漸走進高中課堂,如何科學利用新媒體技術推動中學生物學實驗教學創新發展,也是亟待教師思考的問題[4]。本文通過引進Python語言模擬性狀分離比實驗,可充分發揮學生的能動性,教師僅需在課前準備好最初的編程語言,在課上對語言進行簡單的講解、疑問解答,學生通過合作與討論,邊操作邊思考,邊討論邊嘗試,通過問題的深入與知識的遷移,學生對微觀的遺傳規律及本質理解得更加透徹。
此外,當前學科之間的交融愈發明顯,例如,在本節課Python 語言的編寫過程中,既要求學生正確理解生物學科孟德爾遺傳定律,也需要運用高中數學“算法與程序框圖”的邏輯能力;既體現注重改造創新的技術型,又體現了注重項目改造開發的工程型,是STEM 教育(科學、技術、工程、數學)理念的具體應用,提高學生聯系各學科知識及處理問題的能力。