林國斌

摘 要:文章借鑒運用數(shù)學建模思想,以培養(yǎng)計算思維的六種子能力融入教學活動中,構(gòu)建了基于發(fā)展計算思維的課堂教學模式,并以“枚舉算法”一課的教學為例,探討如何運用該模式進行教學的實施并提出相關(guān)建議。
關(guān)鍵詞:信息技術(shù);計算思維;數(shù)學建模;教學模式;枚舉算法
一、 引言
《普通高中信息技術(shù)課程標準(2017年版)》明確把計算思維列入學科的核心素養(yǎng)。如何發(fā)展學生的計算思維值得一線教師進行更深入的教學實踐與探索。為此,筆者嘗試借鑒運用數(shù)學的建模思想,以培養(yǎng)計算思維的六種子能力融入課堂教學實踐中,尋找一種發(fā)展學生計算思維的有效教學模式。文章以教科版高中信息技術(shù)必修一4.1節(jié)中的“枚舉算法”教學為例,探討如何運用數(shù)學建模思想發(fā)展學生的計算思維。
二、 數(shù)學建模思想與計算思維
計算思維簡單的理解就是像計算機一樣處理和解決問題的思路和能力。計算思維主要可以劃分為如下六個子能力:問題形式化、抽象問題特征、建立結(jié)構(gòu)模型、分析和組織數(shù)據(jù)、問題解決過程自動化、解決方案系統(tǒng)化。計算思維的本質(zhì)是抽象和自動化,抽象是將真實世界中的事物或者解決問題的過程通過分解、簡化等方式轉(zhuǎn)化為計算機設備可處理的數(shù)學模型。可見,建立問題解決的模型,運用合理算法求解模型是培養(yǎng)計算思維的關(guān)鍵,而如何由抽象到建模到求解模型學生往往無從下手,這也是發(fā)展計算思維的難點。借鑒數(shù)學的建模思想,通過親歷數(shù)學的建模解模過程為解決學生計算思維的形成發(fā)展提供了可行的方案。
數(shù)學上的建模過程主要歷經(jīng):從實際問題入手,進行抽象、簡化、假設,建立數(shù)學模型、求解模型,進行模型評價改進。建模思想運用于教學過程可簡化為四個階段:①建立模型,主要是針對真實情境問題,抽象出問題的形式特征,建立可處理的數(shù)學模型;②求解模型,通過組織數(shù)據(jù),設計算法,編程實現(xiàn)達到求解問題的自動化;③運用模型,遷移運用到類似問題,形成系統(tǒng)的解決方案;④模型迭代,針對運用問題,調(diào)整完善模型的求解算法,改進模型。圍繞這一建模流程,嘗試采用模型解決的思維方式,提出基于建模思想的教學模式,用以發(fā)展學生的計算思維。
三、 基于建模思想的計算思維培養(yǎng)教學模式
運用建模思想結(jié)合計算思維培養(yǎng)的六個子能力,構(gòu)建基于發(fā)展計算思維的教學模式(圖1)。該模式以建模流程為主線,以培養(yǎng)學生的計算思維能力為目標,進行教學活動設計。在教學中,教師作為主導為學生提供“腳手架”,引導學生進行自主探究學習,建構(gòu)知識。學生充分扮演教學主體的角色,在歷經(jīng)計算思維六個子能力的訓練中,提升和內(nèi)化學生的計算思維。
圖1 建模思想的計算思維教學模式
四、 基于建模思想的計算思維培養(yǎng)的教學實施
根據(jù)上述的教學模式,在“枚舉算法”這一課中,采用“尋找逃逸車輛”這一項目主題,設置相關(guān)教學任務,以落實計算思維的培養(yǎng)。
(一)創(chuàng)設情境,呈現(xiàn)問題
【情境】播放《明星大偵探》節(jié)目片段引入新課,《明星大偵探》欄目組要來尋找班級偵破推理高手,給大家提出考核任務——“尋找逃逸車輛”。要求學生4人為一小組,組隊參賽。考核任務相關(guān)線索及要求放置在一個密碼為1位小寫字母的壓縮包里,請證明你的實力,盡快破解密碼拿到考核任務。在學生順利完成密碼破解后,教師提問學生驗證了幾次密碼才破解成功?如果密碼是2位小寫字母,破解難度有多大?師生一起回顧破解的過程,與學生一起總結(jié)提煉出該問題的形式:列舉所有解+判斷正確解。演示計算機破解密碼的過程,引入枚舉算法學習課題。通過創(chuàng)設情境,以一個簡單的密碼破解問題,讓學生親歷枚舉法解決問題的基本思路,通過師生的一起歸納,實現(xiàn)了求解問題的形式化表達的思維能力。通過了解計算機破解密碼優(yōu)越性,引發(fā)學生思考用計算機編程解決問題的必要性和意義。
(二)自主探究,建構(gòu)模型
學生拿到“尋找逃逸車輛”案情:某地發(fā)生一起逃逸案,確定是當?shù)剀囕v但車牌號后5位號碼不明,警察找到如下線索:①車牌后五位都是數(shù)字且后一位是6;②前兩位數(shù)字是72;③車牌后五位數(shù)字能被48整除。請為警察找出該車牌號。學生完成學案探究任務一——“為警察提供破案思路”。學生對關(guān)鍵線索進行分析,引導學生用自然語言來描述三個關(guān)鍵線索,明確枚舉求解車牌號碼的三個關(guān)鍵點:枚舉對象、枚舉范圍、枚舉驗證條件,讓學生抽象出尋找逃逸車牌號碼問題的特征,即求一個五位數(shù):72??6,滿足被48整除的所有數(shù)字這一問題特征。引導學生進一步思考車牌號的枚舉范圍和檢驗方式,繪制流程圖,描述出、找出所有符合的車號牌的算法,為建立求解枚舉算法的數(shù)學模型奠定基礎(chǔ)。完成流程圖后,梳理出問題解決的邏輯過程,自主建構(gòu)枚舉算法解決問題的一般數(shù)學模型:枚舉解+篩選解+輸出解。引導學生實現(xiàn)抽象問題特征并建立模型的計算思維能力。
(三)求解模型,解決問題
學生自主建構(gòu)枚舉算法的求解模型后,完成考核任務二——“編程找出可能的車牌號”。提出探究任務:①分析算法求解過程中運用幾個變量,他們的初值和終值分別是多少?②編程找出所有車牌號需要運用什么程序結(jié)構(gòu)?③判斷符合條件,運用什么程序結(jié)構(gòu),判斷的表達式是什么?④如何枚舉72??6中間的兩個未知數(shù),直接用Range(72006,72996)實現(xiàn)枚舉行不行?小組成員分工協(xié)作一起完成半成品“找出車牌號.py”的代碼,并在OJ平臺上調(diào)試運行,測試結(jié)果。教師提供微課視頻資源并全程巡視,幫助學生發(fā)現(xiàn)代碼編寫過程中的錯誤,并及時指導。學生通過分析組織數(shù)據(jù)、學習微課視頻等完善半成品代碼,實現(xiàn)找出車牌號碼問題算法,求解出枚舉算法模型為:枚舉解(循環(huán)語句)+篩選解(條件語句)+輸出解(或統(tǒng)計解的個數(shù)),培養(yǎng)學生由組織分析數(shù)據(jù)到模型解決問題過程自動化的計算思維能力。
(四)運用模型,遷移提升
學生通過程序驗證,找到四個車牌號,繼續(xù)完成考核任務三——“找出誰是逃逸者”根據(jù)警察的線索:逃逸者確定是A、B、C、D四個車牌號車主,經(jīng)過審問,A說:“不是我。”B說:“是C。”C說:“是D。”D說:“C說得不對。”已知四人中只有一人說的是假話。請幫警察找出真正的肇事者。提出探究任務:1. 判斷“誰是肇事者”的枚舉對象、枚舉范圍、驗證條件分別是什么?2. 用1(表示真)、0(表示假)填寫《四車主真假話對照》。3. 四人中只有一人說的是假話,以上表格中數(shù)值相加為多少?如何用程序語句表達這個判斷?教師講解:邏輯運算表達式的書寫。引導學生思考如何書寫判斷誰是冠軍的表達式。之后讓學生完成“求解誰是肇事者.py”的關(guān)鍵語句代碼,并在OJ平臺上調(diào)試運行,測試結(jié)果。讓學生學會遷移解決其他同類型的問題,實現(xiàn)思維方法的遷移延伸,從而形成解決方案的系統(tǒng)化的計算思維能力。并在解決類似問題的過程中,學會分析問題的共性與特性,提升計算思維品質(zhì)。