摘 要: 本文作者分析了傳統的啟發式教學的弊端,針對程序設計課程如何開展真正的啟發式教學作了探討,并結合《VB程序設計》課程的內容進行一定的實踐。
關鍵詞: 《程序設計》課程 啟發式教學 實踐探索
《程序設計》課程的教學除了強調理論的完整性外,同時還注重學生分析、設計和編程的能力,而這種能力主要體現在學生是否具有創新性思維。啟發式教育就是通過啟發知識來啟發創新。愛因斯坦認為:“提出一個問題往往比解決一個問題更重要,因為解決問題也許僅是一個數學上或實驗上的技能而已。而提出新的問題、新的可能性,從新的角度去看舊的問題,都需要有創造性的想象力,而且標志著科學的真正進步。”
一、教學現狀分析
傳統的啟發式教學是一種“標準答案”式的教學。一般針對問題,教師已經預先設定好了標準答案,然后為了引導學生能靠近答案,設置一系列問題,而且這些問題通常較簡單,學生很容易答出來。這樣一步接一步地啟發,學生逐步接近最終的答案。這樣的教學過程,實現了課堂上的互動,教師有問學生有答,課堂氣氛活躍,相比較“填鴨式”的教學方法,似乎教師的教學機智得到了充分展現。
但這種引導學生朝一個方向思考的方法,實際只是要求學生進行機械式的模仿,生搬硬套教師所給的例子,并沒有對題目進行真正的思考,造成學生解題時完全依賴教師所給的思路,教師有啟發學生就會回答,教師沒有給提示學生就不會思考,不知從何處下手解決問題。久而久之,學生的思維習慣會完全依賴于教師的提問或提示,只會回答問題而不會解答問題。
如在VB程序設計中,循環部分有一道題目是要求實現如圖1的圖形。

根據之前所學知識,學生可以很快寫出外層循環,for i=1 to 9;對于內層循環,就需要啟發學生思考了。筆者曾經這樣設計教學過程:
提問:如果只看一行,比如第一行,它是幾個“*”組成的?程序應當如何寫?
根據之前所學,學生很容易答出:for j=1 to 9。
提問:再依次寫出第二行、第三行……的程序,總結規律。
如果學生總結不出規律,教師繼續啟發,寫出i和j的變化過程如下:
i 1 2 3 4 5 6…
j 9 8 7 6 5 4…
這樣學生會很快發現規律:i+j=10,從而得出之前設定好的標準答案:for j=1 to 10-i。
整個過程非常簡單,學生很快得到了答案,而且思路非常清晰。但是,學生學會的是這種題目的答案,以后碰到相似的題目,學生馬上就想到找i和j加加減減的規律,然后將“10-i”這部分內容進行替換即可,完全是一個依葫蘆畫瓢的過程。
二、介紹及實踐
1.啟發式教學模式
真正的啟發式教學,應該是在教學過程中,以教材為基礎,在教師的啟發引導下,學生自由發揮表達他們的觀點,自己去問題提出疑問,然后深入探究,而且可以通過個人、小組、集體等多種形式的解難釋疑活動,用所學知識解決實際問題的教學模式。
這種教學模式要求教師去啟發學生思考問題的方法,而不是關注問題的答案;教學目標是讓學生學會獨立思考、分析問題、解決問題的思維方法,而不是得到結果就算完成任務,授之以“漁”,而不是授之以“魚”。啟發的最終效果是不用啟發,通過例題,學生學會思維過程,自己提問自己啟發,從而提高解決實際問題的能力。
2.《程序設計》課程啟發式教學模式的實踐探索
2.1實例的設計
經過多年的教學經驗,筆者發現很多學生對于《程序設計》課程總是抱有畏懼心理,覺得其難懂難學。究其原因,一是覺得程序設計語言太抽象,與漢語的語法差別大;二是認為學了沒用,除非以后要專門從事程序員工作。所以教師在選擇和設計實例時,和實際應用的聯系越緊密越好。亞里士多德說過:“思維是從驚奇和疑問開始。”比如在學習時鐘控件時,就可以設置很多小游戲程序,如打字速度測試、數學題測試等。又如學習列表框和組合框控件,可以設計如點菜界面之類的題目。這種實例能大大激發學生的學習興趣,這些常見的東西他們熱切渴望自己也能做出來,此時學習就變為一種主動的行為,而不是被動地灌輸。
2.2模仿階段
學習的過程,是量變到質變的過程。必須先有一定量的重復,才能激發出質變的靈感。所以在能靈活應用之前,首先要先學會依葫蘆畫瓢。就如第一節所講的例子,幫助學生理解整個分析過程,并且在改變部分參數時也能作出對應的修改。同時啟發用到的問題,應當有意造成結果與學生求知心理之間的“不協調”,產生懸念,促使學生在注意力最集中,同時思維又最活躍的狀態下學習。
2.3深入啟發與引導
對已學過的題目進行反思,對發現的問題進行對應的分析。如第一節所講的VB實例,得出結論后可繼續啟發學生,思考是否還有新的解法。本題目只是要求輸出指定個數的圖案,所以循環的書寫上可以更加靈活些,只要實現循環的次數正確就可以,不必拘泥于答案的形式。啟發后組織學生熱切討論,鼓勵想法多樣化。學生會提出自己的方法,簡單的改變是將循環倒著寫:for j= 10-i to 1 step -1;也有更進一步的改變:for j=i to 9;或是i和j都進行改變:for i=9 to 1 step -1:for j=1 to i;最后將所有的想法互相交流,取長補短,促使學生對循環語句的使用更加熟練,同時思維也更開闊。
最后還要加強作業,多讓學生上機親自實踐,看到程序的運行效果,加深印象。
三、結語
啟發式教學的形式是積極設問并引導學生自己去思考,對思考方式只是進行點撥和引導,鼓勵學生對于問題大膽猜測、想象和聯想,而不是簡單地問答,培養學生深入思考和獨立鉆研的能力。這個過程前提準備是需要學生有一定的知識積累,否則無從思考,之后需要練習和鞏固,對后面的學習內容進行知識儲備。
參考文獻:
[1]林惠強,劉財興,林丕源.“軟件工程”課程啟發式教學的研究與實踐[J].計算機教育,2008,6(11):40-42.
本文系江蘇省高職教育研究會研究課題《高職院校“程序設計基礎”課程體系的研究與實踐》(編號2007-31-1)