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