張 博 戴金波
(長春師范大學,吉林 長春 130032)
C語言作為學習編程的入門語言,它并不抽象,教師應充分發揮研究者的作用,以中職學生的特點為切入點,使用科學的教學方法和教學模式,幫助學生逐漸形成程序設計的邏輯結構,形成計算機思維。教師在教學過程中應從問題出發,觸發動機,主動交流討論,不斷嘗試應用,從而達到融會貫通,構建適合中職學生進行C語言程序設計課程學習的教學方法。五星教學法在不斷重復的四階段循環圈內既可考慮對課程重點的側重,又可充分達成對實踐應用的得心應手,切實保障教學有效性。
C語言程序設計是中等職業技術學校計算機類專業的一門基礎編程課程,是學生后續學習C++、數據結構、VB等相關專業課程的前導課程。從該課程內容的漸進水準及分層教學設置的角度,可分為基礎篇與進階篇兩部分。本文以C語言的基礎內容為例,在基礎篇中,學習內容集中在基本量、基本運算及基本結構等內容要求上?;玖渴荂語言程序設計中最基本的操作對象,要求學生掌握其定義及使用;基本運算是對基本量的操作,要求學生掌握運算過程和規范;基本結構是C語言程序設計的關鍵,要求學生掌握其語法規則及執行流程。具體知識結構如圖1所示。

圖1 C語言知識結構
中職學校學生具有來源多樣性、學習目標多元性的特點。如進入中職學校的學生有的因無法適應注重文化課學習的高中教學模式;有的因具備某方面技術專長或興趣;有的希望掌握工作技能盡快參加工作;有的想通過對口升學轉段獲取高等教育機會;等等。這對中職學校的教學方式提出了更高的要求,教師需要在教學過程中,對學生的學習和探索起向導作用,更充分地考慮學生的差異,因材施教。
中職學生正處于少年期,自我意識與自我評價在發展中容易產生矛盾。學生的生理已基本具備成年人的狀態,但心理上并未發育成熟,在學習和生活上依賴教師和父母,造成了一方面中職學生渴望教師和父母的鼓勵,另一方面卻認為自己已是成年人,無須聽從教師和父母的教導。若教師不采取正確的教學方法教學,學生會出現厭學甚至抵觸的學習情緒。
計算機導論課程是C語言程序設計課程的先修課程,其特點為理論性、敘述性內容居多,知識點較繁雜,教學中往往存在教學進度過快,對某些知識一帶而過,忽略學生實際掌握情況的問題,一定程度上影響了教學效度,使得學生對于基礎概念的理解模棱兩可,基礎得不到夯實。另外,一些中職學生缺乏良好的學習習慣,欠缺高效的學習策略,自制力也較差,使得在學習過程中缺乏主動性和求知欲。
傳統課堂中,教師對于C語言程序設計課程以講授與演示為主,學生主要完成驗證性練習,缺乏對所學內容的探究與研討,久而久之,造成學生對課程失去興趣和思考,形成被動學習狀態,課堂缺乏參與感。因此,在教學過程中,中職學校的教師應充分認識到學生的心理發展特點,融入有實際意義的實例,以適當的教學理論為依據,通過鼓勵、引導、夸獎的方式,提高學生的學習興趣。
美國心理學家梅里爾立足于多種教學理論和教學模式,在此基礎上科學整合并不斷完善,最終形成了五星教學法理論。其本質為:要保證獲得最有效的學習成果,首先要以問題為中心,然后將四個階段按照順時針順序形成教學循環,分別為:(1)觸發原有經驗;(2)展示知能(在本文中,均指知識和技能);(3)應用知能;(4)實際運用。具體流程如圖2所示。

圖2 五星教學法循環圈
五星教學法的每個教學階段中,需遵守每個階段相應的三個推論,并通過相應的教學環境進行配合。應用標準如表1所示。

表1 五星教學法應用標準
對于C語言程序設計基礎篇中的知識,我們可以從布魯姆進行教育目標劃分的知識維度考慮。傳統教學中,教師通常通過講授法進行事實性知識、概念性內容的知識的講授,學生以跟隨教師的講授思路為主去學習,缺少主動探究的過程,很難達成對知識的深度理解及融會貫通;而對于程序性類型的相關知識,我們要關注學生通過知識習得來解決做什么和如何做,C語言程序設計作為應用類課程,學生的最終目的是有思考的實際操作,而不是簡單的驗證;至于元認識知識,在于對學生認知能力知識的培養,從目前的中職教育來看,是需要師生共同參與、共同探討的內容。因此,任何知識的有效傳授、切實理解都要以學生為中心,從學習者的角度出發,關注學習體驗才是有意義的。
五星教學法通過面向整體的任務出發,規避了傳統單一的教學模式,通過教師的引導作用,學生在學習過程中進行自主探索,以此來幫助學生主動完成學習任務。學生在合作探索過程中,發揮自己的主體性,全身心投入到C語言程序設計課程當中。
本文選取for循環語句作為教學實例。循環結構對于學習者的數學基礎、邏輯思維等要求較高,for循環語句相比于while、do...while兩種循環語句執行思維更嚴謹,學生在學習期間難以理解。所以,選取此部分可以更加直觀對比出教學效果。

表2 傳統教學法教學設計

表3 五星教學法教學設計
5.4.1 課后小測
在教學后,對采用傳統教學法和五星教學法的兩個班級進行小測(班級同學水平相似、測試人數相同、測試題目相同、測試時間相同)。表4、表5分別是使用傳統模式教學和五星教學法授課的教學成績分析,分析所使用的軟件是SPASS,通過配對T檢驗進行比較。

表4 兩種教法的成績對比統計

表5 兩種教法的成績配對t檢驗
由表4、表5得出的數據可以看到,兩個樣本班級的學生平均成績存在3.36分的差異,雙側的顯著性為0.00<0.05,說明使用兩種教學法進行教學得出的效果差異顯著。因此,在C語言程序設計課程中,五星教學法的教學效果好于傳統模式下的教學效果。
5.4.2 C語言程序設計整體課程教學評價
對于C語言程序設計這門實踐性、技能性較強的課程,不能僅通過紙筆測驗來檢測學生的學習成果。學習C語言的最終目的是用于解決生活中的實際存在問題,所以可采用遞交實驗報告的方式來檢驗學生長期的學習效果。在課程結束后,學生自選主題使用C語言完成一項實際性的綜合項目。學生可在報告中闡明自己的選題初衷、項目解決思路、項目難點及解決方法、創新點。學生通過獨立完成實驗報告,可以檢驗其知識運用能力、創新能力以及對C語言的綜合掌握和運用的能力,通過解決實際問題將所學的知識潛移默化進行運用,最終達到五星教學法中融會貫通的目的。
C語言程序設計是中職學校計算機應用類課程的基礎課,在教學過程中應該為未來的專業課程打好基礎。五星教學法保證了學生在課堂中的主體地位。學生在主動認知中,感受到知識探究過程的趣味性,學習過程中始終聚焦問題,關注學習體驗,確保教學有效度的實現。
但在使用該教學方法時,需注意:①以學生的實際認知水平為依據進行教學案例選??;②新知的難度循序漸進,由易至難。③可操作的小組互動活動要充分考慮協作能力的培養;④教師應適當減少指導,增強學生解決問題能力、創新創造能力;⑤要注重媒體使用的目的,即呈現內容要以幫助學生理解、構成知識畫面為目的;⑥每個環節連結需緊密,保證各環節的黏性。