沈俊慧
(福建船政交通職業(yè)學(xué)院 信息工程系, 福建 福州 350007)
高職院校C語言教學(xué)方法探索
沈俊慧
(福建船政交通職業(yè)學(xué)院 信息工程系, 福建 福州 350007)
從高職院校學(xué)生的特點和傳統(tǒng)教學(xué)模式存在的缺點出發(fā),探討C語言程序設(shè)計課程的教學(xué)改革與實踐,針對不同教學(xué)內(nèi)容嘗試不同教學(xué)方法。對于課程的核心知識點,如循環(huán)結(jié)構(gòu)、數(shù)組、指針、結(jié)構(gòu)體、C文件函數(shù),可以采用適合高職教育特色的任務(wù)驅(qū)動教學(xué)法和項目教學(xué)法,這兩種教學(xué)方法有利于培養(yǎng)學(xué)生的動手能力與解決實際問題能力。
C語言;高職教育;任務(wù)驅(qū)動教學(xué)法;項目教學(xué)法
作為職業(yè)教育的高等階段,高職院校兼具高等教育和職業(yè)教育雙重屬性,與傳統(tǒng)的學(xué)院式教育模式不同,它以就業(yè)導(dǎo)向為模式,教育目的從“偏重文化技術(shù)和理論知識”轉(zhuǎn)向“重視就業(yè)技能和發(fā)展能力”;教學(xué)內(nèi)容從“校內(nèi)課程為主,重視學(xué)科性”轉(zhuǎn)向“重視專業(yè)領(lǐng)域建設(shè),注重校內(nèi)學(xué)習(xí)與工作實踐結(jié)合性,就業(yè)導(dǎo)向重于書本知識”,最終培養(yǎng)出具有一定理論知識和較強實踐能力,面向基層、面向生產(chǎn)、面向服務(wù)和管理第一線職業(yè)崗位的實用型、技能型專門人才。因此,高職院校課程設(shè)置要凸顯實踐性,教學(xué)也要以實踐為主。C語言因其簡潔緊湊、使用靈活方便、表達能力強、功能豐富、目標(biāo)程序執(zhí)行效率高、適用范圍大、可移植性好的特點,近年來得到迅速推廣與應(yīng)用,成為許多高校特別是高職院校的計算機專業(yè)基礎(chǔ)課程。由于高職學(xué)生生源成分不一,學(xué)習(xí)熱情難以持久,畏難情緒容易滋生,加之大部分教師按傳統(tǒng)模式教學(xué),上課缺乏激情如同念經(jīng),導(dǎo)致學(xué)生漸漸失去學(xué)習(xí)興趣,最終消極對待,難以實現(xiàn)開設(shè)C語言課程的目標(biāo)。近年來,筆者從高職院校學(xué)生特點入手,在教學(xué)內(nèi)容與教學(xué)方法等方面進行大膽探索,嘗試采用任務(wù)驅(qū)動教學(xué)和項目教學(xué)等方法,積極投身教學(xué)實踐,取得了較好的教學(xué)效果。
1.1 學(xué)生特點
高職院校學(xué)生主要存在生源成分不一,學(xué)習(xí)熱情難以持久,畏難情緒容易滋生等特點。不同生源的學(xué)生,他們的計算機素養(yǎng)水平參差不齊,各有特點。來自普通高中的學(xué)生,在高考的壓力下,高中的計算機課程形同虛設(shè),學(xué)生的計算機基礎(chǔ)知識薄弱,這部分學(xué)生習(xí)慣傳統(tǒng)教育模式,較難進入程序設(shè)計狀態(tài);但他們的英語水平總體會高于職專學(xué)生,在C語言編譯調(diào)試中顯示出他們的優(yōu)勢。來自職專的學(xué)生,在三年的中專學(xué)習(xí)中已涉及到語言編程,有一定的語言基礎(chǔ),動手能力優(yōu)于普高學(xué)生,但他們的英語水平相對較弱,這一點正好與普高的學(xué)生相反。教學(xué)過程中,筆者發(fā)現(xiàn)高職學(xué)生大部分雖有學(xué)習(xí)意愿,但學(xué)習(xí)熱情難以持久。在學(xué)習(xí)初期熱情高漲,隨著學(xué)習(xí)的不斷深入,當(dāng)涉及到C語言的數(shù)組、函數(shù)、指針、文件后,由于概念多、難點多、規(guī)則復(fù)雜、不易調(diào)試,漸漸失去學(xué)習(xí)興趣,產(chǎn)生畏難情緒,甚至主觀認為學(xué)習(xí)C語言沒有用處,不會也不愿花時間鉆研和深入學(xué)習(xí),很少能享受到解決學(xué)習(xí)難題后的樂趣,自我放棄,直接影響學(xué)習(xí)效果。
1.2 C語言課程教學(xué)現(xiàn)狀
“C語言程序設(shè)計”課程是高職院校計算機相關(guān)專業(yè)進入大學(xué)校門后接觸的第一門專業(yè)基礎(chǔ)課,教學(xué)計劃將此課程安排在第一學(xué)期,理論與實踐的課時各占50%。實際排課采用2節(jié)多媒體教室+4節(jié)機房。若采用課堂教學(xué)、課后安排上機的傳統(tǒng)教學(xué)模式,在實際教學(xué)過程中,筆者感覺到學(xué)生在多媒體教室上課時,一時難以消化大量的知識點;在機房上課時又不知如何打發(fā)時間,上機只能做些驗證性實驗,缺乏獨立編寫程序解決問題的能力。目前,大部分教師還是按傳統(tǒng)模式教學(xué),上課缺乏激情如同念經(jīng),導(dǎo)致學(xué)生漸漸失去學(xué)習(xí)興趣,最終消極對待,難以實現(xiàn)開設(shè)C語言課程的目標(biāo)。傳統(tǒng)教學(xué)模式是一種以教師為中心學(xué)生被動接受的教學(xué)模式,該模式有其優(yōu)缺點。優(yōu)點是有利于教師主導(dǎo)作用的發(fā)揮,有利于教師對課堂教學(xué)的組織、管理與控制。但它存在一個很大的問題,就是忽略學(xué)生的主動創(chuàng)造性,不能把學(xué)生的認知主體作用很好地體現(xiàn)出來,很大程度限制了學(xué)生思維模式的拓展,部分學(xué)生習(xí)慣于線性思維方式。而C語言強調(diào)的卻是結(jié)構(gòu)化的模塊思想,是一門實踐性很強的課程,且高職教育是以就業(yè)導(dǎo)向為模式,重在培養(yǎng)學(xué)生實踐能力。因此傳統(tǒng)教學(xué)模式很難調(diào)動學(xué)生編程的積極性,不適用于C語言的實際教學(xué)。
近年來,筆者結(jié)合本人的教學(xué)實踐,從高職教育的特點出發(fā),嘗試實施不同的教學(xué)方法。對于學(xué)生必須掌握的知識點,教師在課堂上講解,分發(fā)足量的習(xí)題讓學(xué)生上機實驗。對于課程的核心知識點,可以靈活采用多種教學(xué)方法,如任務(wù)驅(qū)動法、項目教學(xué)法、討論教學(xué)法,這樣更能激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生在“做中學(xué)”,改變以往單一線性思維,培養(yǎng)學(xué)生以C語言的方式思考問題,提高讀寫程序和調(diào)試程序的能力。課程的主要教學(xué)內(nèi)容及教學(xué)目的、教學(xué)方法如表1所示。下文重點論述任務(wù)驅(qū)動法和項目教學(xué)法的實施過程。
表1
2.1 任務(wù)驅(qū)動教學(xué)法與實施舉例
教學(xué)過程中所涉及到的任務(wù)驅(qū)動教學(xué)法是基于建構(gòu)主義學(xué)習(xí)理論的教學(xué)方法,指教師將教學(xué)內(nèi)容設(shè)計成一個或多個任務(wù),以某個實例為先導(dǎo)提出問題,引導(dǎo)學(xué)生主動思考、積極探究、相互協(xié)作,目的在于培養(yǎng)學(xué)生分析問題和解決問題的能力,培養(yǎng)學(xué)生獨立探索知識和團隊協(xié)作能力。具體實施環(huán)節(jié)包括創(chuàng)設(shè)情境、確定問題(任務(wù))、自主學(xué)習(xí)、協(xié)作學(xué)習(xí)、效果評價。例如:在講授循環(huán)嵌套結(jié)構(gòu)時,引導(dǎo)學(xué)生回想使用過的計算機軟件的界面圖形,C語言具有這種功能,并且安排一個任務(wù),“從鍵盤輸入一個整數(shù)值,如n=6,輸出如下圖1所示矩形。”引導(dǎo)學(xué)生思考這個任務(wù)是打印字符,而字符的輸出函數(shù)printf和從鍵盤獲得變量值的輸入函數(shù)scanf之前已經(jīng)掌握,現(xiàn)在遇到的問題,重點在于如何控制輸出字符的列數(shù)與行數(shù)跟鍵盤輸入值一樣。提示學(xué)生之前用while、do-while或for循環(huán)語句求n!的例子,n的值也是從鍵盤獲得。進而讓學(xué)生進行討論交流且動手嘗試能否用原有知識編寫程序,完成任務(wù)。結(jié)果大多數(shù)學(xué)生只能控制列數(shù),行數(shù)不能控制。由此,引入循環(huán)嵌套的知識點。后期為鞏固學(xué)生的學(xué)習(xí)效果,讓學(xué)生產(chǎn)生知識遷移,可以提出幾個相近任務(wù)讓學(xué)生在“做中學(xué)”如打印直角三角形、平行四邊形、菱形等幾何圖形。
實踐證明,任務(wù)驅(qū)動教學(xué)法通過創(chuàng)設(shè)與當(dāng)前學(xué)習(xí)主題相關(guān)、盡可能真實的學(xué)習(xí)情境,引導(dǎo)學(xué)生帶著真實的“任務(wù)”進入學(xué)習(xí)情境,喚起學(xué)生原有認知結(jié)構(gòu)的相關(guān)知識、經(jīng)驗;選擇與當(dāng)前學(xué)習(xí)主題密切相關(guān)的問題(任務(wù)),讓學(xué)生面臨一個需要立即去解決的現(xiàn)實問題;教師向?qū)W生提供解決該問題的有關(guān)線索,學(xué)生通過解決問題進行探索性學(xué)習(xí),建構(gòu)新知識。因此,這種有效的學(xué)習(xí)方法,能夠提高學(xué)生學(xué)習(xí)的效率和興趣,培養(yǎng)學(xué)生分析問題、解決問題的能力,提高學(xué)生自主學(xué)習(xí)及與他人協(xié)作的能力。
2.2 項目教學(xué)法與實施舉例
教學(xué)過程中所涉及到的項目教學(xué)法是指通過實施一個完整的項目而進行的教學(xué)活動,其目的是圍繞項目組織和開展教學(xué),使學(xué)生直接全程參與,體驗、感悟、論證、探究,充分發(fā)掘?qū)W生的創(chuàng)造潛能,提高學(xué)生解決實際問題的綜合素質(zhì)與能力。它是一種以學(xué)習(xí)者為中心的教學(xué)方式,學(xué)生是信息加工的主體,不再是傳統(tǒng)教學(xué)中被動的知識接受者,它的出發(fā)點和著眼點在于通過對問題的解決,來提高學(xué)生處理復(fù)雜問題的能力。
根據(jù)高職教育的特點,教育的關(guān)鍵是對學(xué)生職業(yè)技能的培養(yǎng),使學(xué)生就業(yè)后具備就業(yè)崗位所需的綜合素質(zhì)和職業(yè)能力。以學(xué)生為中心的項目教學(xué)法,能夠面向職業(yè)崗位整體工作過程的需要,整合多門課程的相關(guān)知識,通過職業(yè)和工作過程系統(tǒng)化的培養(yǎng),來掌握融合于各項實踐行動中的知識、技術(shù)和技能,同時,也培養(yǎng)學(xué)生的互相協(xié)作的團隊精神。例如在學(xué)習(xí)結(jié)構(gòu)體、鏈表、C文件函數(shù)時為提高學(xué)生的實際編程能力,就可以采用該教學(xué)方法。在初步講解結(jié)構(gòu)體、結(jié)構(gòu)體數(shù)組、鏈表建立、插入和刪除、各種C文件函數(shù)后,學(xué)生并不能真正理解與掌握C語言的精髓,只是感覺到C語言很復(fù)雜很難理解,喪失學(xué)習(xí)興趣,更談不上實際應(yīng)用。在實際教學(xué)中,筆者設(shè)計9個項目,包括賓館客房登記與查詢系統(tǒng)、學(xué)院圖書查詢系統(tǒng)、企業(yè)員工查詢系統(tǒng)、學(xué)生學(xué)籍及成績查詢系統(tǒng)等。例如《賓館客房登記與查詢系統(tǒng)》項目要求學(xué)生按照軟件工程開發(fā)方法,編寫一個程序,通過此程序能夠查詢所有客房的當(dāng)前狀態(tài)(如各種價位的空房數(shù)量、房號;正在維修房號;入住的客人信息與房號)、入住登記、修改客房的性質(zhì)(客房轉(zhuǎn)為普通行政管理房間或行政管理房間轉(zhuǎn)為客房)。項目實施過程包括6大任務(wù),環(huán)境搭建、分析需求、處理房間基本信息、實現(xiàn)系統(tǒng)菜單項、實現(xiàn)信息查詢與修改、調(diào)試系統(tǒng)。該項目所涉及到的知識點除C語言基礎(chǔ)知識,關(guān)鍵是數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、鏈表、文件操作等重點內(nèi)容的應(yīng)用。在初期提出項目要求和備選項目之后,讓學(xué)生自行組隊,隨機選擇項目,筆者就不再參與項目的分析、實施和完成工作。學(xué)生要根據(jù)自己的技能積累、知識儲備,進行項目的需求分析、模塊設(shè)計、模塊編程、系統(tǒng)聯(lián)調(diào),完成一個可以解決實際問題的軟件系統(tǒng)。項目完成之后,筆者組織學(xué)生進行評審,組長展示項目結(jié)果,最后根據(jù)完成情況進行項目評價。在此期間,學(xué)生不再面對抽象、無趣的基礎(chǔ)概念和復(fù)雜算法,每個小組成員根據(jù)自身知識水平,參與動手操作和學(xué)習(xí),完成小組分配工作,把書本知識融入項目當(dāng)中。
實踐證明,學(xué)生在做完一個項目后,整個C語言知識水平得到質(zhì)的提升,經(jīng)常有學(xué)生跟筆者說,在實施項目的過程中,上課所講的知識點全部應(yīng)用到,以往覺得空洞、抽象的知識,得到重新理解、掌握、應(yīng)用,知道C程序設(shè)計語言到底有哪些功能了,真正實現(xiàn)C程序設(shè)計語言的教學(xué)目標(biāo)。
在實施過程中,還應(yīng)重視學(xué)生的個性特點,引導(dǎo)學(xué)生發(fā)揮各自的特長,充分發(fā)展學(xué)生的個性,讓每個學(xué)生都嘗試成功。比如,就上面所提到的,不同生源的學(xué)生,學(xué)習(xí)C語言各有優(yōu)勢和劣勢。來自普高的學(xué)生,計算機知識基礎(chǔ)薄弱,應(yīng)鼓勵他們向來自職專的同學(xué)探討解決問題的思考方式;同時,發(fā)揮自己的英語特長,在C語言編譯過程中,幫助職專生源的同學(xué),翻譯英文的提示語句。還有個別學(xué)生的自學(xué)能力和自控能力都比較差,容易產(chǎn)生依賴思想,學(xué)習(xí)進展緩慢,時間一長極易喪失學(xué)習(xí)的積極性和主動性,從而影響整個班級的學(xué)風(fēng),因而組隊時,要求強弱搭配,小組分工時,功能簡單的模塊分給知識水平差些的成員,以免讓這部分學(xué)生有畏難情緒,抵觸程序編寫。
高職新生習(xí)慣于高中時的教學(xué)模式和學(xué)習(xí)方式,教師應(yīng)該根據(jù)教學(xué)內(nèi)容采用多種教學(xué)方法,讓學(xué)習(xí)的難度分散,讓每位學(xué)生經(jīng)過努力都有達到目標(biāo)的希望,促進學(xué)生在進步中享受成功的喜悅。基于建構(gòu)主義學(xué)習(xí)理論的任務(wù)驅(qū)動教學(xué)法,可以引導(dǎo)學(xué)生循序漸進地自主學(xué)習(xí)和探究知識點,項目教學(xué)法可以以就業(yè)為導(dǎo)向,提高高職學(xué)生解決實際問題的能力,兩種教學(xué)方法讓學(xué)生通過不斷的實踐、討論來構(gòu)建自己的知識體系結(jié)構(gòu),能有效提高學(xué)生主動探究、分析問題、解決問題以及團隊協(xié)作的能力,非常適合初次學(xué)習(xí)計算機語言的學(xué)生。
[1] 什么是高等職業(yè)教育?[EB/OL].(2011-04-07)[2013-05-26].http://www.80edu.com/html/gaozhao/gzyx/8264.html.
[2] 肖曉霞,羅鐵清.建構(gòu)主義學(xué)習(xí)理論在C語言教學(xué)中的應(yīng)用研究[J].湖南師范大學(xué)教育科學(xué)學(xué)報,2012(6):100-102.
[3] 尹維偉.項目教學(xué)法在職業(yè)院校計算機教學(xué)中的應(yīng)用研究[D].遼寧:遼寧師范大學(xué)計算機與信息技術(shù)學(xué)院,2010.
[4] 錢麗丹.項目化教學(xué)在C語言程序設(shè)計課程中的應(yīng)用[J].軟件導(dǎo)刊,2013(1):188-189.
[5] 張蕾.基于項目化教學(xué)的“C語言程序設(shè)計”課程改革[J].計算機教育,2013(1):17-20.
[6] 方少卿.《C語言程序設(shè)計》課程教學(xué)探索[J].安慶師范學(xué)院學(xué)報:自然科學(xué)版,2013(2):112-115.
2013-06-25
沈俊慧(1977-),女,福建詔安人,講師,碩士研究生,主要從事計算機網(wǎng)絡(luò)技術(shù)與程序開發(fā)研究。
G712
A
1671-6876(2013)03-0259-03
[責(zé)任編輯李強]