王猛 喬芃喆
摘要:探究式教學的整個實施過程可以劃分為提問、討論、演示和實驗這四個階段。結合《C語言程序設計》課程,探究各個階段的課堂實踐,分析相應的實施要點,并給出實例。在對多個應用型本科專業的教學中實施探究式教學,取得良好的示范效果和推廣價值。
關鍵詞:探究式教學;程序設計;情境創設
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)17-0168-02
開放科學(資源服務)標識碼(OSID):
開展探究式教學主要有四個階段:探究性提問、探究性討論、探究性演示和探究性實驗,這四個階段構成了完整的探究式教學過程。探究式教學一般情況下由探究性提問開始,然后學生們進行探究性討論,進一步教師引領探究性演示的過程,最后學生開展探究性實驗并驗證結論;也有可能從探究性實驗開始,在實驗中發現問題,進一步引導學生展開探究性討論分析問題,最后由老師通過演示驗證同學們的分析結論并給出問題的總結。總而言之,在實際的教學過程中,先進行哪個階段后進行那個階段沒有統一的要求,教師應該根據學習內容和學生反饋靈活應對,這樣才能達到較好的效果[1]。
1 探究性提問
探究性提問是指能夠激發學生主動性探索的提問。傳統教學中,教師提問的問題大多是要求學生記憶書本知識內容,很少涉及學生對課本知識點的思考與延伸,更不具有探究性。探究式教學中,程序設計盡量引導學生發散性思維,激發學生多種潛力,不僅僅局限于課本知識點。
1.1探究性提問的類型
(1)發散式提問
發散式提問是指可以有多種答案的提問,再提問的過程中引導學生深入思考,通過解決“如何”和“為何”,推動學生進行自主推理研判。例如:查找問題,有線性查找、二分查找等方法;排序問題,有選擇排序、交換排序、冒泡排序等方法;求階乘問題,有遞歸和非遞歸方法。
(2)假設性提問
假設性提問引導學生去思考,假設條件的細微差別會影響結果。使學生發揮自己的創造力,最大限度地去推測答案。這種方式一方面激發學生的創新思維,防止思維僵化,發揮學生的想象力;另一方面也加深對現有知識的思考。例如:標準輸入輸出問題中不同的數據類型所使用的表示符號是有所區別的,這一點很容易記混。整型對應的是“%d”,那么浮點型呢,字符型呢?
(3)提示性提問
教師要給學生指出探究大致方向,提點學生探究從何入手,引導學生探究活動,這些都體現在教師提出的探究問題,即提示性提問。探究式教學的一大特征就是學生自主解決問題,教師發揮引導作用,教師決不能因為時間緊張或者學生能力有限,就自己回答問題,即使偶爾一次出現此類情況,也會造成學生的依賴性,難以養成獨立思考的習慣,探究式教學就會失敗,所以教師一定要通過提示性問題來引導學生。例如:在使用for循環時,for語句后面小括號里的內容往往會讓學生困惑,不知道怎么去寫,這時教師可以提示學生小括號里包含三段,用兩個逗號隔開,第一段用來初始化,第二段表示執行條件,第三段步進表示變化,并進一步結合題目要求提問學生具體的代碼寫法。
1.2實施要求和注意點
(1)面向全體學生
探究式提問的對象是全體學生,這不同于傳統教學中“鞭打快牛”式的提問。傳統教學一般都是重點提問愿意做達的舉手學生或者點名提問回答問題,這些學生往往成績較好,弊端是這種方式不易調動全體學生的積極性,往往造成強制回答的刻板印象。程序設計課程的探究式教學中,教師要讓盡量多的學生參與答題,引導學生積極探究。
(2)問在有疑之處
探究式教學時教師答疑解惑要關注兩種情況,一種是學生自己提出疑問,另一種是學生并未意識到有疑問,其實存在疑惑。對于前者,教師要引導學生積極提問,大膽假設、推理和論證;對于后者,教師要引起重視,可以在課堂上給予明確指出,也可以引導學生自己調試,從中發現問題,積極探究。
(3)問題要具有序列性
探究式問題的提出,要以教學為目標,分層次,逐漸遞進,逐步深入。要體現問題的序列性,比如能利用現有知識的回憶性提問,啟發學生對未知的疑問,促使學生假設、推理、編程、驗證等行為的問題。這種提問要根據學生情況,由淺入深,逐步探究[2]。
2 探究性討論
傳統教學中,教師講,學生聽,學生默認的接受教師教授以及書本知識。但是對于其他同學提出的與自己觀點不同的見解,學生很容易提出質疑,并想辦法去證實自身觀點的正確性。因此,由兩名或多名學生一起討論對某個問題的觀點或看法,通過分享和批判相結合,逐漸將問題明晰化,加深對問題的認識和理解,分析問題,解決問題。通過多人討論,可以開闊思路,克服故步自封,解決單個學生很難解決的問題。學生通過探究性討論,體驗了探究的發展性和合作性,為更多人提供了共同分享的可能性,突破了學生個人思考的局限。
2.1探究性討論的類型
(1)對算法的討論
算法是程序設計的核心,初學程序設計的學生對程序算法掌握較少,通過算法討論,學生會逐漸掌握算法設計方法,首先應該思考什么,每一次應該注意什么,防止“走彎路”“繞遠路”“走死路”。通過討論,加強合作,充分展現每個學生的個人智慧,增強自信,鍛煉合作性。例如:最大公約數和最小公倍數問題,需要借助初等數學中總結出的現有的計算方法;數列問題,需要歸納數列中前后項變化的規律;雞兔同籠問題,需要借助方程組求解。
(2)概括性的討論
學生邊學習邊回憶、總結、概括、思考,對所學知識進行反復消化,即概括性討論。概括性討論可以在鄰桌同學間展開,在講解完一個知識點之后或課前進行。教師備課時要準備討論內容,在討論時可以根據當時狀況靈活運用,最大限度地調動學生的積極性參與進來。例如:在使用循環求解的過程中,一個最直接的問題是for循環和while循環哪一個更適合題干?通過對多個類似題目的討論,可以得出選擇不同語句的依據,即循環的時候看循環次數是否確定來決定,確定循環次說的情況下,一般使用for語句,而不確定循環次說的情況下,一般使用while語句。