洪秀金,覃 楨
(海南軟件職業(yè)技術(shù)學(xué)院,海南 瓊海 571400)
C語言教學(xué)改革探究
洪秀金,覃 楨
(海南軟件職業(yè)技術(shù)學(xué)院,海南 瓊海 571400)
C語言是許多大學(xué)開設(shè)的第一門程序設(shè)計(jì)語言類課程,也是其它計(jì)算機(jī)相關(guān)課程的前導(dǎo)課程。通過C語言的教學(xué),培養(yǎng)學(xué)生的程序設(shè)計(jì)思想,讓學(xué)生具備一定的編程能力,并將C語言程序設(shè)計(jì)方法運(yùn)用到實(shí)際學(xué)習(xí)和工作中。文章在教學(xué)過程中使用項(xiàng)目式教學(xué)方法進(jìn)行一系列的教學(xué)改革。
C語言;項(xiàng)目;教學(xué)改革
C語言是一種面向過程的程序設(shè)計(jì)語言,具有數(shù)據(jù)類型多、運(yùn)算符豐富、語句控制靈活、能夠使用指針操作內(nèi)存等特點(diǎn)。學(xué)生剛開始接觸C語言,編寫第一個(gè)“helloworld”程序時(shí),感覺到非常神奇,學(xué)習(xí)C語言的積極性也比較高。但是隨著后面內(nèi)容不斷深入,學(xué)生學(xué)習(xí)循環(huán)、數(shù)組、指針等知識點(diǎn)時(shí)感覺非常困難,課后練習(xí)也明顯比較吃力,再加上傳統(tǒng)的教學(xué)方法比較枯燥,使得學(xué)生學(xué)習(xí)興趣和學(xué)習(xí)態(tài)度受到影響,甚至有個(gè)別學(xué)生干脆放棄學(xué)習(xí)這門課程。因此筆者在教學(xué)過程中不斷地摸索,對C語言教學(xué)方法進(jìn)行改革,通過項(xiàng)目引導(dǎo)的方式進(jìn)行教學(xué),讓學(xué)生在完成項(xiàng)目各個(gè)任務(wù)時(shí)學(xué)習(xí)C語言的知識點(diǎn),不再是傳統(tǒng)先講授知識點(diǎn),學(xué)生再動手操作的教學(xué)方式,而是將各個(gè)知識點(diǎn)融入項(xiàng)目的各個(gè)任務(wù)中去,學(xué)生每完成一個(gè)任務(wù),也就學(xué)習(xí)和鞏固了所需知識點(diǎn)。這種“基于項(xiàng)目的學(xué)習(xí)”教學(xué)方法符合高職高專學(xué)生的實(shí)踐情況,教學(xué)效果也顯著提高。
目前,各院校計(jì)算機(jī)專業(yè)學(xué)生對該門課程存在著很多問題。首先,C語言是學(xué)生學(xué)習(xí)的第一門計(jì)算機(jī)程序設(shè)計(jì)語言,還沒有抽象的程序設(shè)計(jì)思想,以為C語言就是學(xué)習(xí)一些簡單的概念,掌握一些語法規(guī)則,對以后工作沒什么幫助。還有一些學(xué)生認(rèn)為C語言的功能不夠強(qiáng)大,不像Java,C#等主流程序開發(fā)語言那樣可以開發(fā)企業(yè)網(wǎng)站、電子商務(wù)等應(yīng)用程序。其次,任課教師的C語言教學(xué)方法過于陳舊,依然采用教師講解語法知識,學(xué)生聽的傳統(tǒng)教學(xué)方式,這種傳統(tǒng)教學(xué)方式強(qiáng)調(diào)的是理論知識的講授,并沒有重點(diǎn)培養(yǎng)學(xué)生實(shí)際動手能力。強(qiáng)調(diào)理論知識的教學(xué)方法不僅使得課堂教學(xué)變得枯燥,也影響了學(xué)生學(xué)習(xí)C語言的興趣與積極性。而且在上機(jī)實(shí)踐課布置的編程題,能夠獨(dú)立完成編程的學(xué)生較少,大部分學(xué)生都要參考書上的例子,照葫蘆畫瓢,不肯動腦解決問題,缺乏對知識的靈活應(yīng)用。第三,雖然有的教師也比較注重課后練習(xí),每次上完課都會給學(xué)生布置一些編程題,鞏固所學(xué)的知識點(diǎn)和鍛煉學(xué)生的動手能力,但是因?yàn)槿狈^程的監(jiān)督,對學(xué)生的完成情況、學(xué)生對所學(xué)知識的掌握程度都不能及時(shí)了解,因此教師根本無法真正檢測學(xué)生是否學(xué)會了所講授內(nèi)容。
針對在教學(xué)過程中可能存在的問題,可采用以下措施進(jìn)行改進(jìn)。
(1)重視第一次課程,讓學(xué)生對C語言產(chǎn)生良好印象。學(xué)生們以前從未接觸過C語言,對此既好奇又有所畏懼。因此,第一次課的引導(dǎo)非常重要,為了調(diào)動學(xué)生學(xué)習(xí)的積極性和培養(yǎng)學(xué)生的學(xué)習(xí)興趣,教師在第一課會精心準(zhǔn)備一些有趣的程序。比如:給學(xué)生演示用C語言編寫的貪吃蛇、俄羅斯方塊、五子棋等小游戲,這些小游戲大部分學(xué)生都玩過,學(xué)生對開發(fā)游戲產(chǎn)生了興趣,在開發(fā)游戲的基礎(chǔ)上,向?qū)W生強(qiáng)調(diào)學(xué)習(xí)C語言的重要性,C語言的輸入與輸出,開發(fā)第一個(gè)“helloworld”C程序,讓學(xué)生動手操作C語言的開發(fā)環(huán)境,并掌握編譯和運(yùn)行C程序。
(2)課程設(shè)計(jì)與多媒體相結(jié)合。要讓學(xué)生掌握知識點(diǎn),并且會熟練運(yùn)用,不能一味地講解理論知識,學(xué)生也會覺得枯燥乏味,這時(shí)可以結(jié)合flash動畫進(jìn)行教學(xué),比如,在講解“for循環(huán)語句”時(shí),可制作一些生動形象的動畫來描述for語句的執(zhí)行流程,描述循環(huán)時(shí),讓動畫不停地運(yùn)行,直到循環(huán)條件為假時(shí),才結(jié)束循環(huán)。這樣,不僅生動直觀,而且學(xué)生理解起來也比較容易。
(3)利用項(xiàng)目任務(wù)設(shè)計(jì)來學(xué)習(xí)。把項(xiàng)目劃分成許多個(gè)小的任務(wù),每個(gè)任務(wù)都是互相獨(dú)立的,學(xué)生每做完一個(gè)任務(wù),就學(xué)會相關(guān)的知識點(diǎn),小的任務(wù)學(xué)生做起來也比較有成就感,有利于培養(yǎng)學(xué)生的編程興趣。比如,利用“學(xué)生成績管理系統(tǒng)”這個(gè)項(xiàng)目來學(xué)習(xí)數(shù)組的相關(guān)內(nèi)容,在準(zhǔn)備給學(xué)生實(shí)踐前,首先把學(xué)生管理系統(tǒng)任務(wù)有輸入學(xué)生成績、輸出學(xué)生成績、查詢成績、排序等需求詳細(xì)跟學(xué)生解釋清楚,讓學(xué)生有充分的時(shí)間做準(zhǔn)備。其次,在完成每個(gè)任務(wù)的過程中,教師可采用引導(dǎo)的方法給學(xué)生一些提示,比如要用到哪些算法、函數(shù)等等。
(4)重視教學(xué)內(nèi)容的安排。在對教學(xué)內(nèi)容進(jìn)行安排時(shí),引入了下面15個(gè)小程序,這15個(gè)小程序涵蓋了C語言輸入、輸出語句、選擇語句、循環(huán)語句、數(shù)組指針等知識點(diǎn),并且綜合應(yīng)用3個(gè)程序設(shè)計(jì),具體的安排如表1所示。
表1 教學(xué)內(nèi)容安排表
序號 涵蓋的知識點(diǎn) 項(xiàng)目內(nèi)容7 指針的使用程序設(shè)計(jì)14:指針變量引用的兩個(gè)整型數(shù)據(jù)之和程序設(shè)計(jì)15:指針優(yōu)化實(shí)現(xiàn)班級輸出最高分記錄8 綜合應(yīng)用程序設(shè)計(jì)16:評分系統(tǒng)程序設(shè)計(jì)17:迷宮程序設(shè)計(jì)18:推箱子
本課程采用過程考核,涵蓋的項(xiàng)目任務(wù)的全部過程,主要由程序設(shè)計(jì)、回答問題和獎勵懲罰3個(gè)方面組成,其中程序設(shè)計(jì)占了60℅,其余兩項(xiàng)占20℅。
本課程采用此方式進(jìn)行考核,綜合學(xué)生整個(gè)學(xué)期的學(xué)習(xí)情況進(jìn)行給分,因此監(jiān)控了學(xué)生的整個(gè)學(xué)習(xí)過程,經(jīng)過這幾年的教學(xué)經(jīng)驗(yàn),項(xiàng)目式的教學(xué)方法教學(xué)質(zhì)量有了很大的提高,學(xué)生不僅掌握了C語言的相關(guān)知識,而且學(xué)生的動手能力也得到了提高,在完成項(xiàng)目的過程中也學(xué)會了團(tuán)隊(duì)合作。學(xué)生也對這種教學(xué)模式給出了很高的評價(jià)。
這幾年,通過C語言的教學(xué)經(jīng)驗(yàn)累積,采用基于CDIO項(xiàng)目式的教學(xué)方法,C語言的教學(xué)效果有了很大的改善,學(xué)生的學(xué)習(xí)興趣也提高了,動手能力也增強(qiáng)了。C語言的教學(xué)改革還需要完善,以后在教學(xué)過程中慢慢摸索。
[1]丁輝.高職C語言程序設(shè)計(jì)教學(xué)改革研究[J].計(jì)算機(jī)教育,2014(3):101-104.
[2]王軍英,馬紅梅.C語言程序設(shè)計(jì)教學(xué)存在的問題與對策[J].教育理論與實(shí)踐,2015(3):63-64. [3]王振武.C語言程序設(shè)計(jì)教學(xué)[J].計(jì)算機(jī)教育,2015(7):51-54.
Research on Teaching Reform of C Language
Hong Xiujin, Tan Zhen
(Hainan College of Software Technology,Qionghai 571400, China)
C language is the first program design language course offered by many universities, and it is also the leading course of other computer related courses. Teachers can teach and train students' programming ideas through C language so that students could have a certain ability to programming and make use of C language program design methods in the actual study and work. In this paper, a series of teaching reforms based on project teaching methods are carried out in teaching process.
C language;project;teaching reform
洪秀金(1985— ),女,海南瓊海,本科,助教;研究方向:軟件技術(shù)。