陳英
[摘要]《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》指出,高中信息技術(shù)課程要以學(xué)科核心素養(yǎng)為導(dǎo)向,著力培養(yǎng)學(xué)生的計(jì)算思維和數(shù)字化學(xué)習(xí)與創(chuàng)新素養(yǎng)。文章以高中編程教學(xué)中的循環(huán)結(jié)構(gòu)應(yīng)用教學(xué)為例,談編程教學(xué)中的啟發(fā)式教學(xué)設(shè)計(jì)策略。
[關(guān)鍵詞]啟發(fā)式;教學(xué)設(shè)計(jì);編程
[中圖分類號(hào)]G633.67 [文獻(xiàn)標(biāo)識(shí)碼]A
[文章編號(hào)]1674-6058(2020)30-0020-02
啟發(fā)式教學(xué)是指教師在教學(xué)過程中根據(jù)教學(xué)任務(wù)和學(xué)習(xí)的客觀規(guī)律,從學(xué)生的實(shí)際出發(fā),采用多種方式,以啟發(fā)學(xué)生的思維為核心,引導(dǎo)學(xué)生主動(dòng)、積極、自覺地掌握知識(shí)的一種有效教學(xué)方法。其宗旨是啟發(fā)思維、提升能力,基本策略是聯(lián)系生活、拋出問題,啟發(fā)鋪路、分析問題,思維可視、深究問題,八仙過海、解決問題,總結(jié)提煉、多元?dú)w一(見圖1)。
下面以高中編程教學(xué)中的循環(huán)結(jié)構(gòu)應(yīng)用教學(xué)為例,談啟發(fā)式教學(xué)設(shè)計(jì)策略。
一、聯(lián)系生活、拋出問題(啟發(fā)式教學(xué)的起點(diǎn)環(huán)節(jié))
信息技術(shù)的學(xué)科價(jià)值可精要地表述為“技術(shù)服務(wù)生活”。其內(nèi)涵有二:1.教學(xué)內(nèi)容源于生活;2.教學(xué)終點(diǎn)是解決問題。陶行知先生提出了“生活即教育”“教學(xué)做合一”“行是知之始”的理念。生活中的案例是教育、教學(xué)最鮮活的素材,最容易激發(fā)學(xué)生的學(xué)習(xí)興趣,引發(fā)認(rèn)知沖突。教學(xué)活動(dòng)就是要提供“生活問題”——“科學(xué)認(rèn)知”——“服務(wù)生活”的思維發(fā)展機(jī)會(huì)。
在學(xué)習(xí)循環(huán)結(jié)構(gòu)應(yīng)用時(shí),教師選擇的問題素材要有濃濃的“生活氣息”:設(shè)計(jì)一個(gè)程序,輸入候選人編號(hào)進(jìn)行投票,最后統(tǒng)計(jì)候選人的得票數(shù)(如圖2)。
以生活中的問題為學(xué)習(xí)素材,激發(fā)學(xué)生的探究意識(shí),建構(gòu)啟發(fā)式教學(xué)的起點(diǎn)環(huán)節(jié)。
二、啟發(fā)鋪路、分析問題(啟發(fā)式教學(xué)的助力環(huán)節(jié))
編程學(xué)習(xí),最重要的是編程思維,通俗地說就是要給出解決問題的算法。教師要注重提升學(xué)生的計(jì)算思維和信息素養(yǎng),為學(xué)生“自主發(fā)現(xiàn)”鋪路搭橋?!昂螘r(shí)搭”,這是時(shí)機(jī)問題;“搭多少”,這是程度問題。
例如,接著上面的選舉票數(shù)統(tǒng)計(jì)問題情境,下面簡(jiǎn)要呈現(xiàn)啟發(fā)式教學(xué)片斷:
師:同學(xué)們,解決這個(gè)問題的大體思路是什么?
生:一個(gè)一個(gè)比對(duì)。
師:怎么比?簡(jiǎn)要說一下過程。
生:先取出文本框1中的第1個(gè)字符與文本框2中的字符進(jìn)行比對(duì),一致,則統(tǒng)計(jì)加1,再取第2個(gè)字符,再同樣處理,直到最后一個(gè)字符。
師:說得很好,那這個(gè)例子中,一共需要比對(duì)多少次?
生:9次。
師:那么,如果文本框1中的內(nèi)容變成“1155665”,這時(shí)候需要比對(duì)多少次?
生:7次。
師:看來,比對(duì)次數(shù)是不固定的。你能說說比對(duì)次數(shù)是由什么決定的嗎?
生:文本框1中字符串的長(zhǎng)度。
師:非常好!那么,在VB中怎么求字符串的長(zhǎng)度呢?請(qǐng)同學(xué)們看一下下發(fā)的VB常用函數(shù)文檔,思考如何求文本框1中字符串的長(zhǎng)度。
生:查到了!Len(textl.text)。
師:第一個(gè)問題解決了,再來看第二個(gè)問題:如何從文本框1中取一個(gè)字符?請(qǐng)同學(xué)們?cè)俨閂B常用函數(shù)文檔,思考如何取出文本框l中的第1個(gè)字符。
生:好像Mid()可以!Mid(textl.text,1,1)。
師:是的,我們可以用Mid函數(shù)將文本框1中的字符逐個(gè)取出。假設(shè)當(dāng)前要取的位置是i,那么,取第i個(gè)字符可以表示為——?
生:Mid(textl.text.i,1).
師:太棒了!我們已經(jīng)成功解決了兩個(gè)核心問題,下面,我們嘗試把我們的算法用VB語言表達(dá)出來。對(duì)于“重復(fù)勞動(dòng)”,我們可以用什么語句?對(duì)于字符比對(duì),我們可以用什么語句?
生:For+If。
通過一步步的剖析和追問,在“問與答”的過程中,解決問題的思路水到渠成地“水落石出”。
三、思維可視、深究問題(啟發(fā)式教學(xué)的核心環(huán)節(jié))
至此,算法已然清晰,但是如何利用計(jì)算機(jī)解決問題的方法,將問題形式化、抽象化?這是編程學(xué)習(xí)的難點(diǎn)所在。
可以利用自制教具模擬問題解決的完整過程。一則,教具可將思維可視化,可以幫助學(xué)生更好地理解和解決問題。二則,教具可對(duì)算法進(jìn)行模擬驗(yàn)算,從而驗(yàn)證算法的正確性和有效性。三則,學(xué)生在和教師一起模擬驗(yàn)算的過程中,能獲得新的體驗(yàn)和啟發(fā)。
此環(huán)節(jié),教師更多的是啟發(fā)學(xué)生如何將思維可視化,如何用合適的方法模擬和驗(yàn)證解決問題的算法(如圖3)。
通過教具模擬,使學(xué)生編程思維更加清晰,算法的正確性和有效性也得到了進(jìn)一步的驗(yàn)證,學(xué)生對(duì)編程思維的理解更加深刻,在編程學(xué)習(xí)方法方面也得到了更多的體驗(yàn)和啟迪。
四、八仙過海、解決問題(啟發(fā)式教學(xué)的實(shí)踐環(huán)節(jié))
在厘清了算法后,學(xué)生會(huì)迫不及待地進(jìn)入實(shí)踐環(huán)節(jié)進(jìn)行驗(yàn)證。此環(huán)節(jié),教師的作用在于幫助學(xué)生在錯(cuò)誤糾正中得到實(shí)踐啟發(fā)和思維提升。具體策略有二:一是點(diǎn)對(duì)點(diǎn)的答疑,二是一對(duì)多的典型錯(cuò)誤精準(zhǔn)解釋。
1.語法錯(cuò)誤——點(diǎn)對(duì)點(diǎn)答疑
For i=1 To Len(Text1.Text)
If Mid(Text1.Text,i,1)=Text2.Text
Then
k=k+1
Next
Text3.Text=k
【思維點(diǎn)撥】斜體字部分有語法錯(cuò)誤,同學(xué)們可以參考一下If語句的語法規(guī)則。
2.思維錯(cuò)誤——一對(duì)多精準(zhǔn)解釋
For i=l To Len(Text1.Text)
k=0
If Mid(TextI.Text,i,1)=Text2.Text Then k=k+1
Next
Text3.Text=k
【思維點(diǎn)撥】
師:同學(xué)們思考一下,某同學(xué)的代碼為什么不能得到正確結(jié)果?問題出在哪里?
生:好像k=0有點(diǎn)怪!
師:怪在哪里?
生:說不出來,就是感覺不太對(duì)!
師:我們一起來把程序走一遍,看看k=0有何怪異。
生:哇,發(fā)現(xiàn)了!每次比對(duì)前,k都變成了0,前面的比對(duì)結(jié)果丟失。
師:非常好!那怎么改呢?
生:把k=0移動(dòng)到For的外面!
學(xué)生通過上述兩種途徑,在糾正錯(cuò)誤(語法錯(cuò)誤和思維錯(cuò)誤)的過程中,編程思維得到了培養(yǎng)。
五、總結(jié)提煉、多元?dú)w一(啟發(fā)式教學(xué)的提升環(huán)節(jié))
學(xué)生掌握知識(shí)的目的是運(yùn)用和遷移。遷移的好壞,主要在于學(xué)生能否在類似情境中,自覺、主動(dòng)地運(yùn)用相關(guān)知識(shí)和策略解決問題。在編程學(xué)習(xí)中,總結(jié)提煉、多元?dú)w一,能夠更好地幫助學(xué)生提升編程思維,掌握編程思想方法。
在總結(jié)提升環(huán)節(jié),可以借助思維導(dǎo)圖工具,幫助學(xué)生提煉解決本類問題的編程思想方法(如圖5)。
總之,編程學(xué)習(xí)的關(guān)鍵有二:一是“抽象”,二是“頓悟”。編程學(xué)習(xí)的本質(zhì)特征決定了啟發(fā)式教學(xué)在編程學(xué)習(xí)中的重要性。在教學(xué)實(shí)踐中,教師可以采用上述啟發(fā)式教學(xué)設(shè)計(jì)策略激發(fā)學(xué)生學(xué)習(xí)編程的內(nèi)驅(qū)力,讓學(xué)生通過自身的主動(dòng)發(fā)現(xiàn)、探究和教師的啟發(fā)、引導(dǎo),掌握編程思維和編程思想方法,最終促進(jìn)學(xué)生核心素養(yǎng)的落地生根。
[參考文獻(xiàn)]
任友群.普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)解讀[M].北京:高等教育出版社,2018.
(責(zé)任編輯 周侯辰)