臺(tái)海江,許鑫,鄭光
(河南農(nóng)業(yè)大學(xué)信息與管理科學(xué)學(xué)院,鄭州 450046)
《C語(yǔ)言程序設(shè)計(jì)》是一門實(shí)踐性很強(qiáng)的課程,通過C語(yǔ)言的學(xué)習(xí)可以培養(yǎng)學(xué)生編寫程序解決實(shí)際問題的能力。對(duì)于高校來說,C語(yǔ)言是學(xué)生學(xué)習(xí)編程語(yǔ)言的入門課程,通過理論教學(xué)和上機(jī)實(shí)踐,使學(xué)生掌握程序設(shè)計(jì)語(yǔ)言的基本知識(shí)和程序調(diào)試能力,為后續(xù)學(xué)習(xí)計(jì)算機(jī)相關(guān)課程奠定基礎(chǔ)。但由于C語(yǔ)言語(yǔ)法規(guī)則繁多,使用靈活,學(xué)生雖然能聽懂教師講的程序,到自己獨(dú)立編程時(shí)卻無從下手,學(xué)生缺乏基本的計(jì)算機(jī)編程思想和技能,編程能力的欠缺是目前學(xué)生無法學(xué)好該課程的主要原因。
目前很多高校的《C語(yǔ)言程序設(shè)計(jì)》課程在教學(xué)過程中仍然采用填鴨式教學(xué),教師圍繞C語(yǔ)言教材自身的內(nèi)容逐一地進(jìn)行講解,在課堂上花費(fèi)大量時(shí)間講解語(yǔ)句結(jié)構(gòu)和語(yǔ)法知識(shí),所舉例題也往往是一些簡(jiǎn)單的數(shù)值計(jì)算題,而學(xué)生則是被動(dòng)式接受知識(shí),課堂上很少提問,教師和學(xué)生之間缺少互動(dòng),這樣的教學(xué)方法忽略了對(duì)學(xué)生編程思想和學(xué)習(xí)主動(dòng)性的培養(yǎng),大大降低了學(xué)生的學(xué)習(xí)興趣,自然達(dá)不到理想的教學(xué)效果。
傳統(tǒng)的C語(yǔ)言教學(xué)通常以教材中的基本語(yǔ)法知識(shí)和經(jīng)典算法為中心展開,重點(diǎn)放在了基本概念和語(yǔ)法規(guī)則的講解上而忽略了對(duì)學(xué)生實(shí)踐能力的培養(yǎng)。教師往往花費(fèi)大量時(shí)間講解語(yǔ)法細(xì)節(jié),而對(duì)學(xué)生的編程思想和技能的培養(yǎng)存在不足,導(dǎo)致學(xué)生普遍反映,理解語(yǔ)法知識(shí)并不困難,教師講解的程序也能明白,而到自己獨(dú)立編程時(shí)卻無從下手。
《C語(yǔ)言程序設(shè)計(jì)》通常是學(xué)生進(jìn)入高校后接觸的第一門編程語(yǔ)言,由于學(xué)生在高中時(shí)接觸計(jì)算機(jī)編程較少,缺乏相應(yīng)的基礎(chǔ)知識(shí),在學(xué)習(xí)C語(yǔ)言過程中,學(xué)生普遍認(rèn)為課程難度較大,概念過于抽象而難以理解。而且C語(yǔ)言語(yǔ)法規(guī)則繁多、邏輯思維嚴(yán)密、實(shí)踐性強(qiáng)、使用靈活,學(xué)生在進(jìn)行編程實(shí)踐時(shí),常常出錯(cuò)卻不知錯(cuò)在哪里,使很多學(xué)生學(xué)習(xí)時(shí)感到困難。其次,傳統(tǒng)的教學(xué)方式重理論輕實(shí)踐,教師在教授過程中過多地強(qiáng)調(diào)基礎(chǔ)語(yǔ)法規(guī)則,很少能結(jié)合實(shí)際案例進(jìn)行講解,學(xué)生無法理解學(xué)習(xí)C語(yǔ)言的意義,覺得和現(xiàn)實(shí)脫節(jié),能否學(xué)好對(duì)自己并無太大影響,使學(xué)生對(duì)C語(yǔ)言逐漸失去學(xué)習(xí)興趣和動(dòng)力。
《C語(yǔ)言程序設(shè)計(jì)》是一門實(shí)踐性很強(qiáng)的課程,不僅要求學(xué)生掌握基本的語(yǔ)法知識(shí),還應(yīng)具備一定的編程能力和上機(jī)調(diào)試能力,但學(xué)生在上機(jī)實(shí)踐過程中卻存在著諸多問題。實(shí)驗(yàn)課上,很多學(xué)生只是將教材或?qū)嶒?yàn)指導(dǎo)書上的程序機(jī)械式地輸入到計(jì)算機(jī)中進(jìn)行驗(yàn)證,驗(yàn)證通過后便認(rèn)為實(shí)驗(yàn)結(jié)束,對(duì)于實(shí)驗(yàn)原理以及程序語(yǔ)句的含義不求甚解;有些學(xué)生在課堂上上網(wǎng)聊天、玩游戲,對(duì)于實(shí)驗(yàn)題目胡亂應(yīng)付,甚至抄襲他人的實(shí)驗(yàn)結(jié)果;另外,由于學(xué)生上機(jī)實(shí)踐時(shí)人數(shù)較多,而教師只有一人,無法及時(shí)解答學(xué)生在上機(jī)調(diào)試過程中遇見的各種問題,致使一部分學(xué)生浪費(fèi)了很多時(shí)間在等待上。這樣的實(shí)踐環(huán)節(jié)很難達(dá)到理想的效果。
傳統(tǒng)的C語(yǔ)言教學(xué)采用的是“教師講學(xué)生聽”的灌輸式教學(xué)[1],學(xué)生學(xué)習(xí)十分被動(dòng),很難激發(fā)學(xué)生的學(xué)習(xí)興趣。因此,教師應(yīng)注重教學(xué)方法的變換運(yùn)用,開展多樣化教學(xué),根據(jù)教學(xué)目標(biāo)、教學(xué)內(nèi)容和學(xué)生的特點(diǎn)靈活采用多種教學(xué)方法。
(1)現(xiàn)場(chǎng)演示法
教師在講授完一個(gè)新的知識(shí)點(diǎn)后可在課堂上布置一些簡(jiǎn)單的練習(xí)題,先由學(xué)生進(jìn)行思考、討論,然后挑選一名學(xué)生在課堂上現(xiàn)場(chǎng)編寫程序,所編寫程序經(jīng)由投影大屏展現(xiàn)給全班學(xué)生,由全班學(xué)生一起來檢查被挑選學(xué)生的程序是否有問題,有哪些問題,例如輸入錯(cuò)誤、缺少分號(hào)、括號(hào)不匹配、變量使用前未初始化以及邏輯錯(cuò)誤等[2]。通過這一過程,學(xué)生可以清楚地認(rèn)識(shí)到程序編寫時(shí)有可能出現(xiàn)的問題,到自己編程時(shí)就可以有意識(shí)地避免這些錯(cuò)誤,提高程序編寫的成功率。
(2)案例教學(xué)法
由教師精選一些與實(shí)際生活相關(guān)的案例作為學(xué)生的課后作業(yè),先由學(xué)生在課下進(jìn)行練習(xí),到下次上課時(shí),教師根據(jù)學(xué)生的完成情況和出現(xiàn)的具體問題在課堂上對(duì)案例進(jìn)行詳細(xì)講解。通過對(duì)實(shí)際案例的不斷練習(xí)和講解,不僅能使學(xué)生明白C語(yǔ)言的現(xiàn)實(shí)意義,還能增強(qiáng)學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生的學(xué)習(xí)熱情,提高學(xué)生編寫程序解決實(shí)際問題的能力。
(3)分組討論法
教師在每講完一個(gè)新的知識(shí)點(diǎn)后,針對(duì)該知識(shí)點(diǎn)布置若干個(gè)專題,組織學(xué)生在課堂上進(jìn)行分組討論,學(xué)生通過討論不僅加深了對(duì)新知識(shí)點(diǎn)的理解,還可以聯(lián)想起已學(xué)過的知識(shí)點(diǎn),在經(jīng)過激烈的討論后,學(xué)生往往可以采用不同的語(yǔ)句或算法寫出好幾種程序。在這個(gè)過程中,學(xué)生通過不斷地互相提問和解答,互相啟發(fā)和協(xié)作去共同分析問題、解決問題,不僅鍛煉了學(xué)生的邏輯思維能力,也提高了學(xué)生的程序編寫能力。
項(xiàng)目驅(qū)動(dòng)教學(xué)法以實(shí)踐教學(xué)為主,在教學(xué)過程中不僅可以傳授新知識(shí),還可以培養(yǎng)學(xué)生的實(shí)踐能力,它能夠極大地調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,培養(yǎng)學(xué)生分析、解決實(shí)際問題的能力,鍛煉學(xué)生的團(tuán)隊(duì)合作精神。
在項(xiàng)目設(shè)計(jì)之初,先由教師對(duì)項(xiàng)目的各項(xiàng)功能進(jìn)行分析,同時(shí)講解所用到的新的知識(shí)點(diǎn),并對(duì)項(xiàng)目所要實(shí)現(xiàn)的功能提出基本要求,然后由學(xué)生自行組織完成項(xiàng)目的設(shè)計(jì)和開發(fā)。在項(xiàng)目實(shí)施過程中,由教師根據(jù)學(xué)生的能力和特點(diǎn)將學(xué)生按照每組3~4人進(jìn)行分組,由組員推薦或教師指定其中一人擔(dān)任組長(zhǎng),組長(zhǎng)負(fù)責(zé)對(duì)項(xiàng)目進(jìn)行分工,并協(xié)調(diào)組員之間的工作。在這一過程中,教師主要起到輔助的作用,根據(jù)學(xué)生遇到的問題和學(xué)生一起分析探討。同時(shí)為了培養(yǎng)學(xué)生的創(chuàng)新意識(shí)和探究精神,鍛煉學(xué)生分析和解決實(shí)際問題的能力,允許學(xué)生在完成項(xiàng)目的基本要求的基礎(chǔ)上進(jìn)行自主創(chuàng)新,展現(xiàn)自己的編程思想。項(xiàng)目完成后,學(xué)生進(jìn)行現(xiàn)場(chǎng)演示答辯,教師當(dāng)場(chǎng)測(cè)試驗(yàn)收,做出評(píng)價(jià)和總結(jié),并對(duì)學(xué)生的創(chuàng)新部分予以肯定和鼓勵(lì)。
C語(yǔ)言是一門實(shí)踐性很強(qiáng)的課程,目的就是培養(yǎng)學(xué)生編寫程序解決實(shí)際問題的能力。其中,程序調(diào)試的能力就是程序設(shè)計(jì)者所必備的。學(xué)生通過不斷地修改調(diào)試自己出錯(cuò)的程序,并最終成功,這將會(huì)給學(xué)生帶來極大的成就感,進(jìn)而提高學(xué)生的學(xué)習(xí)積極性。
學(xué)生編寫程序時(shí)常見的錯(cuò)誤包括編譯錯(cuò)誤和邏輯錯(cuò)誤。其中,編譯錯(cuò)誤修改比較容易,而邏輯錯(cuò)誤修改則相對(duì)困難,程序雖然可以通過編譯,但運(yùn)行結(jié)果卻與預(yù)期不符,甚至出現(xiàn)程序崩潰或停止運(yùn)行等問題,修改此類錯(cuò)誤則需要通過程序調(diào)試來解決。學(xué)生利用基本的調(diào)試方法對(duì)程序進(jìn)行運(yùn)行調(diào)試,在這個(gè)過程中,教師要向?qū)W生演示調(diào)試的方法,學(xué)生通過調(diào)試自己的程序來掌握基本的調(diào)試技能。在上機(jī)實(shí)踐時(shí),教師要有意識(shí)地培養(yǎng)學(xué)生自己調(diào)試程序、解決問題的能力,也可以設(shè)計(jì)一些典型的案例,讓學(xué)生做調(diào)試練習(xí),從而提高學(xué)生的調(diào)試技能。
《C語(yǔ)言程序設(shè)計(jì)》是一門實(shí)踐性、工程性很強(qiáng)的課程,學(xué)生只有通過不斷的上機(jī)實(shí)踐才能提高自己的編程能力。然而不少學(xué)生不遵守課堂紀(jì)律,胡亂應(yīng)付實(shí)驗(yàn),上機(jī)實(shí)踐效果非常不好,因此,必須加強(qiáng)對(duì)上機(jī)實(shí)驗(yàn)的管理,以期提高上機(jī)實(shí)踐的效果。在上機(jī)實(shí)踐中,為了避免學(xué)生利用電腦進(jìn)行學(xué)習(xí)以外的行為,教師可以通過機(jī)房電腦上安裝的電子教室系統(tǒng)對(duì)學(xué)生的電腦進(jìn)行嚴(yán)格的監(jiān)控,也可以通過該系統(tǒng)檢查學(xué)生的出勤情況。對(duì)違反課堂紀(jì)律的學(xué)生要及時(shí)制止,不聽勸阻者可由教師遠(yuǎn)程控制其電腦,禁止一切與上機(jī)實(shí)踐無關(guān)的行為。
科學(xué)合理的考核方式可以激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力和潛能。目前學(xué)生的成績(jī)主要基于期末考核,而《C語(yǔ)言程序設(shè)計(jì)》的考試多以筆試的形式為主[3],對(duì)于實(shí)踐能力考核不足,結(jié)果造成很多學(xué)生考試成績(jī)很高,但編程能力卻一般,因此,必須加以改革。對(duì)于學(xué)生成績(jī)的考核應(yīng)綜合考慮,不僅包括期末考試,還應(yīng)加大平時(shí)成績(jī)的考核,平時(shí)成績(jī)包括考勤、作業(yè)和上機(jī)實(shí)踐等,有條件的情況下可采用無紙化上機(jī)考試。無紙化的上機(jī)考試能夠有效地對(duì)客觀題目以及學(xué)生現(xiàn)場(chǎng)程序設(shè)計(jì)和調(diào)試等實(shí)踐能力進(jìn)行考核,這是筆試所無法實(shí)現(xiàn)的[4]。這樣的考核方式將重點(diǎn)放在程序編制和調(diào)試上,注重學(xué)生平時(shí)的上機(jī)實(shí)踐,可有效提高學(xué)生編寫程序解決實(shí)際問題的能力。
《C語(yǔ)言程序設(shè)計(jì)》是一門實(shí)踐性很強(qiáng)的課程,也是計(jì)算機(jī)專業(yè)和相關(guān)專業(yè)的一門重要的基礎(chǔ)課程。教師在教學(xué)過程中要提高教學(xué)質(zhì)量,就必須在實(shí)際教學(xué)中不斷地探索總結(jié)經(jīng)驗(yàn),改進(jìn)教學(xué)方法和教學(xué)手段,激發(fā)學(xué)生的學(xué)習(xí)興趣,有意識(shí)地培養(yǎng)學(xué)生的計(jì)算機(jī)編程思想和程序調(diào)試技能,提高學(xué)生編寫程序解決實(shí)際問題的能力,從而提高教學(xué)效果和教學(xué)質(zhì)量。