摘 要 面對(duì)C語(yǔ)言對(duì)計(jì)算機(jī)應(yīng)用領(lǐng)域的日益增大,在計(jì)算機(jī)C語(yǔ)言教學(xué)方面我們要進(jìn)行怎樣的教學(xué)實(shí)踐和改革,如何教使學(xué)生更能夠接受,如何改才是比較適合新一代大學(xué)生的;對(duì)于不同的授課對(duì)象,我們是不是要采取不同的講課方法。文章針對(duì)C語(yǔ)言在各專(zhuān)業(yè)學(xué)生中的教學(xué)略施薄見(jiàn),淺談了高校教師應(yīng)如何教C語(yǔ)言,應(yīng)對(duì)不同專(zhuān)業(yè)的學(xué)生應(yīng)如何進(jìn)行教學(xué)改革和實(shí)踐。
關(guān)鍵詞 C語(yǔ)言 程序設(shè)計(jì) 教學(xué)實(shí)踐 改革 教學(xué)方法
中圖分類(lèi)號(hào):G420 文獻(xiàn)標(biāo)識(shí)碼:A
1 C語(yǔ)言程序設(shè)計(jì)在當(dāng)今教學(xué)中的現(xiàn)狀
當(dāng)前高校在計(jì)算機(jī)程序設(shè)計(jì)C語(yǔ)言教學(xué)方面存在如下的問(wèn)題:(1)非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生普遍感覺(jué)難學(xué),特別是數(shù)學(xué)底子較為差的學(xué)生沒(méi)有學(xué)習(xí)興趣,不愿學(xué)習(xí);(2)教師普遍反映難教,課堂上認(rèn)真學(xué)習(xí)的人較少,計(jì)算機(jī)二級(jí)考試當(dāng)年通過(guò)率很低;(3)隨著可視化編程工具的增多,部分學(xué)校的C語(yǔ)言程序設(shè)計(jì)教學(xué)課時(shí)都已經(jīng)大幅度地減少理論內(nèi)容,教師在授課時(shí)若要完成相應(yīng)的教學(xué)計(jì)劃,就不能保證教學(xué)進(jìn)度和質(zhì)量,因而教師對(duì)知識(shí)的延伸講解很少;(4)C語(yǔ)言程序設(shè)計(jì)集抽象性、邏輯性、實(shí)踐性于一身,在教學(xué)過(guò)程中解決好這三項(xiàng)就能提高學(xué)生的學(xué)習(xí)興趣,減輕學(xué)習(xí)壓力。
2 如何開(kāi)展C程序語(yǔ)言教學(xué)
2.1 在教學(xué)中培養(yǎng)學(xué)生分析與解決問(wèn)題的能力
在案例的選擇上,我們通常采用生活中的具有趣味性、實(shí)用性的諸如學(xué)生成績(jī)管理系統(tǒng)、圖書(shū)管理系統(tǒng)等相關(guān)模塊進(jìn)行教學(xué)。用例通俗易懂,既能吸引學(xué)生,又易形成互動(dòng),活躍課堂,提高課堂效率的案例始終貫穿整個(gè)教學(xué)過(guò)程,注重從直觀到抽象,從特殊到一般漸進(jìn)地學(xué)習(xí),從而減輕了學(xué)習(xí)負(fù)擔(dān),提高了學(xué)習(xí)熱情。通過(guò)對(duì)案例實(shí)現(xiàn)過(guò)程的分析,引導(dǎo)、啟發(fā)學(xué)生逐步理解與掌握分析解決問(wèn)題的方法與步驟,使整個(gè)學(xué)習(xí)過(guò)程下來(lái),既能輕松掌握語(yǔ)法知識(shí),又能在分析與解決問(wèn)題上有所收獲。最終通過(guò)各案例相關(guān)模塊實(shí)現(xiàn)融會(huì)貫通,加深對(duì)程序設(shè)計(jì)的結(jié)構(gòu)化、模塊化設(shè)計(jì)思想體會(huì),真正達(dá)到學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的目的。
2.2 培養(yǎng)學(xué)生的整體思維,建立學(xué)生的編程意識(shí)
筆者在幾年的教學(xué)實(shí)踐中總結(jié)出,很多學(xué)生學(xué)這門(mén)課始終都沒(méi)有較強(qiáng)的編程意識(shí),通常到課程結(jié)束,怎么編寫(xiě)程序,他們都無(wú)從下手,沒(méi)有自信。如果根據(jù)一般課程講解,按照課程內(nèi)容中的數(shù)據(jù)類(lèi)型、程序控制語(yǔ)句、指針、數(shù)組、函數(shù)及機(jī)構(gòu)體等這樣一個(gè)順序?qū)?nèi)容進(jìn)行講課,通篇講解完畢后,學(xué)生感覺(jué)到內(nèi)容不能形成一個(gè)整體,而只是一堆零散的知識(shí)點(diǎn),因此我們要改變傳統(tǒng)的講課模式,要讓學(xué)生建立編程意識(shí),從一個(gè)完整的程序出發(fā),在程序中講解語(yǔ)法和語(yǔ)句的作用,培養(yǎng)學(xué)生對(duì)個(gè)別知識(shí)點(diǎn)的掌握和整體程序結(jié)合起來(lái),從整體出發(fā)講解再涉及個(gè)體。
2.3 過(guò)程教學(xué)中巧妙講解課本知識(shí)點(diǎn)在實(shí)例的應(yīng)用
在C語(yǔ)言課本中都會(huì)有很多對(duì)應(yīng)知識(shí)點(diǎn)的例子,在教學(xué)中如何講解課本中的實(shí)例和實(shí)例中相應(yīng)知識(shí)點(diǎn)的作用、關(guān)系至關(guān)重要,有效的講解和演示實(shí)例對(duì)學(xué)生鞏固知識(shí)點(diǎn)非常重要,如果就書(shū)論書(shū)的照本宣讀,學(xué)生的邏輯思維得不到很好的建立和鍛煉。因此,在一節(jié)的知識(shí)點(diǎn)講解完后,應(yīng)對(duì)實(shí)例,我們要很好的應(yīng)用C語(yǔ)言上機(jī)練習(xí)的平臺(tái),目前應(yīng)用比較廣泛的是turbo c3.0或者M(jìn)icrosoft Visual C++ 6.0,利用多媒體平臺(tái),在理論教學(xué)中對(duì)實(shí)例進(jìn)行現(xiàn)場(chǎng)過(guò)程演示和編程,演示過(guò)程中激發(fā)學(xué)生的編程思維,同時(shí)加深學(xué)生對(duì)知識(shí)點(diǎn)的掌握。
2.4 注重理論課與實(shí)踐課相互融合
C程序語(yǔ)言是一門(mén)理論與實(shí)踐相結(jié)合的課,只有理論教學(xué),不能解決實(shí)際問(wèn)題,必須上機(jī)實(shí)踐。高校本科教學(xué)中一般理論課和實(shí)踐課課時(shí)比例為3:2,在講理論課后相應(yīng)的給學(xué)生布置實(shí)踐學(xué)習(xí)任務(wù)很重要,學(xué)生在實(shí)踐練習(xí)和思考中得到編程的快樂(lè),同時(shí)在運(yùn)行結(jié)果正確的時(shí)候會(huì)有一種成就感,能更好的對(duì)知識(shí)點(diǎn)理解和應(yīng)用,在教學(xué)中要先講課后實(shí)踐,而且實(shí)踐課要緊隨其后,如果間隔時(shí)間太長(zhǎng)學(xué)生早已把課上聽(tīng)到的內(nèi)容忘記,所以要及時(shí)上機(jī)實(shí)踐。在上機(jī)練習(xí)中必要的指導(dǎo)和演示也很重要,在學(xué)生實(shí)踐練習(xí)時(shí)穿插對(duì)本節(jié)理論知識(shí)點(diǎn)的總結(jié)和指導(dǎo),做到在過(guò)程教學(xué)中完成教學(xué)結(jié)果的考察。多實(shí)踐是學(xué)習(xí)掌握C語(yǔ)言的必經(jīng)之路,理論-實(shí)踐-理論。最后強(qiáng)調(diào)一點(diǎn)課程考核采用機(jī)試與筆試相結(jié)合的方法,只有這樣才能對(duì)學(xué)生C語(yǔ)言的掌握程度作全面的反饋。
3 C語(yǔ)言教學(xué)的改革
在C語(yǔ)言課程教學(xué)過(guò)程中,筆者認(rèn)為一方面要能夠把握好授課內(nèi)容,同時(shí)也要對(duì)傳統(tǒng)教學(xué)方法進(jìn)行改革,增加學(xué)生的實(shí)踐能力,以此提高教學(xué)質(zhì)量。以下是筆者在幾年的C語(yǔ)言課程教學(xué)中采用一些新的方法。
3.1 強(qiáng)調(diào)知識(shí)總結(jié)的教學(xué)方法
以崔永君編寫(xiě)的《C語(yǔ)言程序設(shè)計(jì)》西安電子科技大學(xué)出版社為例,內(nèi)容中有大量的定義、概念、語(yǔ)法和語(yǔ)句,它們像數(shù)學(xué)的知識(shí)點(diǎn)一樣使用靈活、記憶難度大,特別是使用起來(lái)容易出錯(cuò),很難吃透。如果能夠引導(dǎo)學(xué)生在學(xué)習(xí)過(guò)程中時(shí)時(shí)進(jìn)行歸納總結(jié),提高學(xué)生的學(xué)習(xí)效率。在C語(yǔ)言學(xué)習(xí)中發(fā)現(xiàn),有一些定義、概念、語(yǔ)法、函數(shù)等有許多相似的地方,例如:puts( )與gets()函數(shù)、printf和scanf函數(shù)等、基本數(shù)據(jù)類(lèi)型的學(xué)習(xí)等,法規(guī)則是一樣的,對(duì)它們進(jìn)行歸納總結(jié)之后,學(xué)生只要記住其中一個(gè)函數(shù)或知識(shí)點(diǎn),另一個(gè)自然就會(huì)使用了。
3.2 應(yīng)用實(shí)例練習(xí)的實(shí)踐教學(xué)法
強(qiáng)化實(shí)踐,這門(mén)課主張程序設(shè)計(jì)是高強(qiáng)度的腦力勞動(dòng),不是聽(tīng)會(huì)的,也不是看會(huì)的,而是練會(huì)的。引導(dǎo)學(xué)生在解題編程的實(shí)踐中探索其中帶規(guī)律性的認(rèn)識(shí)。將感性認(rèn)識(shí)升華到理性高度。
教學(xué)重點(diǎn)要放在實(shí)例演示講解和過(guò)程在解題的思路上,通過(guò)大量的實(shí)際案例和書(shū)本提供的實(shí)例讓學(xué)生學(xué)會(huì)怎樣設(shè)計(jì)一個(gè)基本的算法,利用語(yǔ)句和規(guī)則構(gòu)造一個(gè)簡(jiǎn)單程序。筆者在教學(xué)過(guò)程中的初始階段,讓學(xué)生理清程序的需求,進(jìn)而編寫(xiě)程序設(shè)計(jì)流程圖,接著根據(jù)流程圖編寫(xiě)簡(jiǎn)單的程序,舉一反三,通過(guò)程序引導(dǎo)學(xué)生逐步深入實(shí)際應(yīng)用能力的培養(yǎng)。在實(shí)驗(yàn)題目設(shè)置上,根據(jù)課時(shí)安排以及要掌握的基本知識(shí),根據(jù)各個(gè)層次的學(xué)生需要,設(shè)置相應(yīng)不同難度實(shí)踐課題。在本課程結(jié)束后,安排一次綜合的社會(huì)應(yīng)用的虛擬項(xiàng)目實(shí)例的制作,培養(yǎng)學(xué)生綜合應(yīng)用能力和團(tuán)隊(duì)協(xié)作能力。
3.3 突出虛擬案例解析的教學(xué)方法
在教學(xué)中給學(xué)生提供一些C語(yǔ)言設(shè)計(jì)的項(xiàng)目案例,增加學(xué)生的學(xué)習(xí)興趣和知識(shí)點(diǎn)的實(shí)際應(yīng)用能力,筆者引用遞歸算法的經(jīng)典例子:漢諾塔算法, 一個(gè)柱子1上n個(gè)盤(pán)子套著,大的在下,借用柱子2,全部轉(zhuǎn)移到柱子3上,然后把此思想引用到實(shí)際工業(yè)生產(chǎn)中的超市打折的程序設(shè)計(jì)的實(shí)現(xiàn),對(duì)程序的過(guò)程演示,使學(xué)生系統(tǒng)地了解C語(yǔ)言的功能和拓展他們的知識(shí)面。