江蘇徐州技師學院信息工程學院 王作啟
關于“陷阱式教學法”的研究與實踐
江蘇徐州技師學院信息工程學院 王作啟
建構主義理論是一種新的教育理念,該理論提出學生的學習過程是一種逐步認知的,以學生為主導的學習過程。而本文提出的陷阱式教學法,是這一理論的具體應用。陷阱式教學法是在計算機語言程序教學過程中,通過有意設計的不完善的或者是不正確的或者是有缺陷的程序,來逐步掌握知識的教學過程,這一教學方法既可以使用于新知識點的教學,又可以使用于對案例的教學,其目的吸引學生的注意力,加深學生對知識的理解掌握,提高學生的成就感,增強學生的學生興趣,促使學生的參與。
建構主義;陷阱式教學法;教學方法;關注點
“陷阱式”教學法是建構主義學習理論的具體應用與體現,建構主義是一種關于知識和學習的教育理念。最早由國外的教育家提出,經過長期的理論探索和教學實踐,逐步形成了獨具特色的學習理論體系,該理論是針對傳統教學的諸多弊端而提出的,對傳統教學觀念提出了尖銳的批評,并對學習和教育做出了新的解釋。
該教育理念強調學習不是知識由教師向學生的傳遞,而是學生建構自己的知識的過程,學習者不是被動的信息吸收者,相反,他要主動地建構信息的意義,學習被描述為是學習者基于原有的知識經驗建構理解的過程。
這一過程被描述為兩個方面,一方面,要獲得新知識經驗需要以原來的知識經驗為基礎;另一方面,新知識經驗的獲得又會使原有的知識經驗發生一定的改變,使它得到豐富、調整或改變,從而使學習者的知識經驗進行不斷地增長,這就是雙向的建構過程,而這一過程要在活動中完成。
根據這種教育理念,許多教育研究人員或教育者提出了一些新的教學方式和模式,如嘗試教學法、情境教學法、研究性學習法等。本文提出了陷阱式教學法,也是基于建構主義這一新的教育理念而提出的。
陷阱式教學法中的“陷阱”是為了探索新知識或在講解一個案例中,有意設置的不完善的或者是不正確的或者是有缺陷的程序。目的是吸引學生的注意力,就是所說的關注點;幫助學生深刻理解所學知識,幫助學生在現有的知識的基礎上探索新知識,完善知識體系;提高學生的學習能力,激發學生的學習興趣,使學生在學習過程中獲得成就感,建構新的知識體系。這一教學方法的運用可以使學生參與整個教學過程,學生由被動的學習變為主動學習,這一教學過程,學生是主體,就是學生在教師的引導下通過自己的研究和探索,不斷獲取新知識,完善知識體系的過程。
傳統的教學法確實已不適合現在的學生,試想我在Java語言程序設計時講窗體這一節中,如果依照書的講解方法,先講窗體的建立方法有哪些,窗體的屬性方法有窗體的顯示方法、大小方法、位置方法、設置背景方法等等,并在黑板上講清其格式是怎樣的、格式中的參數的作用等。這種傳統的教學方法,教師在課堂上滔滔不絕的講著,而學生卻在昏昏欲睡,或著干其它的事情。這種講法純粹是給學生催眠,還談什么吸引學生的注意力、激發學生的學習興趣。這樣的教學方式就不要怨學生玩游戲或著玩手機。
學生在機房上計算機課時,有部分學生很想玩游戲,就是一個很簡單的紙牌游戲學生也是樂此不疲,就是上課時在老師的高壓下不能玩,在下課時也要玩二把,這是為什么,游戲與編程序有什么不同呢?我們看看游戲的特點,游戲被巧妙地設置成許多關,每一關不是太容易,但也不是太難,學生在通關的過程中一是獲得成就感,也就是游戲一直有成就感激勵著。二是這個年齡階段的學生都想探索其中未知的東西是什么?也是有一種興趣在吸引著學生。學生喜歡玩游戲不喜歡上我們所教的程序設計,我們教學的教師就會思考為什么不能把教學過程設計成具有游戲的特點呢。本文所講的陷阱式教學法,就是基于這特點所設計的。這一教學方法我在教學過程中主要使用兩個方面,一是應用于講解新知識點的過程中,二是應用于講解案例過程中。
我在講解Java窗體這一節知識時,就很好的應用了陷阱式教學法。在這個教學過程中,要讓學生學習創建一個具有一定屬性的窗體的教學任務,完成這個任務就等于是通關一個小游戲。
在這個案例中第一個陷阱就是編寫一個創建窗體的程序,這個程序非常簡單,在主方法main中只有一行代碼:JFrame jf=new JFrame(“我的第一個窗體”);這行代碼的作用就創建一個JFrame窗體jf,但運行時卻什么也看不到,這是我設計的第一關。學生是這個游戲的主體,自然問題要有學生來解決,我引導學生利用JDK1.6 API幫助文檔找出問題的所在,找出窗體的顯示方法setVisible方法,并在程序的main方法添加一行代碼jf.setVisible(true);上機求證。
第二個陷阱就是我們雖然解決了窗體的顯示問題,但這個顯示的窗體不是我們想要看到的樣子,沒有大小,而且位置在最左上角。也就是說這第二個陷阱就是第二關,是讓學生解決窗體的大小和位置的問題,難度要比第一個要大些。
使用同樣的方法引導學生利用JDK1.6 API幫助文檔,查找解決問題的方法,找出設置窗體大小和位置的方法:setSize方法和setLocation方法。并讓學生在上一個程序的基礎上在main方法中添加二行代碼:jf.setSize(250,200);和 jf.setLocation(300,200);并讓學生自己機上求證。
第三個陷阱就是要解決的窗體背景顏色問題,這也是一個大陷阱。解決窗體的背景顏色問題,根據慣性,學生會在API中查找窗體的背景顏色的設置方法: setBackground(Color c)方法,并把jf.setBackground(Color.red);代碼添加到main方法中,通過上機運行,并沒有出現我們所設置的顏色,這個陷阱一下子就把學生的關注點提高到最大。學生都想知道出了什么問題,該怎樣解決,這個年齡階段的學生都有好奇心。這個問題是學生目前的知識是不能解決的,有一個窗體的主角(窗體容器)即將登場,教師必須講解。
在第三個陷阱程序中是直接對窗體jf設置背景顏色,而窗體上面還有一層我們稱之為窗體容器的控件,就是我們所說窗體的主角,而這個窗體容器的顏色也是灰色的,我們剛才看到的顏色是窗體容器的顏色,而下層的窗體的顏色被遮蓋了,我們看不到,怎樣解決這個問題呢?引導同學們分析,找出解決問題的辦法。 通過分析我們找出兩種解決方案。一是我們要獲得這個窗體容器,并把這個窗體容器設置成不顯示,這時下層窗體的顏色也就顯示出來了;二是我們不對下層的窗體設置顏色,而是對上層的窗體容器設置顏色。這兩種方法程序運行都能正確顯示背景顏色。
這個案例是運用在學習新知識的基礎上的,我們看到新知識的講解并不是按傳統教學模式那樣,把一個一個的知識點進行講解,然后是根據知識點設計一些應用案例,陷阱式教學法是在一定的知識基礎和教師的引導下,由學生自己解決通過自己的研究探索來解決一個一個的問題,在學生解決問題中,使自己的知識得以豐富、調整或改變,從而使學習者的知識經驗進行不斷地增長,在這一過程中,學生是主體,不是被動的學習知識,而是主動的探索完成新知識的掌握,這種教學方法符合建構主義教育理念,在原有知識經驗的基礎上,發現新問題,通過活動獲取新的知識經驗,并對原有的知識經驗進行豐富、調整或改變。并能保持學生學習程序語言的熱情,加深學生對新知識的理解掌握,能使學生在編程中獲得成就感。
陷阱式教學法在案例中的應用,就是一個完整的教學案例在講解時,我們應該首先對任務需求進行描述,然后引導學生對任務需求進行分析,根據學生現有的知識和經驗,提出第一個解決方案(相當于一個游戲的第一關),這個解決方案能完成基本的要求,但是有許多缺陷,功能不完整,這就教師在教學中有意設置的陷阱,學生根據這個方案編寫好程序后,程序也能正確運行。然后教師引導學生發現錯誤,發現不完整的地方,發現缺少的功能,然后再與學生進行分析,提出第二個解決方案(相當于一個游戲的第二關),當然這個方案要比第一個方案,難度有一定的提高,并增加一定的新功能,但也不要一次性把問題解決完,這個方案編寫出程序,運行后,再引導學生發現功能不完整的地方,然后再在第二方案的基礎上,發現問題,找出不足,形成第三個方案,以此類推,直至案例完成(相當于這個小戲完成)。
我在講解Java語言的switch語句的一個案例時就利用了陷阱式教學法,該案例描述為:利用switch語句編寫一個程序,要求從鍵盤輸入一個成績判斷其等級,大于或等于90為優、大于或等于80為良、大于或等于70為中、大于或等于60為及格、否則為不及格,在這個案例中共設計三個程序,這三個程序都有陷阱存在。
程序一就是設計的第一個陷阱,有意在case語句后不加break;語句,目的是對所學習的這個語句進行深入理解,不僅為進一步學習埋下伏筆,也可提高學生的關注點,許多學生在好奇心的驅使下對正確結果不怎么關注,但對錯誤的結果卻很關注,學生認為我們是老師,程序運行結果正確是應當的,而錯誤的結果不應當,還要好奇地看老師能否處理好,這也是提高學生關注點的關鍵所在。這個程序的運行結果沒有達到預期所想,如運行時,輸入一個成績85本來應該輸入“良”,但卻顯示了:“良”、“中”、“及格”、“不及格”,顯然這個結果是錯誤的,引導學生從這個語句的語義中找出問題所在,并引出問題的解決辦法。
程序二是解決了上一個程序的問題,但也有陷阱存在,程序運行時引導學生發現問題,結果有些學生發現,當輸入一個正確的值時,結果是正確的當輸入一個大于100或者是小于0的數時,都顯示“不及格”,就是說這個程序沒有對輸入數值的正確性判斷,引導學生討論怎樣解決這個問題。由于對if語句剛學習過不久,許多學生,能自己解決這個問題,也說是在switch外圍加一個if語句,用于判斷數據的正確性就可以了。
程序三解決了程序二中的錯誤,但也不完善,如果這個程序在運行時輸入的不是數值數據而是字母,就會出現錯誤,但這個問題不是我們這次課所能解決的問題,在以后學生中會解決,為以后學習打下伏筆。
從這個案例我們看到,利用陷阱式教學法不再是象以往的教學法那樣,先把需求描寫清楚,再進行需求分析,再進行編程,而是把案例分成若干個問題,通過對出現的問題的分析和解決,來完成整個案例的制作過程。
學生對知識的掌握是有一個過程的,而這一過程不是直線,而是一種曲線,也就是說學生在學習過程中,對學習的關注點并不是一直保持很高,這一點我們教師一定要能夠理解學生。如果不理解學生,那么教師講解的內容,許多學生就好像完全沒有聽到一樣,老師也很生氣,訓斥學生不認真聽講,而學生看著老師,卻不敢辯解,學生確實是沒有聽到,因為老師在講解時,其關注點沒在學習上,這時教師在教學時,就必須找到一種適合自己學科的教學方法,而不斷的吸引學生,也就是要不斷刺激學生的關注點在學生上,利用獲得的成就去激勵著學生,一點一點的去探索知識、掌握知識,而這一學習過程學生要參與其中。陷阱式教學法,是我長期在教計算機語言過程中自然而然的產生的,并不一定適合所有教師或所有學科,在本文中對這一教學形式,加以簡單總結,以供適合的老師參考。
[1]陳越.建構主義與建構主義學習理論綜述[J].惟存教育,2002.
[2]毛新勇.建構主義理論在教學中的應用[J].課程.教材.教法,1999.