陳英



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