宋衛(wèi)華,華婷婷
(黃山學院,安徽 黃山 245041)
C語言課程教學研究與探討
宋衛(wèi)華,華婷婷
(黃山學院,安徽 黃山 245041)
針對目前高校非計算機專業(yè)學生C語言教學過程中存在的問題,研究和探討了案例與任務驅動在教學實踐中的應用,對提高C語言教學質量和培養(yǎng)學生程序設計能力具有重要的實際意義和參考價值。
C語言教學;案例驅動;任務驅動
針對高等院校非計算機專業(yè)學生的計算機教育,教育部提出了三層教學課程體系,即:“計算機文化基礎”、“計算機技術基礎”和“計算機應用基礎”。[1]目前,在 “計算機技術基礎”這一層次教學中,C語言作為首選成為我校為非計算機專業(yè)開設的一門基礎課程。通過該課程的學習,不僅要求學生掌握基本的編程技巧和結構化的程序設計等基礎知識,而且要具有獨立的編程操作能力,并要求學生通過C語言二級考試,方可拿到學分,這也是給教和學提出的硬性要求。然而在教學過程中,由于學生計算機水平良莠不齊,知識較為抽象,學生接受有一定難度等種種原因,教師在教學工作中遇到很多困難。為此研究和探索新的教學方法和教學手段,提高C語言教學效果尤為重要。
1.課堂教學中的問題。
由于學校對C語言理論課時安排的縮減,教師在規(guī)定的課時內必須完成教學任務及等級考試的壓力,傳統(tǒng)“黑板式”教學方式速度慢,無法按時按量完成教學任務,目前課堂教學大多采用多媒體授課方式,雖具有生動形象、一目了然、圖文并茂等優(yōu)點,然而也存在弊端:如傳遞知識量大,放映過程導致教師講課在不知不覺中速度加快,若學生課前或課后對該課程不做預習和復習,則預期的授課效果不佳,容易走入“滿堂灌”和“填鴨式”教學的誤區(qū),[2]一堂課下來,教師灌輸的知識與學生真正接受的知識成反比,很多學生反映: C語言語法繁瑣復雜,語句枯燥難記、界面單一、乏味,不能引起學生們的學習興趣,上課就像在聽“天書”。隨著課程進度的逐漸深入,容易造成惡性循環(huán),加上自主探究意識薄弱,缺乏主動性,長此以往喪失了學習下去的信心,產生厭倦心理。
2.實驗教學中的問題。
隨著近幾年高校的擴招,學生人數急劇上升,鑒于此,目前我校C語言教學不再是以原始的自然班為授課單位,主要由學生選課方式來組合成公選班級(班級人數為大班,一般在90人左右)。由于現(xiàn)代教育中心機房設備有限,在選課的過程中,又要兼顧教師、學生、機房三者的空閑時間,最終理論班級和上機實驗班級并不是同一個老師講授和指導,雖然教研室采用集中備課,統(tǒng)一安排上課進度,但仍然無法避免理論與實踐的偏差與脫節(jié)問題:即學生上課時的理論進度和實驗進度不一致,給上機實驗的進度安排帶來了一定的難度,不好統(tǒng)一管理和安排實驗。由于教學時一個班級學生人數較多,學生與輔導教師比例失調,一堂課下來,教師忙得應接不暇,在教學上卻仍舊無法實現(xiàn)一對一實時的輔導工作,導致實驗環(huán)節(jié)的教學質量大大下降。
1.案例與任務驅動教學為主,靈活采用多媒體輔助教學,充分調動學生興趣。
(1)激發(fā)學生的學習興趣,上好第一堂課。
良好的開端是成功的一半,教師尤其要上好第一堂課,力求第一堂課授課內容生動、富有吸引力,因為這直接關系到學生對該課程的興趣。比如,可引入一些用C語言編寫的趣味性的游戲實例,并且在講解的過程中,適時穿插對C語言的發(fā)展做出突出貢獻的一些科學家的生平趣事等,這樣在課程伊始便吸引學生關注,調動了學生的積極性,為后續(xù)知識的學習埋下良好的伏筆。
(2)采用案例與任務驅動教學,靈活運用多媒體輔助教學。
C語言教材一般先從理論知識入手,然后逐步引入程序的編程,這就導致在講解純理論知識的時候,比較抽象,學生一頭霧水,不知所云。因此,應嘗試從典型案例入手,對書本章節(jié)內容順序適當重組,[3]邊學習理論邊實踐,加深學生對知識的理解和領悟,這樣才能做到一箭雙雕,理論實踐雙管齊下,學生對知識的掌握才能扎實。由于課時縮減及現(xiàn)代多媒體教學的應運而生,教師在課堂教學中,應靈活運用多媒體輔助教學,尤其是在調試程序時,邊講解邊調試,對那些易犯錯誤的知識點,給予強調、啟發(fā),學生才能一目了然,印象深刻,達到事半功倍的效果,但另一方面也要注意講課步調和速度,防止多媒體教學變成“填鴨式”教學,過猶不及。案例教學法本身就是一種綜合性的教學方法,[4]其主要思想是案例引入的主題式和程序設計為主線的貫穿式,二者有機結合,相互補充。特別地對選擇、循環(huán)、數組、函數等有一定難度的章節(jié)的講授,尤其要采用案例教學法,引入實際中的一些例子,讓學生從計算機程序設計角度出發(fā)用自然語言進行思考,然后將自然語言轉化為我們的計算機語言即C語言進行問題的解決,這樣就可以把抽象的理論知識具體化,復雜問題簡單化,達到化整為零的目的,學生接受起來也比較容易,學習起來積極性也更高。另外,多媒體教學中還可在上課的過程中配以動畫,并邊調試程序邊講解,使學生跟著老師的思路進行同步思考。如循環(huán)程序設計的講解,教學中可利用如下案例:我們班有90人,假如畢業(yè)五年后大家回母校相聚,為了大家溝通和交流,要求每兩人之間握一次手,并且僅一次,多握就是非禮,少握就是不夠友好,假如你是節(jié)目策劃人,請給出握手方案,最后編程計算總共的握手次數。學生對此案例很感興趣,都踴躍發(fā)言,然后教師對編程過程加以引導。這種在實例程序中講解編程的思想,進行基于實例的教學策略,調動了學生對編程的興趣。課后要安排與上課知識點相關的作業(yè),利用任務驅動的方法,督促學生課后思考,溫故而知新,提高學生的悟性和解決實際問題的編程能力。
(3)因材施教,反饋教學。
由于學生計算機水平良莠不齊,所以C語言的教學必須注重因材施教。一方面在采用案例與任務驅動教學法進行C語言教學時,教材的選取也是關鍵,為此我們選用周鳴爭主編的《C語言程序設計教程》[5]作為主講教材,該教材以程序設計為主線,從應用出發(fā),通過案例和問題引入內容,并提供了多種形式的習題;另一方面,對于那些編程悟性較高,自學能力較強的學生,教師應給予方向性的指導,對于能力一般的同學,則引導他們把重點放在掌握基礎知識、常用算法、上機基本操作等內容上,為計算機等級考試做好準備工作。除此之外,課下還要與學生多溝通交流,利用反饋教學法及時掌握他們的學習情況,然后有針對性地進行知識講解、總結,不讓問題累積,造成惡性循環(huán)。
2.實踐與理論有效結合,切實培養(yǎng)學生的編程能力。
C語言作為一門實踐性較強的課程,課程中的算法、有關的程序的操作、調試、運行都需要在計算機上操作實時演示,實驗課至關重要,與課堂理論相輔相成,二者是一個有機的整體。[6]
(1)精心設計實驗案例,提高學生上機成就感。
由于我校C語言采用學生自主選課組班,理論課和實驗課不是同一教師,所以保證實驗教學質量的一個必要前提就是實驗課老師要和理論課老師及時溝通交流,以便統(tǒng)一安排進度。實驗課教學尤其要注意循序漸進,一般教材都以算法、程序為主線貫穿始終,內容枯燥不易理解,學生在學習的過程中理不清頭緒,個別學生反應太難。所以教師要精心設計實驗內容,可先把實驗中涉及到的主要知識點,先提前布置,讓學生做好預習工作,然后設計一些有趣味的小例子,可讓學生“照葫蘆畫瓢”先模仿,這樣,在調試的過程中,學生慢慢有了成就感,對知識點的掌握和儲備工作也就完成了。繼而在做有一定難度的實驗時,學生不會覺得無從下手,而是能融會貫通,舉一反三了,同時對以前的知識又能做到溫故而知新。另外,對于學習能力較強的同學,在完成實驗規(guī)定的內容后,還可增加一些有難度的選作題,以便拓展其思維空間,使其在學習的深度和廣度上進一步提升。
(2)提倡百家爭鳴,百花齊放,靈活編程啟發(fā)創(chuàng)新。
一個問題是可以用多種編程方法來解答的,所謂“條條大路通羅馬” 。老師不能只講授一個所謂的“標準答案”,這種教學方式,禁錮了學生的思維?!笆谥贼~不如授之以漁“,事實上,對同一個題目,教師應啟發(fā)引導學生思考、討論,不同的學生能用多種不同的方法編寫出來。如求1+2+3+…+n!,有些學生能夠用累加的方法,而有些學生就會用等差數列的求和公式。老師批閱作業(yè)后,應將所有正確答案公布出來,并對其進行編程思想和思路的詳細解析,讓學生相互學習,提高學生編程的悟性和編程技巧,從而學會從不同的角度入手看待問題、解決問題,有利于學生解決實際問題時編程思想的培養(yǎng),提高學生的創(chuàng)新能力,并督促他們從傳統(tǒng)的學習方法向創(chuàng)新學習方法的轉變。
(3)提倡互幫互學,選擇優(yōu)秀學生助手。
由于我校C語言實驗教學不再是以原始的自然班(一般60人)為授課單位,主要由學生選課方式來組合成公選班級(一般在90人左右),導致上機時學生問題很多,解答起來目不暇接,一堂課下來教師盡職盡責,忙忙碌碌,學生還是有問題沒解決,有時上機時間要延長半個小時左右,導致網上提交作業(yè)延遲。為此,教師應加強對學生的了解,發(fā)現(xiàn)并鼓勵幾名編程能力較強的學生作為助手,使之成為學生中的小老師,營造一種互幫互學、共同進步的學習氣氛,對那些基礎差些的學生起到激勵的作用,同時也可行之有效地提高上機的教學效果和效率。
(4)利用網絡平臺,進行交流和資源共享。
充分發(fā)揮校園網的優(yōu)勢,利用網絡輔助教學手段,強化教學內容,培養(yǎng)學生自主學習的能力。隨著網絡的逐步深入,我校現(xiàn)代教育中心建立了計算機公共教學平臺,以促進現(xiàn)代化教學的需要。運用該平臺,教師可以發(fā)布課件、教學(考核)大綱、實驗作業(yè)、模擬考試題庫及真題庫等軟資源供學生使用,同時學生都使用網絡提交作業(yè),并對作業(yè)的完成時間進行了課堂限制,以督促學生在規(guī)定的時間內完成任務,此外,教學論壇模塊提供了師生交流的平臺,網絡答疑促進了教和學的雙方進步,有利于二者之間信息的反饋,提高教學質量??傊?,校園網絡公共教學平臺的建立,拓展了教學的手段和空間,豐富了教學內容,可為學生提供更為廣泛的溝通渠道與環(huán)境。
本文分析了目前高校非計算機專業(yè)學生C語言教學過程中存在的問題,并研究和探討了在教學實踐中如何提高 C語言教學質量,達到 C語言教學在程序設計能力培養(yǎng)中的目標。然而教學是一門藝術,教學方法探討永無止境。計算機技術發(fā)展迅速,C語言教學方法在教學實踐中更需要不斷的改進和創(chuàng)新。任何教學方法只有在一定的條件下才會顯示出優(yōu)勢及其使用的范圍,所以我們也要緊跟時代的發(fā)展,對教學進行實時的知識更新,并不斷地進行深入研究和探討,才能適應目前應用性人才培養(yǎng)的需要。
[1]中國高等院校計算機基礎教育改革課題研究組.中國高等院校計算機基礎教育課程體系 [M].北京:清華大學出版社,2004.
[2]楊其宇,張霞.“C 語言程序設計”課程教學探討[J].廣東工業(yè)大學學報,2006(6).
[3]何元惠,高占國,楊靜.C程序設計語言教學方法探討[J].中國科技信息,2007(3).
[4]胡楓.lt;C語言程序設計gt;的案例式教學的設計[J].青海師范大學學報,2010(4):48-51.
[5]周鳴爭.C語言程序設計教程[M].成都:電子科技大學出版社,2005.
[6]惠燕,潘煜.“C語言”實踐課程的設計與研究[J].科技信息,2011(6).
ClassNo.:G642.0DocumentMark:A
(責任編輯:鄭英玲)
DiscussionofCLanguageCourseTeaching
Song Weihua,Hua Tingting
With regard to the problems of C language course teaching for non-computer majoring students, the paper studied the application of case-driven and the task-driven teaching in details through teaching practice. And it is of a practical significance to improve the teaching quality of C language course and to cultivate the program design ability of students.
C Language teaching;case-driven;task-driven
宋衛(wèi)華,碩士,助教,黃山學院。研究方向:數據庫、軟件工程。
華婷婷,碩士,助教,黃山學院。研究方向:模式識別。
黃山學院科研項目(???008xkjq014)
1672-6758(2012)07-0022-2
G642.0
A