張余萍 江南大學人文學院
2018年,美國國家科學基金會提出STEM+C計劃,即以計算思維(Computational Thinking)驅動科學(Science)、技術(Technology)、工程(Engineering)、數學(Mathematics)這些STEM學科的教學。STEM+C的核心理念是:以項目化學習、問題解決為導向來組織教學,以計算思維來驅動項目探究與學科教學,實現跨學科深度學習。《義務教育課程方案(2022年版)》強調:要設立跨學科主題學習活動,加強學科間相互關聯,打破學科壁壘,設計主題鮮明、問題真實的跨學科學習活動。STEM+C的理念與其不謀而合,而圍繞編程與計算思維的跨學科教學正是這一理念下的最佳實踐方式。部分教師平時在進行編程教學時,常常就知識而教知識,不能將編程與學生的經驗相聯系去解決真實問題,而STEM+C的跨學科理念為編程教學提供了教學設計的新思路。下面,筆者以Python編程與八年級生物《自然選擇》一課融合為例,介紹STEM+C視域下的跨學科編程教學設計的思路與方法。
探究項目首先要適合編程與學科融合,也就是在學生進行項目學習時,編程要能夠驅動探究過程。具體而言,合適的探究性項目應具有以下特征:①探究項目需要提供真實的問題情境與基本的解決途徑,并符合該年齡段學習者的認知背景;②在探究該項目的過程中,科學實驗、計算方法和模型的運用是必要的,要求學生在多個層次上進行抽象思維,并激發其對科學探索產生興趣。
綜合以上幾點,本文選擇八年級生物《自然選擇》這一部分內容作為探究項目載體來展開設計。該探究項目所涉及的遺傳與變異原理作為該學科啟蒙階段的知識難點,可探究性強。其不僅可以作為真實情境通過Python程序解決實際問題,還可以引入計算機模擬仿真工具PhET來輔助問題求解,共同構成跨學科Python編程課。在該項目中,學生將運用Python編程中的循環、選擇結構、函數等知識點,解決生物學中的自然選擇問題。一方面使學生應用Python編程知識進行問題解決,另一方面使學生能夠從不同的角度來審視生物學的問題,真正體現了STEM+C的跨學科屬性。在整個教學過程中,STEM+C既為編程語言學習的開放性與復雜性提供了結構化的窗口,同時也使學科課堂成為培養學生計算思維的沃土。
跨學科項目探究需要為學生設置具體的、生動的探究情境,促使學生在形象、直觀的氛圍中參與解決問題的過程。本例由兩個課時構成,都圍繞“兔子種群的性狀變化”這一情境展開。第一課時借助計算機模擬,引出種群過度繁殖產生性狀突變型的真實問題;第二課時通過合作編程進行問題解決,綜合分析并預測兔子種群變化趨勢。
讓學科知識作為進行編程學習的載體,駐進信息技術課堂往往需要結合多方面因素,如教學對象的特征、內容的特點、實施的條件以及技術特點,其中技術特點與教學內容的相融程度直接決定了教學的效果。在本例中,筆者選用PhET仿真模擬實驗室中的自然選擇模型,以兔子的繁殖演化為例創設探究情境(如圖1)。通過設置毛皮基因(白毛和棕毛)并為兔子添加配偶,系統會自動計算并演示出數代之后兔子種群的性狀構成。在這一過程中,學生發現白色兔子種群經過幾代繁殖后會出現棕色的表現型。這時,學生就會產生困惑:棕毛兔子如何而來?這時,教師可以引導學生對“性狀與基因”的關系作出猜想,并給出解答:生物的性狀由基因控制,產生棕色兔子是因為繁衍的過程中發生了基因重組,隱性性狀表現了出來。例如,白毛兔子1(Aa)和白毛兔子2(Aa)交配生下棕毛兔子3(aa)。

圖1 自然選擇教學實驗模型
在PhET仿真模擬實驗室中,學生可以進一步設置三對基因——白毛—棕毛、長牙—短牙、豎耳—垂耳,同時還能設置食物是否充沛、是否有狼(天敵)等外部變量。學生可以對不同情境下兔子種群繁衍情況提出自己的假設和猜測,然后利用模擬實驗室來驗證假設。在多次嘗試后,學生會有以下三點發現:①棕毛的兔子因為毛色更為接近草原裸露的土壤,不易被捕食者發現,生存率更高;②當環境變得惡劣時,食物可食性降低,長牙兔子更有生存優勢;③豎耳兔相較于垂耳兔對捕食者(狼)的反應更靈敏,生存率更高。這時,教師拋出下一個探究問題:一個種群中表現型對生存率的影響如何計算?是否可以通過編程的方法來進行模擬?
首先由教師告知學生,用ABC來分別代表毛色、牙齒、耳朵三個性狀,大寫為顯性基因,小寫為隱性基因。以毛色為例,顯性基因(白毛)為A,隱性基因(棕毛)為a。學生分成小組展開編程活動,每組隨機從毛色、牙齒、耳形三對性狀的基因型中選擇一種,并組合成一只兔子的完整基因型,如一只白毛短牙垂耳的兔子完整基因型為Aabbcc,一只棕毛長牙豎耳的兔子完整基因型為aaBbCC。
教師任意選取兩組進行互動PK,假定任意兩個個體都能交配,哪一組的兔子生存率更高?哪些性狀能被種群所保留?學生可以根據教師給出的兔子生存環境特征進行猜測,然后使用Python編程模擬子代種群繁衍過程,通過輸入基因型計算生存率。教師先帶領學生設計只考慮一對性狀的模擬程序,然后再由學生進一步編寫三種性狀都考慮的程序。下頁圖2是只考慮毛色性狀的樣例代碼。根據“適者生存”的基本情況,假設白毛兔子的存活率為65%,棕毛兔子的存活率為95%。再通過班級隨機抽簽結果,記種群中顯性純合個體數、雜合個體數、隱性純合個體數分別為k、m、n。

圖2 編程活動參考代碼
為了提升協作思維,本課程在最后設置了小組綜合性探究任務:全班學生自由組成2~3人一組,每個小組在計算機網頁模型上自主設計初始參數,包括兔種群的三種性狀的顯隱關系,以及食物、狼、氣溫等環境因素。學生借助模型觀察該種群進化過程,并整合分析其統計出的種群不同階段特征值,進行數據動態變化的監測與記錄,分析進化過程與進化結果。最后小組成員共同撰寫實驗報告并提交。這一部分雖然沒有涉及具體代碼的書寫,但可以幫助學生基于數據進行抽象思考與總結。至此,整個教學設計已真正做到了計算思維可視化、學習情境數據化,學生編程知識的綜合應用能力得到了提升,問題也真正得到了解決。
本文以探究項目“自然選擇”為例,呈現了STEM+C視域下跨學科編程教學設計的思路。這類教學設計需要以探究項目為載體,以編程或其他技術腳手架為工具,通過特定教學情境的學生探究來實現?!翱鐚W科”作為新課標的重要內容,為教學創新提供了新的視角,但是也提出了挑戰??鐚W科教學需要不同學科教師共同設計,需要在不同學科中找到適合跨學科的切入點。在這個技術高速發展的時代,信息技術與其他學科進行跨學科融合應該是一個優勢點,因為這樣能夠為其他學科的教學提供強有力的技術腳手架。而編程與計算思維作為新時代學生需要掌握的必要技能,在教學過程中也需要真實的問題情境做支撐。因此,將編程教學與具體的學科問題解決相融合,為跨學科教學這一理念提供了最佳實踐路徑。本文只是拋磚引玉,希望在未來有更多同仁能夠圍繞這一主題進行探索,分享更多精彩案例。