王輝+衣麗霞
摘 要: 通過一份問卷調(diào)查,發(fā)現(xiàn)C語言課程設(shè)計(jì)這門課程存在諸多問題。借鑒學(xué)生提供的建議,分別從課程設(shè)計(jì)的時(shí)間安排、課堂教學(xué)及課程設(shè)計(jì)的命題方面進(jìn)行了改革,相信這些改革措施一定會取得很好的教學(xué)效果。此外還對學(xué)生反映比較多的問題,比如“編譯錯(cuò)誤不好發(fā)現(xiàn)、也不好修改”提供了一個(gè)很好的解決方案。所有這些教學(xué)改革措施的最終落腳點(diǎn)都是要為國家培養(yǎng)出更多、更優(yōu)秀的建設(shè)人才。
關(guān)鍵詞: C語言 課程設(shè)計(jì) 問卷調(diào)查
1.引言
C 語言作為一門程序設(shè)計(jì)語言的入門課程,很好體現(xiàn)了程序設(shè)計(jì)的靈魂,是進(jìn)一步學(xué)習(xí)其他語言或者計(jì)算機(jī)技術(shù)的理論基礎(chǔ)?!罢n程設(shè)計(jì)”在中國絕大多數(shù)高校已經(jīng)開設(shè)很多年,那么什么是“課程設(shè)計(jì)”呢?簡單地說,“課程設(shè)計(jì)”是一門這樣的課程:學(xué)生利用所學(xué)的書本知識來解決現(xiàn)實(shí)生活中的各種實(shí)際問題。本文從一份簡單的關(guān)于C語言課程設(shè)計(jì)的問卷調(diào)查說起,系統(tǒng)地總結(jié)了C語言課程設(shè)計(jì)存在的優(yōu)點(diǎn)和不足,并針對這些不足提出了一些可行的改進(jìn)措施。希望這些措施能夠落到實(shí)處,能夠?qū)ο嚓P(guān)的課程起到借鑒作用,以便為中國高校培養(yǎng)更多更優(yōu)秀的人才發(fā)揮一點(diǎn)作用。
在計(jì)算機(jī)發(fā)展的歷史上,還沒有哪一種程序設(shè)計(jì)語言能像C語言這樣應(yīng)用廣泛。C語言不是一種“很高級”的語言,也不“龐大”,并且不專用于某一個(gè)特定的應(yīng)用領(lǐng)域[1]。由前面的敘述可知,學(xué)習(xí)C語言對大學(xué)理科生,尤其對計(jì)算機(jī)學(xué)院的學(xué)生而言非常重要。筆者在一次C語言課程設(shè)計(jì)課上進(jìn)行了一次問卷調(diào)查,問卷調(diào)查的內(nèi)容參見圖1。盡管這個(gè)問卷調(diào)查非常簡單,可是通過它能發(fā)現(xiàn)C語言課程設(shè)計(jì)存在的問題。筆者對該問卷調(diào)查的結(jié)果進(jìn)行了匯總,首先看學(xué)生是怎樣評價(jià)C語言課程設(shè)計(jì)優(yōu)點(diǎn)的,如圖2所示。其實(shí)學(xué)生們提到的這些優(yōu)點(diǎn)教師早已知道,本文重點(diǎn)關(guān)注的是學(xué)生們提到的不足和建議。
那么C語言課程設(shè)計(jì)在我校開設(shè)的過程中存在哪些缺點(diǎn)和不足呢?有關(guān)的詳細(xì)信息如圖3所示。筆者將學(xué)生們提出的缺點(diǎn)與不足分為五個(gè)類別,這五個(gè)類別分別是:(1)關(guān)于時(shí)間安排和課時(shí)量的問題;(2)關(guān)于課堂教學(xué)的問題;(3)編譯與調(diào)試方面的問題;(4)關(guān)于教師輔導(dǎo)方面的問題;(5)關(guān)于題目方面的問題。筆者將在第3部分對這些存在的問題給出可行的解決方案。最后看看學(xué)生們給出的建議都是什么?詳細(xì)信息參見圖4,筆者提出的課程設(shè)計(jì)改革方案也參考了學(xué)生們提出的建議。
2.相關(guān)工作
曾輝等人[2]指出了當(dāng)前C語言程序設(shè)計(jì)課程教學(xué)中存在的問題,分析了問題產(chǎn)生的原因,論述了教學(xué)改革的必要性,探討了教學(xué)中如何提高學(xué)生積極性、教學(xué)方法和手段等幾個(gè)方面的教學(xué)改革問題。張敏霞[3]根據(jù)當(dāng)前大學(xué)生的具體情況,針對如何有效地進(jìn)行程序設(shè)計(jì)語言課程的教學(xué),提高學(xué)生的程序設(shè)計(jì)能力和計(jì)算機(jī)素質(zhì)提出了幾點(diǎn)具體的措施。殷秀云[4]指出傳統(tǒng)的C語言程序設(shè)計(jì)課程的授課方式和考核方式存在一定的局限性,進(jìn)一步加大了學(xué)生掌握C語言編程方法的難度。因此,如何改變這種現(xiàn)狀,以適應(yīng)不斷發(fā)展的社會的需要,已經(jīng)是一個(gè)亟待解決的問題。馬杰等人[5]針對C語言教學(xué)中存在的若干問題,提出了從任務(wù)驅(qū)動(dòng)、培養(yǎng)學(xué)生興趣、改革教學(xué)內(nèi)容和方法、加強(qiáng)實(shí)驗(yàn)教學(xué)環(huán)節(jié)及改革考核機(jī)制五個(gè)方面進(jìn)行教學(xué)改革,以提高學(xué)生的編程能力,變被動(dòng)學(xué)習(xí)為主動(dòng)學(xué)習(xí),培養(yǎng)自學(xué)的能力。謝競博[6]從教學(xué)目的、教材選擇、教學(xué)方法、實(shí)踐教學(xué)及考核方式等方面,闡述了它們與教學(xué)效果的關(guān)系,詳細(xì)分析了目前教學(xué)中存在的一些普遍問題的成因,并從幾個(gè)方面分別提出了一些可行的改革建議。陳婷[7]論述了在應(yīng)用型本科C語言程序設(shè)計(jì)教學(xué)實(shí)踐中,根據(jù)應(yīng)用型本科教育培養(yǎng)要求,對課程合理定位,采用“階梯式”、“案例式”課堂教學(xué)方法,以“項(xiàng)目驅(qū)動(dòng)式”實(shí)踐教學(xué)為核心,同時(shí)搭建多種自主學(xué)習(xí)平臺,采用更科學(xué)和完善的考核方式,較好地兼顧了學(xué)生的不同需求,激發(fā)了學(xué)生的學(xué)習(xí)積極性。
劉三滿[8]結(jié)合學(xué)生的學(xué)習(xí)心理和認(rèn)知規(guī)律,分析了C語言教學(xué)問題的主客觀原因,提出了“先過程,后對象”的教學(xué)理念,從教材建設(shè)、教學(xué)內(nèi)容安排上闡述了教學(xué)內(nèi)容的具體組織實(shí)施過程,從教學(xué)思路、教學(xué)觀念、教學(xué)手段幾方面探討了教學(xué)方法的改革。謝中科[9]闡述了C語言程序設(shè)計(jì)課程的教學(xué)改革與實(shí)踐,提出了通過激發(fā)大學(xué)生的學(xué)習(xí)興趣、創(chuàng)新熱情、教學(xué)互動(dòng)等手段來建立大學(xué)生的編程思想,培養(yǎng)大學(xué)生的程序設(shè)計(jì)能力和創(chuàng)新意識。通過課程設(shè)計(jì),培養(yǎng)大學(xué)生運(yùn)用C語言解決實(shí)際問題的能力和創(chuàng)新能力。劉曉鋒等人[10]從教師、學(xué)生和教學(xué)內(nèi)容等方面介紹了在《C語言程序設(shè)計(jì)》課程建設(shè)中,以程序設(shè)計(jì)和實(shí)驗(yàn)為主,更新教學(xué)內(nèi)容,改革傳統(tǒng)的授課方式的探索,闡述了注重能力培養(yǎng),提高學(xué)生的學(xué)習(xí)興趣,充分調(diào)動(dòng)學(xué)生的主動(dòng)性、創(chuàng)造性的重要意義。
3.改革措施
前面部分,學(xué)生們針對C語言課程設(shè)計(jì)指出了一些缺點(diǎn),同時(shí)提出了一些好的建議,在本部分將有針對性地提出一些改進(jìn)的措施:(1)關(guān)于課程設(shè)計(jì)時(shí)間安排的改進(jìn):將C語言課程設(shè)計(jì)的開課時(shí)間定在學(xué)生學(xué)完C語言之后的下一個(gè)學(xué)期初。(2)關(guān)于課堂教學(xué)方面的改進(jìn):任課教師申請一個(gè)QQ或者微信群,在學(xué)校正式放假前,任課教師通過該群把課程設(shè)計(jì)的題目發(fā)送到每個(gè)學(xué)生的手中。下學(xué)期開學(xué)后的前幾周進(jìn)行課程設(shè)計(jì)的集體輔導(dǎo),然后進(jìn)行答辯驗(yàn)收。任課教師可以將沒講完的課程內(nèi)容及對課程設(shè)計(jì)題目的大體梳理都錄制成視頻,然后將該視頻文件上傳到群文件里供學(xué)生們分享。群是實(shí)現(xiàn)師生互動(dòng)的一個(gè)最重要的媒介,借助它可以突破時(shí)間和空間的限制。任課教師在放假前將題目發(fā)送到每個(gè)學(xué)生手里的一個(gè)最大好處是:學(xué)生們可以利用假期里的大量時(shí)間,充分地思考和準(zhǔn)備這些課程設(shè)計(jì)題目。(3)關(guān)于題目方面的改進(jìn):允許學(xué)生自由命題,但是需要任課教師最終把關(guān),以決定該命題是否適合作為課程設(shè)計(jì)的題目。此外,任課教師也可以考慮讓企業(yè)幫助出題。
前面學(xué)生們提出“編譯錯(cuò)誤不好發(fā)現(xiàn)、也不好修改”的問題,筆者認(rèn)為可以通過下面的方法進(jìn)行解決:第一,首先告訴學(xué)生這是C語言的特點(diǎn)之一:語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。一般的高級語言語法檢查比較嚴(yán),能檢查出幾乎所有的語法錯(cuò)誤,而C語言允許程序編寫者有較大的自由度,因此放寬了語法檢查?!跋拗啤迸c“靈活”是一對矛盾,限制嚴(yán)格,就失去靈活性;而強(qiáng)調(diào)靈活,就必然放松限制。第二,教會學(xué)生進(jìn)行單步(Step Through)調(diào)試、設(shè)置斷點(diǎn)(Breakpoint)等調(diào)試程序的技巧,必要時(shí)還可以通過額外添加一些輸出語句輔助進(jìn)行程序調(diào)試。第三,任課教師將常見的編譯出錯(cuò)信息進(jìn)行匯總,然后上傳到群文件里供學(xué)生分享。其實(shí)對編譯出錯(cuò)信息進(jìn)行總結(jié),不如直接告訴學(xué)生記住C語言的一些專業(yè)術(shù)語,表1中列出了其中的一些,相信這對學(xué)生調(diào)試程序?qū)鸬胶艽蟮膸椭饔?。另外,還要告訴學(xué)生從一開始就要形成良好的編程風(fēng)格,比如適當(dāng)?shù)靥砑幼⑨專–omment),程序要有縮進(jìn)(Indent),給變量、函數(shù)、數(shù)據(jù)結(jié)構(gòu)等起名字時(shí)要做到見名知意等。
4.結(jié)語
從一份C語言課程設(shè)計(jì)的問卷調(diào)查入手,筆者根據(jù)學(xué)生指出的缺點(diǎn)和提出的建議對該課程進(jìn)行了嘗試性的改革,分別從課程設(shè)計(jì)的時(shí)間安排方面、課堂教學(xué)方面及課程設(shè)計(jì)的命題方面進(jìn)行了改革,筆者相信這些改革措施一定會取得很好的教學(xué)效果。另外,筆者還對學(xué)生反映比較多的問題“編譯錯(cuò)誤不好發(fā)現(xiàn)、也不好修改”提供了很好的解決方案。將按照文中提出的一些觀點(diǎn)編寫《C語言課程設(shè)計(jì)》一書,該書將嚴(yán)格貫徹執(zhí)行講練結(jié)合的原則,對課程設(shè)計(jì)過程中可能涉及各個(gè)知識點(diǎn)通過舉例子的方式進(jìn)行講解,例子的選擇標(biāo)準(zhǔn)是不僅能說明問題而且要求最簡單。
參考文獻(xiàn):
[1]Brian W.Kernighan,Dennis M.Ritchie.The C Programming Language.北京:機(jī)械工業(yè)出版社,2006.8.
[2]曾輝,王倩,韓芳,趙德群.C語言程序設(shè)計(jì)教學(xué)改革初探.福建電腦,2015,31(09):62-63.
[3]張敏霞.程序設(shè)計(jì)語言課程教學(xué)方法改革的探索與實(shí)踐.中國高教研究,2004(02):90-90.
[4]殷秀云.C語言程序設(shè)計(jì)教學(xué)改革探討.《商》,2014(38):213-213.
[5]馬杰,楊磊.C語言程序設(shè)計(jì)改革探索.軟件工程師,2013(12):27-28.
[6]謝競博.C語言程序設(shè)計(jì)教學(xué)中的問題及改革建議.重慶郵電大學(xué)學(xué)報(bào):社會科學(xué)版,2008,20(2):137-140.
[7]陳婷.C語言程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)改革探究.實(shí)驗(yàn)技術(shù)與管理,2010,27(10):182-184.
[8]劉三滿.《C語言程序設(shè)計(jì)》課程教學(xué)改革的研究與實(shí)踐.計(jì)算機(jī)教育,2008(16):23-25.
[9]謝中科.《C語言程序設(shè)計(jì)》的教學(xué)改革與實(shí)踐.《理工高教研究》,2004,23(3):96-97.
[10]劉曉鋒,吳亞娟.計(jì)算機(jī)專業(yè)《C語言程序設(shè)計(jì)》教學(xué)與教學(xué)改革.西華師范大學(xué)學(xué)報(bào):自然科學(xué)版,2003,24(1):34-36.