余曉珺
關(guān)于“學(xué)歷案”
“學(xué)歷案”是在班級(jí)教學(xué)情境下,基于學(xué)生立場(chǎng),圍繞某一具體的學(xué)習(xí)內(nèi)容(主題、單元),從期望“學(xué)會(huì)什么”出發(fā),設(shè)計(jì)并展示“學(xué)生何以學(xué)會(huì)”的過(guò)程,以便學(xué)生自主建構(gòu)或社會(huì)建構(gòu)經(jīng)驗(yàn)與知識(shí)的專(zhuān)業(yè)方案。南京市第一中學(xué)正進(jìn)行著一場(chǎng)以“指向深度學(xué)習(xí)的學(xué)歷案研究”為抓手的教學(xué)變革,傳統(tǒng)學(xué)習(xí)文本的編寫(xiě)已經(jīng)發(fā)生改變。筆者以《打開(kāi)編程之門(mén)》一課為例,為大家呈現(xiàn)一種新型的學(xué)習(xí)文本。學(xué)習(xí)《打開(kāi)編程之門(mén)》一課共安排2課時(shí),本課為第1課時(shí)。
學(xué)習(xí)內(nèi)容分析
《打開(kāi)編程之門(mén)》是高中選修教材《算法與程序設(shè)計(jì)》第一節(jié)課的內(nèi)容?!陡咧行畔⒓夹g(shù)課程標(biāo)準(zhǔn)》中要求教師在程序設(shè)計(jì)教學(xué)時(shí)能夠結(jié)合實(shí)例,讓學(xué)生經(jīng)歷分析問(wèn)題、確定算法、編程求解等計(jì)算機(jī)解決問(wèn)題的基本過(guò)程,幫助他們認(rèn)識(shí)算法和程序設(shè)計(jì)在其中的地位和作用。教師要帶領(lǐng)學(xué)生經(jīng)歷用自然語(yǔ)言、流程圖或偽代碼等方法描述算法的基本過(guò)程。在使用計(jì)算機(jī)解決實(shí)際問(wèn)題的過(guò)程中,學(xué)生可以通過(guò)觀看演示、模仿、探究、實(shí)踐等環(huán)節(jié),了解順序、選擇、循環(huán)三種基本結(jié)構(gòu)及其作用,從而掌握計(jì)算機(jī)程序的基本概念,并能夠解釋計(jì)算機(jī)程序執(zhí)行的基本過(guò)程?!洞蜷_(kāi)編程之門(mén)》一課作為編程的起始課,其作用就是把門(mén)打開(kāi),讓學(xué)生走進(jìn)編程的世界。
本節(jié)課分為兩個(gè)教學(xué)環(huán)節(jié):①帶領(lǐng)學(xué)生體驗(yàn)數(shù)據(jù)計(jì)算的三種方式(人工計(jì)算、大眾工具軟件計(jì)算、編程計(jì)算);②讓學(xué)生歸納對(duì)比三種計(jì)算方式的特點(diǎn),并根據(jù)實(shí)際情況選擇合適的解決方式。
學(xué)習(xí)者分析
本節(jié)課的學(xué)習(xí)對(duì)象為高一年級(jí)學(xué)生,他們具有很強(qiáng)的自主意識(shí)和探究能力,喜歡通過(guò)自己動(dòng)手實(shí)踐來(lái)獲得新知。學(xué)生熟悉利用常規(guī)的數(shù)學(xué)方式解決問(wèn)題,而對(duì)用編程解決問(wèn)題比較陌生,總覺(jué)得編程很神秘,有畏懼心理,在面對(duì)現(xiàn)有軟件無(wú)法解決的問(wèn)題時(shí),愿意嘗試編寫(xiě)程序解決問(wèn)題。
學(xué)習(xí)目標(biāo)
知識(shí)與技能目標(biāo):通過(guò)解決實(shí)例問(wèn)題,能夠列舉數(shù)據(jù)計(jì)算的基本方式(人工計(jì)算、大眾軟件計(jì)算、編程計(jì)算),感受數(shù)據(jù)計(jì)算的發(fā)展過(guò)程。
過(guò)程與方法目標(biāo):通過(guò)反思“雞兔同籠”問(wèn)題的計(jì)算解決過(guò)程,能夠歸納出幾種計(jì)算方式的特點(diǎn),并能根據(jù)需求選用恰當(dāng)?shù)挠?jì)算方式,初步體會(huì)計(jì)算機(jī)解決問(wèn)題的思想;通過(guò)分析“猜數(shù)字游戲”,能夠說(shuō)出算法的概念并理解算法的重要意義,掌握用自然語(yǔ)言和流程圖描述算法的方法,認(rèn)識(shí)到算法在編程解決問(wèn)題中的地位和作用;通過(guò)繪制“猜數(shù)字游戲”的流程圖,能夠?qū)W會(huì)使用順序、選擇、循環(huán)三種基本結(jié)構(gòu)解決問(wèn)題。
任務(wù)評(píng)價(jià)
第一,能獨(dú)立完成練習(xí)1,了解數(shù)據(jù)計(jì)算的基本方式,能根據(jù)實(shí)際問(wèn)題選擇適當(dāng)?shù)慕鉀Q方法(檢測(cè)學(xué)習(xí)目標(biāo)1、2)。
第二,能獨(dú)立完成練習(xí)2,學(xué)會(huì)使用自然語(yǔ)言或流程圖進(jìn)行算法的描述(檢測(cè)學(xué)習(xí)目標(biāo)3、4)。
學(xué)法建議
隨著計(jì)算機(jī)技術(shù)的發(fā)展,處理數(shù)據(jù)的手段越來(lái)越豐富,效率也越來(lái)越高,使用大眾工具軟件加工和編程加工成為最常見(jiàn)的數(shù)據(jù)處理方式,即數(shù)據(jù)計(jì)算的方式。本節(jié)課,學(xué)生可以通過(guò)實(shí)例重溫各種計(jì)算方式,體驗(yàn)各種計(jì)算方式的優(yōu)勢(shì),并借此領(lǐng)會(huì)在實(shí)際問(wèn)題的解決中如何做出恰當(dāng)?shù)倪x擇。程序設(shè)計(jì)之初并不是要求每位學(xué)生都能夠獨(dú)立編寫(xiě)代碼,而是借助實(shí)例幫助學(xué)生理解體驗(yàn)算法的基本思想和程序的基本結(jié)構(gòu),以此幫他們打開(kāi)編程之門(mén)。
● 學(xué)習(xí)過(guò)程
課前準(zhǔn)備:閱讀材料《計(jì)算工具的發(fā)展》,了解人類(lèi)計(jì)算工具的發(fā)展歷程。
1.探討解決問(wèn)題的計(jì)算方式
《孫子算經(jīng)》上記載:今有雉(雞)兔同籠,上有三十五頭,下有九十四足,問(wèn)雉兔各幾何?請(qǐng)思考解決該問(wèn)題的計(jì)算方式。
探究1:對(duì)于“雞兔同籠”問(wèn)題,試闡述你的計(jì)算步驟(指向目標(biāo)1)。
設(shè)計(jì)意圖:對(duì)于這個(gè)經(jīng)典的數(shù)學(xué)問(wèn)題,很多學(xué)生有自己的算法。將學(xué)生書(shū)寫(xiě)在“學(xué)歷案”上的文字(如圖1)實(shí)時(shí)投影到大屏幕上,使他們產(chǎn)生共鳴,再請(qǐng)學(xué)生口述方程法、公式法、抬腳法、列表法等方法,這是幫助學(xué)生體驗(yàn)人工計(jì)算過(guò)程的方式。
師:看了課前的閱讀資料后,大家都知道,復(fù)雜或機(jī)械的運(yùn)算我們可以交給計(jì)算機(jī)去實(shí)現(xiàn)。例如,列表法理解比較容易,也很經(jīng)典,可以把35個(gè)頭和94只腳的雞和兔的數(shù)量組合都羅列出來(lái),并從中挑選出符合條件的。那什么軟件能幫助我們通過(guò)列表完成呢?
探究2:運(yùn)用Excel解決“雞兔同籠”問(wèn)題(指向目標(biāo)1)。
在表1中,請(qǐng)計(jì)算出各單元格的值,求出雞兔的數(shù)量,并將計(jì)算公式填入。
設(shè)計(jì)意圖:發(fā)送包含表結(jié)構(gòu)的“雞兔同籠.xls”文件,引導(dǎo)學(xué)生完成探究2活動(dòng),學(xué)生在復(fù)習(xí)Excel公式計(jì)算、填充柄等知識(shí)點(diǎn)的同時(shí),體驗(yàn)了大眾工具軟件計(jì)算方式的過(guò)程。教師選取1~2位學(xué)生的結(jié)果進(jìn)行反饋,并提出共性問(wèn)題:①很多學(xué)生直接將心算結(jié)果填入單元格,那么如何體現(xiàn)將計(jì)算任務(wù)交給計(jì)算機(jī)了呢?②如果是35個(gè)頭,118只腳呢?多少只兔子多少只雞?如果是72個(gè)頭,168只腳呢?多少只兔子多少只雞?如果是200個(gè)頭,620只腳呢?多少只兔子多少只雞?這一串問(wèn)題出來(lái)后,學(xué)生會(huì)在Excel中繼續(xù)嘗試,但馬上會(huì)發(fā)現(xiàn)很多不便,很想尋求新的解決方法。
探究3:用程序解決“雞兔同籠”問(wèn)題(指向目標(biāo)1)。
師:桌面上的雞兔同籠.py文件是用Python編程語(yǔ)言編寫(xiě)的小程序,請(qǐng)雙擊運(yùn)行此程序,用程序解決此問(wèn)題和Excel解決有何不同?
桌面上還有一個(gè)雞兔同籠1.py的文件,請(qǐng)雙擊運(yùn)行并與雞兔同籠.py試著比一比,看有什么異同?
學(xué)生打開(kāi)教師下發(fā)的文件,進(jìn)行對(duì)比(如下頁(yè)表2)。
設(shè)計(jì)意圖:分別給學(xué)生發(fā)送了兩個(gè)不同的“雞兔同籠”文件,請(qǐng)學(xué)生打開(kāi)代碼進(jìn)行比較,實(shí)際上就是讓學(xué)生體驗(yàn)不同編程計(jì)算的特點(diǎn)。
學(xué)生會(huì)發(fā)現(xiàn),兩個(gè)程序功能一樣,但代碼不同。一個(gè)類(lèi)似于前面人工計(jì)算中的公式法,把公式告訴計(jì)算機(jī),由計(jì)算機(jī)來(lái)完成計(jì)算。另一個(gè)類(lèi)似于列表法,讓計(jì)算機(jī)把各種可能性都試一遍,然后找出符合要求的答案。雖然兩個(gè)程序使用的編程語(yǔ)言是一樣的,但它們的計(jì)算思路是不同的。
至于用程序解決“雞兔同籠”問(wèn)題與電子表格計(jì)算解決問(wèn)題有什么不同,學(xué)生均給出了自己的觀點(diǎn),也許有的并不準(zhǔn)確,但他們已經(jīng)能夠感受到編程計(jì)算的特點(diǎn),這樣就很自然地過(guò)渡到本節(jié)課的第二大環(huán)節(jié)——三種計(jì)算方式的對(duì)比。
2.三種計(jì)算方式的比較
探究4:面對(duì)“雞兔同籠”問(wèn)題,有“人工計(jì)算”“大眾軟件計(jì)算”和“編程計(jì)算”三種計(jì)算方式,請(qǐng)將這三種計(jì)算方式的特點(diǎn)進(jìn)行比較,并填寫(xiě)表3(指向目標(biāo)2)。
設(shè)計(jì)意圖:三種計(jì)算方式各有特點(diǎn),讓學(xué)生比較歸納的過(guò)程,實(shí)際上是一個(gè)思考提煉的過(guò)程,學(xué)生填寫(xiě)表格的時(shí)候只填寫(xiě)了很簡(jiǎn)單的內(nèi)容(如圖2),教師在授課時(shí)可以引導(dǎo)他們將自己思考的詞串起來(lái),完整地表達(dá)自己的思想。每個(gè)人站的角度不同,分析結(jié)果可能也不相同,或許有些學(xué)生分析得并不準(zhǔn)確,但這都不妨礙他們參與思考。記錄下來(lái),學(xué)生會(huì)在以后解決問(wèn)題的過(guò)程中重新感悟所想,體會(huì)也將更加深刻。
練習(xí)1(檢測(cè)目標(biāo)1、2):
“百雞百錢(qián)”問(wèn)題是一個(gè)經(jīng)典的數(shù)學(xué)問(wèn)題,出自《張邱建算經(jīng)》。內(nèi)容是:公雞5文錢(qián)一只,母雞3文錢(qián)一只,小雞3只一文錢(qián),用100文錢(qián)買(mǎi)一百只雞,其中公雞、母雞和小雞都必須要有,問(wèn)公雞、母雞和小雞各多少只?
解決“百雞百錢(qián)”問(wèn)題時(shí),你會(huì)選擇( )方式。
A.人工計(jì)算 B.大眾軟件計(jì)算 C.編程計(jì)算
練習(xí)2(檢測(cè)目標(biāo)3、4):
分別用人工計(jì)算、大眾軟件計(jì)算和編程計(jì)算來(lái)描述上述計(jì)算的基本過(guò)程。
下面是一段用Python編程語(yǔ)言編寫(xiě)的程序,試著閱讀以下程序,并在空格處補(bǔ)全代碼。
money=100 #一共100文錢(qián)
num=_______ #一共100只雞
cock_price=5 #公雞價(jià)格5文
hen_price=_______ #母雞價(jià)格3文
threechick_price=1 #3只小雞1文
for cock_num in range(1,money//cock_price+1): #公雞只數(shù)可能為1-20
for hen_num in range(1,money//hen_price+1): #母雞只數(shù)可能為1-33
for chick_num in range(1,money//threechick_price+1): #(3小雞)只數(shù)可能為1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
num1=cock_num+hen_num+chick_num*3
if money1==money and _____________:
print (cock_num,hen_num,chick_num*3)
設(shè)計(jì)意圖:練習(xí)的設(shè)計(jì)實(shí)際是為了檢測(cè)目標(biāo),學(xué)生作為學(xué)習(xí)的主人,指向目標(biāo)的學(xué)習(xí)才是真正的學(xué)習(xí),經(jīng)過(guò)一系列指向目標(biāo)的探究思考后,學(xué)生是否真的已掌握所學(xué)呢?練習(xí)的作用就體現(xiàn)出來(lái)了。這個(gè)練習(xí)選擇了“百雞百錢(qián)”的經(jīng)典問(wèn)題,這是一個(gè)用三種方式都能解決的問(wèn)題,但是學(xué)生在做的過(guò)程中會(huì)猶豫,會(huì)有選擇,所以更加能夠感受到三種計(jì)算方式的特點(diǎn)。
3.學(xué)后反思
師:請(qǐng)大家自主梳理本主題知識(shí)體系,你是通過(guò)什么方法和策略學(xué)會(huì)主題內(nèi)容的,你覺(jué)得哪些部分還比較薄弱,需要老師提供何種幫助,你還有什么好的經(jīng)驗(yàn)可以跟大家分享?可以寫(xiě)在“學(xué)歷案”中的反思區(qū)寫(xiě)下反思。
設(shè)計(jì)意圖:每一篇“學(xué)歷案”都有這片小小的區(qū)域留給學(xué)生吐露真言,回顧所學(xué),寫(xiě)下自己的想法,教師也可以借助這個(gè)環(huán)節(jié)與學(xué)生課后對(duì)話。
教學(xué)反思
在這一次與北京四中的同課異構(gòu)活動(dòng)中,筆者采用基于“指向深度學(xué)習(xí)”的“學(xué)歷案”進(jìn)行教學(xué),真正體會(huì)到學(xué)生的學(xué)習(xí)需求應(yīng)該是教師備好課、上好課的第一依據(jù),學(xué)生才是學(xué)習(xí)的真正主人,要給他們自由的空間,充分相信學(xué)生的能力。學(xué)歷案,是學(xué)生記錄自己學(xué)習(xí)經(jīng)歷的文本,傳統(tǒng)的課堂教主學(xué)從,更多的為考試學(xué)習(xí),而變革的課堂,在整個(gè)學(xué)習(xí)過(guò)程中,學(xué)生手持一份學(xué)歷案學(xué)主教從,真正落實(shí)到學(xué)生的學(xué)。學(xué)歷案的特點(diǎn):所有的探究活動(dòng)都是有指向目標(biāo)的,學(xué)生的學(xué)習(xí)都是有目的的,所有的目標(biāo)都可以檢測(cè),設(shè)置的練習(xí)具有檢測(cè)目標(biāo)的作用。因此,在學(xué)歷案編寫(xiě)之初,筆者就把自己的身份轉(zhuǎn)換為學(xué)生,從學(xué)生的角度看要習(xí)得什么,如何習(xí)得以及究竟有沒(méi)有習(xí)得,依據(jù)這個(gè)標(biāo)準(zhǔn)設(shè)置學(xué)習(xí)目標(biāo)、探究活動(dòng)和最后的評(píng)價(jià)任務(wù)。實(shí)際課堂使用中證明,這樣的學(xué)習(xí)文本對(duì)學(xué)生是有用的,在它的引導(dǎo)、幫助和檢驗(yàn)下,學(xué)習(xí)也的確是輕松有效的。
程序設(shè)計(jì)是信息技術(shù)學(xué)科的核心知識(shí),很多學(xué)生對(duì)程序設(shè)計(jì)又愛(ài)又怕。打開(kāi)編程之門(mén)是程序設(shè)計(jì)的第一課,學(xué)歷案中設(shè)置的一系列探究活動(dòng),都是圍繞“雞兔同籠”的問(wèn)題展開(kāi)的,學(xué)生熟悉方程、列表、公式等解決問(wèn)題的方法,能夠運(yùn)用最基本的人工方式解決問(wèn)題,但把問(wèn)題的難度加大后,學(xué)生切身感受到計(jì)算機(jī)解決問(wèn)題的優(yōu)勢(shì)。在對(duì)比三種計(jì)算方式各自的特點(diǎn)后,筆者并不急切地讓學(xué)生斷定編程解決問(wèn)題一定最優(yōu),而是讓學(xué)生體會(huì)到在合適的問(wèn)題合適的條件下可以選擇適合的方式。在學(xué)習(xí)中,學(xué)生讀一讀代碼,改一改代碼,編程的大門(mén)漸漸打開(kāi),學(xué)生們也漸漸明白原來(lái)編程的世界并沒(méi)有那么神秘、可怕。
培養(yǎng)學(xué)生的計(jì)算思維是新一輪課標(biāo)中信息技術(shù)學(xué)科的核心素養(yǎng)之一。如何把這個(gè)素養(yǎng)的培養(yǎng)滲透到課堂,指導(dǎo)學(xué)生進(jìn)行深度的學(xué)習(xí)呢?教師的教學(xué)目標(biāo)不應(yīng)該只是停留在對(duì)知識(shí)的簡(jiǎn)單掌握上,而是應(yīng)該定位在將習(xí)得的知識(shí)遷移到類(lèi)似問(wèn)題的解決上,或者習(xí)得能夠在長(zhǎng)遠(yuǎn)的學(xué)習(xí)中指導(dǎo)自己的思想和理念上。所以,本節(jié)課表面上是解決“雞兔同籠”問(wèn)題,實(shí)際上是讓學(xué)生感受了三種不同的計(jì)算方式,隨后提煉對(duì)比它們的特點(diǎn),雖然學(xué)生用自己的語(yǔ)言歸納了,但認(rèn)識(shí)應(yīng)該還不是很清晰和深刻,“百雞百錢(qián)”問(wèn)題的解決可以幫助他們進(jìn)一步理解計(jì)算方式的特點(diǎn),對(duì)“計(jì)算思維”有一個(gè)粗淺的認(rèn)識(shí)。