王 云,郭華麗,李伯飛
(山西師范大學 教育技術與傳媒學院,山西 臨汾 041004)
情境教學模式在“C語言程序設計”中的應用研究*
王 云,郭華麗,李伯飛
(山西師范大學 教育技術與傳媒學院,山西 臨汾 041004)
C語言具有概念抽象、語法結構復雜、數據類型繁多的特點。“C語言程序設計”是一門理論性較強、教學內容不容易理解的課程,本文針對該課程的特點,結合多年的教學實踐經驗,將情境教學模式應用于教學過程中,取得了較好的教學效果。
C語言程序設計;教學案例;情境教學模式;教學效果
“C語言程序設計”是高等院校為計算機專業開設的一門必修課,也是非計算機專業的一門重要基礎課,還是國家計算機等級二級考試中的考試課程。C語言既能像低級語言一樣對位、字節等進行操作,又具有高級語言靈活、便于程序員編寫的優點,是學習ASP、Java、C#等高級語言的基礎。對于初學者而言,C語言相對其他語言,具有概念抽象、語法結構復雜、數據類型繁多等特點,在傳統“C語言程序設計”教學過程中教師往往照本宣科,不重視學生實踐能力及問題解決能力的培養,導致許多學生尤其是非計算機專業的學生學習起來很吃力,有的甚至對該課程的學習產生抵觸心理。如何解決傳統教育中的這些問題,本文將情境教學模式引入到“C語言程序設計”課程的教學過程中,取得了事半功倍的教學效果。
情境教學模式是指教師在教學過程中,創設生動形象的情境,使學生產生感性的態度體驗,從而理解教學內容、消化教學知識點、完成教學目標,進而優化學生的知識結構、智力水平、情感態度的教學模式。[1]情境教學模式的關鍵是情境創設,情境的創設將教學內容滲透到學生的情感活動中,讓學生自覺地全身心投入到課程的學習之中,自覺地將知識內化并深刻記憶。[2]這種教學模式下活潑融洽的課堂氣氛增加了學生之間交流的機會,能激發學生的學習動力,同時角色扮演和游戲等活動也有利于學生團隊意識和組織能力的培養。常用的情境教學法有:直觀情境教學法、問題情境教學法、角色扮演情境教學法、游戲情境教學法等。
1.直觀情境教學法案例
直觀情境教學法要求教師采用實物、模型和言語等方式產生生動的表象,從而豐富學生的感性知識并逐步引導升華到深刻的理性知識。
案例1:講授“棧和隊列的特性”這一知識點時,可以采用如下的直觀情境法。
(1)棧的特性。拿一個木桶代表棧(只能在一端放置積木,移走積木),往木桶里放積木(積木就可看成元素),放置了幾塊積木后會發現:最先放置的積木,反而出現在了木桶的最低端;最后放置的積木反而出現在木桶的最上端。由于移走的時候只能在同一端,所以最后放置的積木反而最先就可以移走,如圖1所示。這就充分反映了棧的“先進后出”的特性。

(2)隊列的特性。拿一個塑料管代表隊列(管有兩個口,可以在一端放置積木,在另一端移走積木),按順序放置了幾個積木后發現:最先放置的積木也最先出現在了管的另一端,也就可以最先移走,如圖2所示。這就充分反映了隊列的“先進先出”的特性。

案例2:講授“地址”概念的時候,可以用“教學樓”、“教室”等概念來創設直觀情境,幫助學生理解“地址”概念。假定教學樓里每個教室里只有一個學生,通過教室的門牌號就能找到想找的學生。類比一下,假定教學樓為內存,學生為變量,那么是不是就可以很快斷定教室的門牌號為此變量(學生)的地址?
2.問題情境教學法案例
問題情境教學法要求教師創造未知問題,制造懸念或形成“認知”上的沖突,讓學生主動地探索發現。[1]問答具有集中學生注意力、激發學習興趣、啟迪思維、鍛煉表達能力及提供反饋信息等教育功能。[4]
案例3:講授“函數間數據傳遞的兩種形式”時,可以創設這樣的問題情境:給出以下程序,請同學們寫出輸出結果:

很多同學的答案是:
“調用交換函數之前x的值為10,y的值是20
“我拼命為這個國家而戰,畢生盡力做好事。”利夫西告訴記者。按照利夫西的說法,他事后已派人去那家餐館結賬,還給當時的送餐員留下小費,餐館老板也有意撤訴。但是,當地警方對此事窮追不舍,就為了“讓我出洋相”。“這是我一生中遇到的最糟糕的事!”這名八旬老人抱怨。
調用交換函數之前x的值為20,y的值是10”
而上機實現的運行結果是:
“調用交換函數之前x的值為10,y的值是20
調用交換函數之前x的值為10,y的值是20”
為什么不同呢?這樣的問題打破了學生原有的舊觀念,“吊足胃口”,學習欲望也比以往高漲,學生會主動分析緣由,也為教師的知識講述埋好了伏筆。相比傳統教學模式更加引人入勝,讓學生積極地參與到解決問題的過程中,提高了學生認識問題和解決問題的能力。
3.角色扮演情境教學法案例
角色扮演情境教學法,顧名思義指采用角色扮演的教學手段創造情境。這種教學模式充分地體現了教學中“以學生為主體”的思想,學生站在自己所扮演角色的角度分析和解決課堂中出現的問題 (這種問題可以由老師提出來,也可以由學生自己發掘)。C語言教學中有些知識點可以采用這種方法。
案例4:在講述一維數組的元素引用時,可以利用學生的座位特點,讓學生練習元素的引用。
角色扮演是以某種任務的完成為主要目標,在設定一個教學目標后,學生無論是親身體驗或是從旁觀察,都務必將注意力專注于活動的進行過程中,這樣學生在課堂中借著自身經歷的過程來學習并獲得知識,獲得的知識更加形象且記憶深刻。
4.游戲情境教學法案例
愛因斯坦說過:“興趣是最好的老師”。學生若對某門課感興趣,就會自發地產生一種對這門課的自信心和克服困難的意志。在教學中我們可以創設游戲情境,將知識點“滲透”到趣味性很強的游戲中,激發學生克服困難的斗志,營造一個趣味盎然的課堂氣氛,讓學生自發地努力探索知識。
案例5:在講述冒泡排序和選擇排序的時候,可以安排一組同學在課堂上演示每一趟排序后的順序。
游戲過程:安排甲、乙、丙、丁、戊五個同學分別拿著標號為“5”、“9”、“8”、“4”、“3”的大紙牌。 教師發命令,學生按照命令站好自己的位置,冒泡排序游戲過程具體實施情況如下表1所示。
選擇排序游戲過程具體實施情況如下表2所示。

表1 冒泡排序游戲過程

表2 選擇排序游戲過程
在這樣的游戲中,如果有同學站錯位置,就給予懲罰。這樣學生為了贏得游戲,就要復習排序算法,并且只有真正掌握其實質才能做好游戲。這種教學模式無疑能增強學生的求知欲望,激發學生的學習興趣,無形之中提高了學生學習、復習知識的積極性。將“排序算法”這樣抽象、枯燥、難理解的知識點穿插進游戲情境中,能讓學生覺得新穎、有趣,讓學生在樂趣中學習,并能保持記憶的持久性。
通過以上的教學案例,本文認為“C語言程序設計”的情境教學模式應該從以下三個階段實施。
1.第一階段:研讀教材,設計情境
教師在設計情境之前應該認真研讀教材內容和教學大綱,系統地梳理教材各個知識點及重難點,形成知識框圖(可運用概念圖等工具)。教學情境必須按照教材知識的邏輯順序進行合理的設計,把教學內容分成許多連續的知識點,形成一個由淺入深、由簡到繁的系列。[5]
2.第二階段:進入角色,體驗情境
在情境體驗階段,學生共同討論問題,自由地發表各自的觀點,同時教師要鼓勵學生質疑。教師要給予學生最大的發揮空間,同時根據學生的狀態和對問題的理解程度進行恰當的引導(直觀情境中,教師要運用生動豐富的教學語言和肢體語言向學生展示各個概念和原理),引導語句要有遞進性和啟發性,幫助學生完成知識構建并注重學生邏輯思維能力和問題解決能力的培養。
3.第三階段:反思情境,歸納總結
在情境教學活動中,情境的創設產生了很好的教學效果,但是如果學生自覺性差或者不善于概括就可能導致其知識掌握不到位(片面或者零散)。例如角色扮演中某些學生惰性較強,往往只學習與自己扮演角色相關的知識,以應付課堂提問,掌握的知識只是冰山一角。又如問題情境是以問題的設疑為主線展開,問題之間相對獨立,學生所學的知識都是七零八落的“個體”,不利于學生認知結構的形成。教師需要在每堂課的最后,把學生“拉”回到教學目標中,重新回顧所涉及的知識點及課堂中的問題并進行總結、補充。
“C語言程序設計”課程內容抽象,理論性強。在傳統的教學模式中教師往往采用“填鴨式”教學方式灌輸知識,不利于學生自主學習能力的培養。另外,“C語言程序設計”課程的知識點涉及計算機原理、操作系統等高層次概念知識,很多學習者學習起來較為困難,傳統教學模式不利于學生實踐能力及問題解決能力的培養,將情境教學模式引入到該課程中,可以很好地解決這些問題。情境的創設可以讓學生主動參與到課堂中,激發學生的求知欲望,培養學生發現問題、解決問題的能力,極大限度地開發了學生的智力和潛能;可以使抽象的知識形象化,將難理解的概念生動地展現在學生面前,讓學生理解原理,避免了死記硬背,達到事半功倍的教學效果。
[1]馮衛東.情境教學操作全手冊[M].南京:江蘇教育出版社,2010.6.
[2]張九華.創設教學情境,打造魅力課堂[J].江西青年職業學院學報,2010(6):96.
[3]廖麗芳.教師教學情境創造力策略[M].長春:東北師范大學出版社,2010.9.
[4]朱曉鳴.基于Internet情景教學模式的思考[J].計算機教育,2008(16).
[5]高凱,李倩華.情景教學模式在中職計算機網絡課程中的應用初探[J].中國科技博覽,2011(2).
[6]屈勇,基于信息技術的情景教學策略研究[D].西南大學碩士學位論文,2009.
G424
B
1673-8454(2012)05-0064-03
全國教育科學規劃教育部重點課題:網絡環境下適應性遠程考試系統的實證研究(GFA111016);山西省研究生教育改革研究重點課題:農村教育碩士信息化教育策略研究(20112029);山西省2011年高等學校特色專業建設項目:教育技術學;山西師范大學“十二五”重點學科建設項目(教育學)。
(編輯:金冉)