景鵬斌
(陜西機(jī)電職業(yè)技術(shù)學(xué)院,陜西 寶雞 721001)
C語言是程序設(shè)計(jì)人員主要使用的一種面向過程的計(jì)算機(jī)編程語言,主要在底層開發(fā)中進(jìn)行應(yīng)用。目前眾多高職院校中都開設(shè)了《C語言程序設(shè)計(jì)》課程,將其作為學(xué)生學(xué)習(xí)編程語言的一門基礎(chǔ)課程,主要培養(yǎng)學(xué)生的編程思想,使其養(yǎng)成良好的編程習(xí)慣和編程風(fēng)格,鍛煉學(xué)生程序編寫的規(guī)范要求和基本技能,為學(xué)習(xí)相關(guān)編程語言打好基礎(chǔ)。然而在實(shí)際教學(xué)中,C語言課程的教學(xué)效果并不理想,本論文就《C語言程序設(shè)計(jì)》課程教學(xué)過程中存在的問題進(jìn)行分析,探討C語言課程教學(xué)改革的方向,提出C語言課程的教學(xué)策略和授課技巧。
C語言是一種高級(jí)語言,它將低級(jí)語言的實(shí)用特點(diǎn)與高級(jí)語言的語句和基本結(jié)構(gòu)相結(jié)合。C語言本身具有結(jié)構(gòu)簡(jiǎn)單、靈活方便、運(yùn)算符與數(shù)據(jù)類型豐富,并且生成目標(biāo)代碼的質(zhì)量高,程序執(zhí)行效率高、表達(dá)能力強(qiáng)、可移植性好等特點(diǎn)。同時(shí)C語言允許對(duì)物理地址進(jìn)行直接訪問,可對(duì)硬件操作,而且C語言在參數(shù)傳遞時(shí)主要以值進(jìn)行傳遞的,也可以傳指針,只有32個(gè)關(guān)鍵字,使變量和函數(shù)的命名更加靈活,函數(shù)的調(diào)用及應(yīng)用使C語言程序編寫更加容易。
C語言自身特點(diǎn)決定了《C語言程序設(shè)計(jì)》課程(以下簡(jiǎn)稱C語言課程)具有五個(gè)方面的特點(diǎn),第一,C語言課程具有很強(qiáng)的實(shí)踐性,理論知識(shí)一定要和實(shí)踐相結(jié)合;第二,C語言課程要求學(xué)生在程序編寫時(shí)遵循嚴(yán)格的語法結(jié)構(gòu);第三,C語言課程在教學(xué)時(shí)教師要注重培養(yǎng)學(xué)生的編程思想及邏輯思維能力,要求學(xué)生掌握面向過程程序設(shè)計(jì)的基本方法,提升學(xué)生程序編寫能力;第四,C語言課程對(duì)學(xué)生的邏輯思維能力有一定要求,如數(shù)學(xué)底子好的學(xué)生,C語言學(xué)起來較容易;第五,C語言課程在課后教師要安排一定的具有實(shí)際意義的作業(yè),使學(xué)生鞏固所學(xué)知識(shí)。
C語言課程作為編程語言課程,理論和實(shí)踐都有一定的要求,并且具有很強(qiáng)的綜合應(yīng)用性,后續(xù)相關(guān)課程都會(huì)用到C語言編程,如單片機(jī)課程,嵌入式開發(fā)等。而目前C語言課程的教學(xué)現(xiàn)狀主要表現(xiàn)為:第一,教學(xué)過程中過多重理論教學(xué)而實(shí)踐教學(xué)比例較低,理論與實(shí)踐做不到合理對(duì)接,甚至嚴(yán)重出現(xiàn)脫節(jié)現(xiàn)象,以致于學(xué)生的編程能力較弱,對(duì)理論知識(shí)理解不透徹,導(dǎo)致學(xué)生感覺C語言課程較難;第二,過多依賴教材,局限于教材中的知識(shí)體系,以教材為中心的教學(xué)模式,導(dǎo)致教學(xué)思想較僵化,忽略了學(xué)生編程思想的培養(yǎng);第三,側(cè)重強(qiáng)調(diào)教師的作用和地位,忽視了學(xué)生的地位,學(xué)生對(duì)教師的講授內(nèi)容完全信服,使學(xué)生的思維不夠開闊,忽視了學(xué)生編程思維能力的培養(yǎng);第四,忽略學(xué)生的個(gè)性差異,失去了因材施教的意義,采用同起點(diǎn)同方法的培養(yǎng),導(dǎo)致部分學(xué)生的學(xué)習(xí)積極性喪失和自信心收到不同程度的打擊;第五,學(xué)生實(shí)驗(yàn)課缺乏有效激勵(lì)機(jī)制,課堂效率較低,部分學(xué)生濫竽充數(shù),喪失學(xué)習(xí)動(dòng)力;第六,教學(xué)評(píng)價(jià)方式單一,主要以學(xué)生的理論試卷成績(jī)?yōu)橹?,忽略了學(xué)生實(shí)踐能力和創(chuàng)新能力的培養(yǎng)。
可見,為了使學(xué)生能更好的掌握C語言課程的基本知識(shí),運(yùn)用C語言編程語言解決相關(guān)實(shí)際問題,有效提升學(xué)生的編程思維,提高學(xué)生分析問題和解決問題的能力,C語言課程的教學(xué)改革勢(shì)在必行。
C語言課程教學(xué)改革要從C語言課程教學(xué)中存在的實(shí)際問題出發(fā),結(jié)合學(xué)生實(shí)際情況,依據(jù)C語言課程的教學(xué)目標(biāo),從以下幾個(gè)方面進(jìn)行教學(xué)改革。
教師應(yīng)對(duì)C語言課程教學(xué)內(nèi)容進(jìn)行優(yōu)化,明確每次課的重點(diǎn)及難點(diǎn),對(duì)于重點(diǎn)知識(shí)如何解決,對(duì)于難點(diǎn)問題如何突破,對(duì)整個(gè)教學(xué)內(nèi)容要有一個(gè)宏觀的認(rèn)識(shí),具體教學(xué)時(shí)要做到微觀的講解。對(duì)應(yīng)知識(shí)點(diǎn)講授后要賦予一定的習(xí)題,使學(xué)生能夠進(jìn)一步理解相關(guān)知識(shí),并且達(dá)到應(yīng)用的教學(xué)目標(biāo)。
教學(xué)方法方面,要做到因材施教,隨著教學(xué)內(nèi)容的不斷變化,授課對(duì)象的不斷變化,適當(dāng)調(diào)整教學(xué)方法,以最大化提高教學(xué)質(zhì)量。教學(xué)過程中,應(yīng)引導(dǎo)學(xué)生探求一題多解,培養(yǎng)發(fā)散性思維,不斷提高學(xué)生的編程能力,指導(dǎo)學(xué)生有效利用網(wǎng)絡(luò)資源進(jìn)行協(xié)作學(xué)習(xí)。
教學(xué)模式要圍繞教學(xué)內(nèi)容的特點(diǎn)及教學(xué)效果不斷調(diào)整,從而才能夠較好的實(shí)現(xiàn)教學(xué)目標(biāo)。C語言的特點(diǎn)決定了C語言課程必須采用理論與實(shí)際相結(jié)合的教學(xué)模式,只有將理論知識(shí)與上機(jī)實(shí)踐有效結(jié)合,才能取得良好的教學(xué)效果,達(dá)到教學(xué)目標(biāo)的要求。C語言課程相對(duì)其他課程而言,具有很強(qiáng)的實(shí)踐性,因此只有大量的上機(jī)實(shí)踐才能使學(xué)生靈活運(yùn)用所學(xué)知識(shí),有效提高學(xué)生的編程能力,提升學(xué)生的分析問題及解決問題的能力。切忌只看書本,不能停留在閱讀程序方面,一定要加強(qiáng)上機(jī)實(shí)踐練習(xí),只有不斷的上機(jī)操作,編寫、編譯、調(diào)試,經(jīng)歷大量的實(shí)踐練習(xí),才能使學(xué)生的編程水平得到提高,教師在教學(xué)中應(yīng)強(qiáng)化和引導(dǎo)學(xué)生不斷練習(xí),從而落實(shí)C語言課程的教學(xué)目標(biāo)。
C語言教學(xué)時(shí),應(yīng)注重基礎(chǔ)知識(shí)的教學(xué),只有使學(xué)生理解了諸如數(shù)據(jù)類型、變量、常量、表達(dá)式、語法等相關(guān)基礎(chǔ)知識(shí),才能在后續(xù)的函數(shù)應(yīng)用中減少錯(cuò)誤,否則,編程時(shí)就會(huì)錯(cuò)誤百出,教學(xué)中要讓學(xué)生理解函數(shù)在C語言課程學(xué)習(xí)中的重要地位,對(duì)函數(shù)的靈活調(diào)用多加強(qiáng)調(diào)和大量練習(xí)。因此,教學(xué)中要注重基礎(chǔ)知識(shí)講授,其次嚴(yán)格遵守語法結(jié)構(gòu),強(qiáng)調(diào)語法的重要性,使學(xué)生在學(xué)習(xí)程序一開始就注重語法結(jié)構(gòu),從而養(yǎng)成良好的編程習(xí)慣,使學(xué)生在編程過程中自覺的建立良好的編程風(fēng)格,這樣既鞏固了基礎(chǔ)知識(shí),又可以編寫出高質(zhì)量的程序。
C語言課程在教學(xué)時(shí)應(yīng)把學(xué)生編程思想的培養(yǎng)作為出發(fā)點(diǎn),教師在教學(xué)時(shí)不可能把所有的程序給學(xué)生都講授,因此,教師在教學(xué)過程一開始就要注重編程思想的培養(yǎng),從簡(jiǎn)單程序入手,不斷引導(dǎo)、啟發(fā)、鼓勵(lì)學(xué)生進(jìn)行程序編寫,著力培養(yǎng)學(xué)生的編程思想,不斷激發(fā)學(xué)生學(xué)習(xí)C語言的興趣,指導(dǎo)學(xué)生通過大量的實(shí)踐操作,采用多種方式,如循環(huán)結(jié)構(gòu)應(yīng)用時(shí),應(yīng)反復(fù)使用while語句、for語句、do-while語句等多種方式大量練習(xí),最終提高學(xué)生的程序編寫能力。
C語言課程的教學(xué)要善于激發(fā)學(xué)生的學(xué)習(xí)興趣,興趣的培養(yǎng)至關(guān)重要,如果學(xué)生對(duì)該門課程缺乏了學(xué)習(xí)興趣,很難把學(xué)生引入課題,甚至?xí)霈F(xiàn)事倍功半,因此在C語言編程過程中,教師應(yīng)從簡(jiǎn)單程序入手,讓學(xué)生理解每條語句的含義,從而讀懂程序,會(huì)修改程序,當(dāng)學(xué)生編程正確時(shí),給予一定的鼓勵(lì)和表揚(yáng),從而有助于提高學(xué)生的學(xué)習(xí)興趣。
對(duì)C語言課程的考核評(píng)價(jià),不能以理論試卷成績(jī)一刀切的形式進(jìn)行評(píng)價(jià),應(yīng)充分考慮到學(xué)生平時(shí)的上機(jī)實(shí)踐編程水平,以及學(xué)生的分析問題及解決問題的相關(guān)能力,建議增設(shè)上機(jī)實(shí)踐考核環(huán)節(jié),從而做到較為全面的考核評(píng)價(jià)方式。
C語言課程的教學(xué)中要加強(qiáng)學(xué)生邏輯思維和創(chuàng)新性思維能力的培養(yǎng),強(qiáng)調(diào)編程規(guī)范,使學(xué)生養(yǎng)成良好的編程風(fēng)格。同時(shí)要注重教學(xué)方法和教學(xué)策略。
教師在授課時(shí),注重培養(yǎng)學(xué)生的學(xué)習(xí)方法及編程思維,作為初學(xué)者,要讓學(xué)生能夠根據(jù)現(xiàn)有的程序,學(xué)習(xí)語法結(jié)構(gòu),理解每條語句的含義,敲代碼,照著程序能夠完整敲出來。使學(xué)生熟悉程序結(jié)構(gòu),理解語句的寫法及代表的含義。
在C語言課程教學(xué)中完整的敲完所有程序,更要對(duì)計(jì)算機(jī)上敲的代碼能夠應(yīng)用編譯軟件進(jìn)行編譯,若程序編寫不正確,編譯時(shí)會(huì)提示出現(xiàn)錯(cuò)誤,教師應(yīng)引導(dǎo)學(xué)生能夠根據(jù)C語言語法結(jié)構(gòu)找出問題所在,既鍛煉了學(xué)生的C語言語法知識(shí),提高了學(xué)生程序編寫的操作規(guī)范,又強(qiáng)化了學(xué)生的C語言基礎(chǔ)知識(shí),如32個(gè)關(guān)鍵字不能寫錯(cuò)等。
C語言課程教學(xué)中,教師不可能講授完所有的程序,程序因問題變化而變化,應(yīng)指導(dǎo)學(xué)生在理解現(xiàn)有程序的基礎(chǔ)上,注重對(duì)學(xué)生編程思維的培養(yǎng),對(duì)現(xiàn)有程序在理解的基礎(chǔ)上可以進(jìn)行修改,找到解決新問題的方法,同時(shí)讓學(xué)生熟練經(jīng)典程序,如“Fibonacci數(shù)列、楊輝三角、完數(shù)”等經(jīng)典程序,使學(xué)生從中可以有所啟發(fā),從而能夠?qū)ΜF(xiàn)有程序進(jìn)行修改、調(diào)用來解決新問題,做到為我所用,從而逐漸提升自己的編程能力。
C語言編程中,大部分問題需要采用數(shù)學(xué)方法進(jìn)行分析,數(shù)學(xué)是計(jì)算機(jī)之母,沒有數(shù)學(xué)的依據(jù)和基礎(chǔ),就沒有計(jì)算機(jī)的發(fā)展,所以在編寫程序的時(shí)候,采用一些數(shù)學(xué)方法會(huì)對(duì)程序的執(zhí)行效率有數(shù)量級(jí)的提高。如“冒泡排序、Fibonacci數(shù)列、楊輝三角形、完數(shù)、π的近似值、1-100的和、九九乘法表”等等,因此,在C語言程序設(shè)計(jì)課程教學(xué)中,教師要引導(dǎo)學(xué)生應(yīng)用數(shù)學(xué)方法來分析問題,培養(yǎng)學(xué)生的編程思維,對(duì)于復(fù)雜問題可畫出流程圖,進(jìn)一步分析,從而解決問題。
C語言課程的教學(xué)中,理論與實(shí)踐必須相結(jié)合,絕對(duì)不能給學(xué)生只是做題與讀程序,C語言課程作為一門實(shí)踐性很強(qiáng)的課程,一定要安排足量的上機(jī)實(shí)踐操作,課后也要有一定的實(shí)踐性練習(xí)。只有通過上機(jī)實(shí)踐才能驗(yàn)證所學(xué)的理論知識(shí),通過軟件編譯查找錯(cuò)誤來鞏固概念,從而提高上機(jī)能力來促進(jìn)理論學(xué)習(xí),開闊編程思路,提高分析問題及解決問題的能力,鍛煉心理素質(zhì),最終提高學(xué)生的編程能力。
本論文分析了高職院校C語言程課程的教學(xué)現(xiàn)狀,提出了C語言課程教學(xué)改革的必要性,從五個(gè)方面對(duì)高職C語言課程教學(xué)改革的方向進(jìn)行了闡述,通過對(duì)教學(xué)改革方向的分析,提出了C語言課程在教學(xué)中的相關(guān)策略以及授課過程中應(yīng)注意的教學(xué)技巧,為教學(xué)工作者進(jìn)行C語言課程教學(xué)改革提供了理論參考,也為教師在C語言課程教學(xué)中提高學(xué)生的編程能力提供了新的教學(xué)模式,也為其他編程語言課程提供了借鑒,為提高職業(yè)教育教學(xué)質(zhì)量提供一定的參考。