孟慶新
摘要:C語言是目前各高校理工科學(xué)生普遍開設(shè)的一門公共基礎(chǔ)課程,是一門難教且難學(xué)的課程。該文對C語言教學(xué)現(xiàn)狀進(jìn)行了分析,以提高學(xué)生的編程能力為目的對教學(xué)手段、教學(xué)方法進(jìn)行了改革,為C語言教學(xué)改革提供了有益經(jīng)驗(yàn)。
關(guān)鍵詞:C語言;應(yīng)用型人才;教學(xué)改革
中圖分類號:G431 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)31-0127-01
C語言是目前各高校理工科學(xué)生普遍開設(shè)的一門公共基礎(chǔ)課程,是學(xué)生進(jìn)校后接觸的第一門編程課,目的是使學(xué)生掌握程序設(shè)計(jì)的基本思想、方法、概念,培養(yǎng)學(xué)生編程能力,進(jìn)而建立利用計(jì)算機(jī)求解問題的新思維。該課程的特點(diǎn)是概念抽象復(fù)雜,各種控制結(jié)構(gòu)靈活、語法規(guī)則多,運(yùn)行時容易出錯,是教師感到難教、學(xué)生感到難學(xué)的一門課程。同時,大多數(shù)非計(jì)算機(jī)專業(yè)的理工科學(xué)生都選擇C語言作為參加全國計(jì)算機(jī)語言類二級考試的考試語言。因此,C語言的教學(xué)方法提高了,受益人群比較大。本文研究如何在課堂教學(xué)中提高學(xué)生的編寫程序的能力,把學(xué)生培養(yǎng)成應(yīng)用型技術(shù)技能型人才。
1 C語言傳統(tǒng)的教學(xué)方法及存在的問題
C語言涉及的概念多而雜,數(shù)據(jù)類型及表達(dá)式豐富,語法結(jié)構(gòu)復(fù)雜。一直以來,C語言教學(xué)側(cè)重于C語言語法知識的傳授,按照數(shù)據(jù)類型、運(yùn)算符、表達(dá)式的順序來學(xué)習(xí)基本知識,按照順序、選擇、循環(huán)的順序來學(xué)習(xí)程序結(jié)構(gòu),按照數(shù)組、指針、結(jié)構(gòu)體的順序來學(xué)習(xí)構(gòu)造類型。這種線性教學(xué)模式可以循序漸進(jìn)地知識點(diǎn)傳授給學(xué)生,學(xué)生通過長期反復(fù)地學(xué)習(xí)基礎(chǔ)知識和經(jīng)典算法,可以讀懂和編寫簡單的程序,但沒有自主思維和實(shí)踐創(chuàng)新的意識。結(jié)果是學(xué)生陷入到這些語法知識記憶和理解中,無法形成真正的編程思想,導(dǎo)致學(xué)生反映C語言難懂、難學(xué)、學(xué)習(xí)興趣不濃,學(xué)習(xí)停留在表面,很多學(xué)生即使能看懂程序,自己編寫程序時也無從下手,甚至出現(xiàn)有學(xué)生死記硬背才能通過考試的情況。
2 幾點(diǎn)改進(jìn)
為了調(diào)動學(xué)生的學(xué)習(xí)興趣,使學(xué)生快速進(jìn)入編程的狀態(tài),引導(dǎo)學(xué)生突破傳統(tǒng)學(xué)科的思維方式,建立利用計(jì)算機(jī)解決問題的新的思維方式,對C語言的教學(xué)模式做了下面幾點(diǎn)改革。
1)課堂教學(xué)直接C語言編譯環(huán)境中進(jìn)行
在課堂教學(xué)中使用多媒體但不完全依賴于多媒體。如果完全使用多媒體播放課件,會分散學(xué)生的注意力,影響主要問題的理解,不利于發(fā)揮學(xué)生的想象力,影響師生之間的情感交流。所以在C語言程序設(shè)計(jì)課程教學(xué)過程中,對于案例分析或程序的編寫過程,發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢,進(jìn)行課堂討論、板書講解、結(jié)合提問,將問題層層剖析,達(dá)到師生互動。這時候的多媒體設(shè)備就是一個編寫、調(diào)試、運(yùn)行C語言程序的設(shè)備。在學(xué)生的主體編程思路明確后,對于一些細(xì)節(jié)上的知識點(diǎn),利用多媒體信息量大的特點(diǎn),將事先做好的一些知識點(diǎn)的對比呈現(xiàn)出來,增加課堂內(nèi)容的知識含量。
2)用兩個實(shí)際案例貫穿全部知識點(diǎn)
上課伊始用一個智力游戲程序說明C語言學(xué)完之后可以做什么,提高學(xué)生學(xué)習(xí)興趣。之后將這個游戲程序拆分開來,加入基礎(chǔ)知識部分的知識點(diǎn)。首先找出游戲程序中類似于printf(“My name is Bill.”)的語句,使學(xué)生認(rèn)識C語言程序,學(xué)會最簡單的C程序編寫、運(yùn)行和調(diào)試,讓學(xué)生快速進(jìn)入角色,激發(fā)學(xué)習(xí)積極性。其次找出游戲程序中使用的變量,擴(kuò)展變量的命名、定義、使用方法,運(yùn)算符和表達(dá)式。再次找出游戲程序中的分支語句,掌握選擇結(jié)構(gòu)程序設(shè)計(jì)方法。最后找出游戲程序中的循環(huán)語句,掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)方法。至此,C語言基礎(chǔ)知識學(xué)習(xí)結(jié)束,學(xué)生可以自行編出類似的游戲程序。后序的進(jìn)階部分知識穿插進(jìn)一個常見的管理系統(tǒng),將這個管理系統(tǒng)程序拆分出程序的模塊化管理、兩種常用的構(gòu)造類型數(shù)組和結(jié)構(gòu)體的使用及數(shù)據(jù)的存儲管理等知識點(diǎn),到課程結(jié)束時學(xué)生可以編出一個小型管理系統(tǒng)。這樣按照先基礎(chǔ)后進(jìn)階,先單一后全面的原則,把C語言的知識點(diǎn)融入實(shí)際案例中,以案例帶動知識點(diǎn)學(xué)習(xí),提高學(xué)生學(xué)習(xí)的積極性并享受編程帶來的成就感。
3)通過習(xí)題強(qiáng)化編程細(xì)節(jié)
經(jīng)過上面兩種方法,學(xué)生在編程時會形成一個整體的思路,不會在拿到題目時毫無頭緒,但由于C語言語法要求嚴(yán)格,容易出錯,學(xué)生寫的程序基本有這樣那樣的語法錯誤,不能直接正確運(yùn)行,會打擊學(xué)生學(xué)習(xí)的積極性。這樣就有必要增加課堂上的習(xí)題部分時間來強(qiáng)化語法知識的細(xì)節(jié),提高學(xué)生編程的正確率,同時為了彌補(bǔ)學(xué)時的不足,將典型習(xí)題做成微課供學(xué)生自學(xué)時使用。
3 結(jié)語
通過以上幾種教學(xué)改革的方法,讓學(xué)生在學(xué)習(xí)的過程中不再感到枯燥乏味,而是能欣賞C語言之美、理解C語言之妙。短期目標(biāo)是提高C語言期末考試及國家二級考試編程題的得分率;中期目標(biāo)是提高學(xué)生編程能力,能使用C語言作為工具解決后續(xù)的學(xué)科問題;終期目標(biāo)是把學(xué)生培養(yǎng)成應(yīng)用型技術(shù)技能型人才,服務(wù)地方經(jīng)濟(jì)社會發(fā)展。
參考文獻(xiàn):
[1] 李龍淼.《C語言程序設(shè)計(jì)》教學(xué)改革實(shí)踐與探索[J]. 海南廣播電視大學(xué)學(xué)報(bào),2012(2).
[2] 李竹林.問題和案例驅(qū)動的C語言課程教學(xué)改革探索[J].當(dāng)代教育實(shí)踐與教學(xué)研究,2015(7).
[3] 鐘美.培養(yǎng)應(yīng)用型人才為目標(biāo)的C語言教學(xué)改革[J].計(jì)算機(jī)教育,2013(16).