肖敏雷 肖敏連
摘要:C程序設(shè)計是我校計算機專業(yè)開設(shè)的第一門程序設(shè)計課程。它具有效率高、功能強大、可移植性強和簡潔靈活等特點[1]。該文根據(jù)C程序設(shè)計這門課程的特點出發(fā),結(jié)合自身多年C程序設(shè)計教學(xué)經(jīng)驗,從教學(xué)內(nèi)容、教學(xué)方法、實踐教學(xué)和考核方式四個方面對如何提高 C程序設(shè)計課程教學(xué)效果進(jìn)行了探討與實踐。
關(guān)鍵詞:C程序設(shè)計;教學(xué)方法;實踐教學(xué)
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)27-6438-02
Abstract: The C program design is the first programming course in our college computer majors. It has the advantages of high efficiency, powerful, strong portability and simple and flexible characteristics of [1]. According to the features of C program design this course starting, combined with their own teaching experience for many years C program design, from the teaching content, teaching method, practice teaching and assessment methods in four aspects on how to improve the teaching effect of C program design course of study and practice.
Key words: C program design; teaching method; teaching practice
1 目前教學(xué)中存在的問題
根據(jù)多年的教學(xué)實踐和調(diào)查研究,在C程序設(shè)計課程的教學(xué)過程中經(jīng)常會出現(xiàn)以下幾個問題。
1) 課程教學(xué)內(nèi)容中涉及的知識點多、語法規(guī)則多,使用靈活,容易出錯,讓學(xué)生不同程度產(chǎn)生畏難心理。
2) 對課程重要性認(rèn)識不夠,前期不抓緊,導(dǎo)致在后面的學(xué)習(xí)過程中跟不上進(jìn)度。
3) 只注重理論學(xué)習(xí),忽視上機實踐。學(xué)生掌握大量語法細(xì)節(jié),但不能通過編程解決實際問題,一坐到計算機前面就手忙腳亂,調(diào)試程序出現(xiàn)問題不知道如何查找錯誤、排除錯誤。
4) 教學(xué)課時不斷壓縮,教師不得不加快教學(xué)進(jìn)度、減少教學(xué)內(nèi)容,指針、文件部分一筆帶過甚至取消。
2 教學(xué)內(nèi)容的改革
C 程序設(shè)計基礎(chǔ)是一門理論和實踐緊密結(jié)合的課程,而實踐必須要在理論的指導(dǎo)下才能更好的進(jìn)行,所以對于理論課教學(xué)內(nèi)容的制定和調(diào)整是提高教學(xué)質(zhì)量的前提。在傳統(tǒng)的模式上,過分注重語句、語法,通常是以C語言自身的體系為脈絡(luò)展開的,沒有把邏輯與編程解題思路放在主體地位上,這樣培養(yǎng)出來的學(xué)生死記硬背,考試成績很高,遇到本專業(yè)領(lǐng)域的實際問題時,不知道通過編程來解決,學(xué)以致用的能力沒有很好地培養(yǎng)。我校C程序設(shè)計課程教學(xué)計劃64學(xué)時,其中理論32學(xué)時,上機實踐32學(xué)時。在課堂教學(xué)過程中,對教學(xué)內(nèi)容重新進(jìn)行了歸納,重點體現(xiàn)在最基本、最常用概念和知識的講解上,由淺入深,循序漸進(jìn)地讓學(xué)生掌握要點,以程序設(shè)計為主線,把概念和數(shù)據(jù)類型揉合在程序設(shè)計的講解過程[2],激發(fā)其學(xué)習(xí)興趣,教學(xué)的難點是突出函數(shù)、指針、遞歸等概念。指針是C語言程序設(shè)計的精華,講授指針概念時可用學(xué)校附近某實體店的名字和實體店地址作比喻,讓學(xué)生正確理解概念,才能為指針的應(yīng)用打下基礎(chǔ)。
3 教學(xué)方法的改革
3.1 確立以案例法為主的教學(xué)方法
案例教學(xué)是通過教師提出學(xué)生感興趣且有代表性的問題,通過分析、解決問題而展開知識點的一種教學(xué)方法。首先把學(xué)生比較熟悉的問題提出,讓學(xué)生把自己納入案例場景,引起學(xué)生的思考和興趣,再通過對學(xué)生思路的引導(dǎo),自然引出要講授的知識點。由于案例教學(xué)內(nèi)容不再是單純的書本知識,而是要求教師使用具有典型性和代表性的問題來進(jìn)行講解,教學(xué)內(nèi)容也不再是零散的、單一的沒有聯(lián)系的知識點。在課堂教學(xué)中,先提出要解決的問題,然后對問題進(jìn)行分析、算法設(shè)計,編碼測試各階段,逐步引導(dǎo),使學(xué)生了解程序開發(fā)的基本流程,注重激發(fā)學(xué)生的編程興趣,強調(diào)學(xué)以致用,重視的是求出答案的過程,通過案例的思考,去啟發(fā)學(xué)生的創(chuàng)造潛能。讓學(xué)生在具體的案例中強化語法知識,體會編程的樂趣。案例通常有多種不同的解法,鼓勵學(xué)生在程序設(shè)計的過程中提出不同的解決方法,最后對所有解決方案進(jìn)行匯總,并對比分析哪種算法是最佳算法,鼓勵學(xué)生充分發(fā)揮自己的聰明才智,去發(fā)現(xiàn)新思路、新算法。例如,求素數(shù)的例子,可以用函數(shù)調(diào)用,也可以不使用函數(shù)調(diào)用,直接在主程序中得到結(jié)果,方法略有區(qū)別,但是使用函數(shù)調(diào)用更加方便。
3.2 確立啟發(fā)式教學(xué)方式
引領(lǐng)學(xué)生從不同的角度去分析看待問題,培養(yǎng)學(xué)生的思考問題、解決問題的綜合素質(zhì),強化學(xué)生的動手操作能力,培養(yǎng)學(xué)生的創(chuàng)新思維和發(fā)散思維。在教學(xué)過程中,教師遵循啟發(fā)式教學(xué)原則,采用提問的方式,調(diào)動學(xué)生積極性,使學(xué)生參與到教學(xué)活動中,告訴學(xué)生應(yīng)該怎么做,更應(yīng)該讓學(xué)生考慮為什么這么做,有沒有其它解決方法。可以采用討論或者啟發(fā)式提問的方式,如在編寫一個程序時應(yīng)該把變量定義哪種數(shù)據(jù)類型、變量的初值怎么定義、函數(shù)的返回值是哪種數(shù)據(jù)類型、函數(shù)的參數(shù)有幾個、函數(shù)的參數(shù)是什么數(shù)據(jù)類型、循環(huán)的開始和結(jié)束條件是什么、返回語句使用哪種方式更合適等都可以進(jìn)行一些引導(dǎo)和啟發(fā),讓學(xué)生在啟發(fā)下思考,在思考中解決問題,培養(yǎng)獨立分析問題和解決問題的能力。通過教師的啟發(fā)教學(xué)充分調(diào)動學(xué)生的積極性、主動性和創(chuàng)造性,引導(dǎo)學(xué)生主動學(xué)習(xí)[3],有利于激發(fā)學(xué)生的學(xué)習(xí)熱情,注重培養(yǎng)學(xué)生帶著問題學(xué)習(xí),學(xué)會發(fā)現(xiàn)問題,引導(dǎo)學(xué)生學(xué)會閱讀隨機幫助文檔和查閱網(wǎng)絡(luò)資料,提升學(xué)生的計算機應(yīng)用水平和信息素質(zhì),培養(yǎng)學(xué)生的自學(xué)能力和創(chuàng)新精神。
4 實踐教學(xué)的改革
C程序設(shè)計是一門實踐性相當(dāng)強的課程,C語言學(xué)習(xí)不僅要求掌握基本的理論知識,更重要的通過編程來解決實際問題,上機調(diào)試運行程序是必不可少的環(huán)節(jié),教師可要求學(xué)生完成課后習(xí)題或例題作為驗證實驗,以深化知識點的理解,同時在理論課上布置好設(shè)計性實驗題目,介紹大概解題思路,要求課后完成,在上機實驗時間對程序調(diào)試和改進(jìn)。在上機調(diào)試過程中針對出錯較多的地方提出問題,引導(dǎo)大家思考,并及時講評,引導(dǎo)學(xué)生看一些典型的錯誤信息,要求學(xué)生能看懂常見的錯誤信息,提高程序調(diào)試能力。利用ACM在線評判系統(tǒng)(Online Judge System)進(jìn)行訓(xùn)練是一種比較有效的手段,學(xué)院在實驗室搭建了在線評判系統(tǒng),實現(xiàn)了源代碼的在線自動評判。學(xué)生平時可在實驗室或?qū)嬍彝ㄟ^校園網(wǎng)在線提交他們的程序源代碼,由服務(wù)器對提交的源代碼自動編譯執(zhí)行、計時、即時顯示提交的程序是否正確,并對成績進(jìn)行記錄和統(tǒng)計,學(xué)生看到自己的程序被正確接受后,會產(chǎn)生成就感,逐步培養(yǎng)了編程的興趣。教師利用該平臺可以隨時查看學(xué)生的程序、對學(xué)生完成程序數(shù)進(jìn)行排名,大大提高了教學(xué)的效率。
5 考核方式的改革
衡量學(xué)生學(xué)習(xí)的好壞,主要看是否能通過編程解決一些實際的問題,在C程序設(shè)計考核上,考核的方法不能主要使用客觀題,而應(yīng)當(dāng)把重點放在編制程序和調(diào)試程序上。對學(xué)生成績的評定,采用綜合考核法,成績由筆試成績、實驗成績、全國計算機二級C考試和ACM大學(xué)生程序設(shè)計大賽等社會實踐成績相結(jié)合的考核模式,突出了對學(xué)生編程能力、實踐創(chuàng)新能力的培養(yǎng)。
6 結(jié)論
如何提高C 程序設(shè)計課程的教學(xué)質(zhì)量,切實培養(yǎng)學(xué)生的創(chuàng)新思維和實際編程能力,是一個非常值得去探索的課題。從教學(xué)內(nèi)容、教學(xué)方法、實踐教學(xué)和考核方式四個方面對如何提高 C程序設(shè)計課程教學(xué)效果進(jìn)行了探討與實踐,本團隊實施以上改革措施后,學(xué)生不僅提高了學(xué)習(xí)興趣,而且程序設(shè)計能力有了明顯的提升。
參考文獻(xiàn):
[1] 譚浩強.C程序設(shè)計教程[M].北京,清華大學(xué)出版社,2007.
[2] 梁新月.C語言程序設(shè)計課程教學(xué)改革新悟[J].電腦知識與技術(shù),2012(32).
[3] 王繼東.計算機專業(yè)C語言程序設(shè)計課程教學(xué)改革探索[J].計算機時代,2012(8).