鄧永江
【摘 要】C語言涉及的概念復(fù)雜,靈活性大,是一門教師難教,學(xué)生難學(xué)的課程。本文圍繞銅陵學(xué)院近3年的基于應(yīng)用型本科《C語言程序設(shè)計(jì)》教學(xué)改革,針對(duì)C語言教學(xué)中存在的問題,介紹了課程改革中的一些措施,并取得較好的教學(xué)效果。并給出了下一步改革的一些設(shè)想和努力方向。
【關(guān)鍵詞】C語言程序設(shè)計(jì);教學(xué)改革;應(yīng)用型人才
Based on the Application-oriented College “l(fā)anguage C program design” teaching research and practice
DENG Yong-jiang
(Department of Mathematics and Computer Science of Tongling College,Tongling Anhui,244000)
【Abstract】The concept of C language involves complex, flexibility, hard to teach, and students difficult to learn. This paper focus on Tongling University nearly 3 years based on the applied “l(fā)anguage C program design” teaching reform, According to the C language problems in the teaching, this paper introduces some measures in the reform of the course, and obtain a better teaching effect. And give the next reform ideas and direction.
【Key words】C program design; Teaching reform; Practical talents
0 引言
《C語言程序設(shè)計(jì)》是我校為非計(jì)算機(jī)專業(yè)理工類學(xué)生開設(shè)的一門程序設(shè)計(jì)課程,它在《計(jì)算機(jī)文化基礎(chǔ)》課程的基礎(chǔ)上,向?qū)W生傳授程序設(shè)計(jì)的原理、方法、操作等,學(xué)生通過本課程的學(xué)習(xí),可以掌握計(jì)算機(jī)程序設(shè)計(jì)的基本方法,理解程序設(shè)計(jì)的基本思路,鍛煉學(xué)生的邏輯思維能力,培養(yǎng)學(xué)生的創(chuàng)新精神,提高學(xué)生的綜合素質(zhì)。
但是C語言涉及的概念復(fù)雜,靈活性大,初學(xué)者較難掌握,許多學(xué)生甚至課程學(xué)完還概念不清。如何搞好C語言教與學(xué)?如何提高計(jì)算機(jī)程序設(shè)計(jì)的能力,是一個(gè)值得研究的課題,我校2009年10月被批準(zhǔn)為安徽省省級(jí)示范應(yīng)用型本科院校建設(shè)單位,應(yīng)用型本科院校教學(xué)內(nèi)容應(yīng)更多的關(guān)注市場的需求,更加重視實(shí)踐的教學(xué)環(huán)節(jié)。下面,從教學(xué)方法、教學(xué)手段、實(shí)踐課程建設(shè)等方面進(jìn)行了一系列的探討,以期能進(jìn)一步提高該課程的教學(xué)效果。
1 教學(xué)現(xiàn)狀及存在的問題
1.1 學(xué)習(xí)動(dòng)力和興趣低
大多數(shù)C語言教材通常先給出一般的語法格式,然后逐步講解語法要點(diǎn)。教師也習(xí)慣于根據(jù)課本中的章節(jié)重點(diǎn)講解語法知識(shí),而忽視對(duì)算法的教學(xué),這導(dǎo)致了學(xué)生學(xué)習(xí)有誤區(qū),花大量的精力做諸如等級(jí)考試的選擇題,而對(duì)編程的真正目的是什么沒有明白,從而降低了學(xué)習(xí)動(dòng)力和興趣,甚至導(dǎo)致厭學(xué)的情緒。
1.2 缺乏有效的輔助教學(xué)手段
傳統(tǒng)的教師口述加板書、學(xué)生聽的灌輸式教學(xué)方法其效果并不理想,因?yàn)樗貍魇谥R(shí)、忽視培養(yǎng)能力。學(xué)生的基礎(chǔ)知識(shí)存在很大差異,這使得《C語言程序設(shè)計(jì)》的教學(xué)很難兼顧到每位學(xué)生的發(fā)展需要,教學(xué)中往往照顧到一些學(xué)習(xí)成績中等及以上的學(xué)生,課后師生見面的次數(shù)少,這間接的影響學(xué)生的學(xué)習(xí)積極性。
1.3 與實(shí)踐結(jié)合不緊密,解決實(shí)際問題的能力較差[1]
《C語言程序設(shè)計(jì)》是一門理論性很強(qiáng)的課程,學(xué)生要掌握C語言的概念、規(guī)則,但如果不加強(qiáng)實(shí)驗(yàn)教學(xué)的訓(xùn)練,則不利于培養(yǎng)學(xué)生解決實(shí)際問題的能力,不利于學(xué)生創(chuàng)新能力的鍛煉。而目前,學(xué)生只是仿照書上的例題驗(yàn)證性實(shí)驗(yàn),根本沒有認(rèn)真、系統(tǒng)分析開發(fā)過程。在實(shí)踐教學(xué)中普遍表現(xiàn)出學(xué)生動(dòng)手能力較差,綜合應(yīng)用理論知識(shí)解決問題的自覺性和主動(dòng)性較差。
2 基于應(yīng)用型的教學(xué)改革
2.1 激發(fā)學(xué)生的學(xué)習(xí)興趣的教學(xué)方法
在C語言的教學(xué)過程中,教師應(yīng)該激發(fā)學(xué)生的學(xué)習(xí)興趣。教師在講授每一節(jié)課以前,必須清楚、明白這節(jié)課的目的要求,通過形象生動(dòng)地操作或有目的的激趣提問,誘發(fā)學(xué)生的求知欲;也可根據(jù)內(nèi)容講明在程序設(shè)計(jì)當(dāng)中的作用和意義,以及它在知識(shí)體系中的地位,引起學(xué)生對(duì)知識(shí)的重視,并形成掌握的動(dòng)機(jī)。
在備課時(shí)精心設(shè)計(jì)教案與教學(xué)用例,通過合理的教學(xué)內(nèi)容安排使學(xué)生在不經(jīng)意互動(dòng)教學(xué)中掌握程序設(shè)計(jì)方法。
例如:為了向?qū)W生講解冒泡排序的算法,教學(xué)環(huán)節(jié)如下[2]:
互動(dòng)設(shè)問:如何把教室里的某一列年齡最大的學(xué)生放到這列的尾部?(引發(fā)學(xué)生思考)。
(1)教師歸納:就是如何在一維數(shù)組中移動(dòng)最大數(shù)的方法,隨即配合多媒體課件講解,并現(xiàn)場實(shí)現(xiàn)該程序。水中大的氣泡始終是往上升還是往下沉?(引起興趣),引出冒泡概念。
(2)漸進(jìn)設(shè)問:如果要求將教室中該列的學(xué)生按年齡從小到大排列安排座位?
(3)教師歸納:剛才找到的年齡最大的學(xué)生移到最后,重復(fù)上述方法每次在剩余學(xué)生中找到最大年齡者,且移到這次最后,直到剩余最后一名學(xué)生即可。
(4)現(xiàn)場程序教學(xué):通過現(xiàn)場循環(huán)變換實(shí)現(xiàn)冒泡排序。
(5)課件制作演示:通過制作Flash動(dòng)畫,生動(dòng)演示其算法及實(shí)現(xiàn)過程。
(6)思維擴(kuò)散:這列數(shù)據(jù)從小到大排列好了,如何實(shí)現(xiàn)從大到小排列,程序如何修改?讓學(xué)生思考回答,做到師生互動(dòng),是學(xué)生能達(dá)到舉一反三的效果,可進(jìn)一步引出簡單的選擇排序的教學(xué)。
實(shí)踐表明,這種精心設(shè)計(jì)的教學(xué)方法深受學(xué)生的歡迎,教學(xué)環(huán)節(jié)緊扣學(xué)生思維,激發(fā)學(xué)生的學(xué)習(xí)興趣,是學(xué)生輕松地掌握程序設(shè)計(jì)的方法。
2.2 豐富教學(xué)手段,加強(qiáng)課外交流
(1)豐富教學(xué)手段
第一,善用案例教學(xué)法
我們要把那些相對(duì)抽象的理論知識(shí)轉(zhuǎn)化為具體的案例,采用啟發(fā)式的案例教學(xué)法,調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣,將被動(dòng)學(xué)習(xí)變?yōu)橛膳d趣激發(fā)的主動(dòng)探索。誘導(dǎo)學(xué)生自主學(xué)習(xí),獨(dú)立思考,相互討論,對(duì)案例提出質(zhì)疑,從案例中分析應(yīng)該理解和掌握哪些理論知識(shí)等。
第二,利用多媒體教學(xué)
要積極利用多媒體教學(xué)環(huán)境,美化電子教案,對(duì)一些程序算法制作Flash,做到通俗易懂。
第三,作業(yè)練習(xí)
有選擇性地布置一些練習(xí)題和思考題,學(xué)生在認(rèn)真閱讀教材和參考書解決問題的過程中,熟練掌握課程的基本內(nèi)容、重點(diǎn)和難點(diǎn)。
(2)加強(qiáng)課外交流
加強(qiáng)網(wǎng)絡(luò)支撐環(huán)境的建設(shè),利用計(jì)算機(jī)網(wǎng)絡(luò),使學(xué)生課前預(yù)習(xí)和課后復(fù)習(xí)變得更方便、更直觀,把學(xué)生經(jīng)常出現(xiàn)的一些問題以及各種例題、算法發(fā)布到我院的教學(xué)論壇上,讓學(xué)生進(jìn)行學(xué)習(xí)討論,教師要及時(shí)跟蹤并給學(xué)生輔導(dǎo)答疑,增強(qiáng)學(xué)生學(xué)習(xí)積極性和自學(xué)能力,帶動(dòng)學(xué)生通過閱讀課外資料以進(jìn)一步擴(kuò)展知識(shí)面。學(xué)生能根據(jù)自己的情況有選擇性學(xué)習(xí),實(shí)現(xiàn)分層次學(xué)習(xí)。
2.3 加強(qiáng)實(shí)踐教學(xué)
《C語言程序設(shè)計(jì)》是一門實(shí)踐性很強(qiáng)的課程,學(xué)生在學(xué)習(xí)C語言程序設(shè)計(jì)的過程中不僅要掌握C語言的概念、規(guī)則,還要?jiǎng)邮志幊?、上機(jī)調(diào)試和運(yùn)行。衡量學(xué)生學(xué)習(xí)這門課程的好壞,不是看學(xué)生“知不知道”,而是看學(xué)生“會(huì)不會(huì)干” [3]。
實(shí)踐教學(xué)是學(xué)生實(shí)踐的重要環(huán)節(jié),在實(shí)踐教學(xué)中必須做到循序漸進(jìn),對(duì)所學(xué)的每一部分內(nèi)容都應(yīng)該要求學(xué)生完成一定數(shù)量的實(shí)驗(yàn)內(nèi)容。每部分的上機(jī)習(xí)題必須精心挑選,既要有基本的、較簡單的題目,又要有一些具有挑戰(zhàn)性的新穎有趣的題目。
(1)按照課程內(nèi)容的進(jìn)度設(shè)計(jì)系列上機(jī)實(shí)驗(yàn)。做到各個(gè)實(shí)驗(yàn)之間相互聯(lián)系,根據(jù)內(nèi)容依次遞進(jìn)。
(2)在實(shí)驗(yàn)教學(xué)過程中采用“啟發(fā)式”教學(xué)方法[4],主要體現(xiàn)在:①教師在課堂上應(yīng)給學(xué)生指定明確的有利于消化課堂理論知識(shí)的實(shí)驗(yàn)題目,針對(duì)本實(shí)驗(yàn)提幾個(gè)問題讓學(xué)生思考;②對(duì)實(shí)驗(yàn)過程中出現(xiàn)的問題不是馬上告訴他,而是引導(dǎo)學(xué)生分析,解決問題有哪幾種思路,要不然學(xué)生下次遇到類似的問題還是沒法解決;③上機(jī)結(jié)束前對(duì)普遍存在的問題進(jìn)行統(tǒng)一講解。
(3)上機(jī)實(shí)驗(yàn)針對(duì)的往往是一定范圍的知識(shí)點(diǎn),各個(gè)知識(shí)點(diǎn)相互聯(lián)系不夠緊密,具有一定局限性,因此在課程后期需要安排綜合性實(shí)驗(yàn)訓(xùn)練,將2-4位同學(xué)分為一組,鼓勵(lì)他們互相學(xué)習(xí)、大膽討論。所選題目應(yīng)具有一定的應(yīng)用背景,如工資管理系統(tǒng),設(shè)計(jì)這樣具有實(shí)用價(jià)值的應(yīng)用系統(tǒng),使所學(xué)知識(shí)融會(huì)貫通。綜合性實(shí)驗(yàn)后,不但要做成軟件,還應(yīng)鼓勵(lì)學(xué)生撰寫相應(yīng)論文,在論文中闡述其設(shè)計(jì)思路、運(yùn)用的知識(shí)及自己的體會(huì)。
2.4 改革設(shè)想和努力方向
C語言課程改革不是一朝一夕的事情,需要研究和解決的問題還很多,下面是我們的一些改革設(shè)想:
(1)目前各種C語言考試系統(tǒng)很多,在現(xiàn)有的技術(shù)條件下,完全依賴考試系統(tǒng)也有若干問題:
第一,對(duì)整個(gè)學(xué)校,則需要考試系統(tǒng)所使用的試題庫要非常龐大,并要時(shí)常更新。否則幾輪下來,容易造成試題泄露,對(duì)學(xué)生有失公平,這要求我們投入人力和財(cái)力去維護(hù)試題庫的建設(shè)。下一步我們要重新設(shè)計(jì)組卷策略,在考試之前從題庫中隨機(jī)抽取不同場次的試題,同一場次的學(xué)生采用同一份試卷,這能保證同一班級(jí)考試的公平性,減少試題庫的更新維護(hù)成本。
第二,由于技術(shù)條件的限制對(duì)考試的題型做了嚴(yán)格的限制,多為選擇、判斷等容易評(píng)分的題型,這樣不少教學(xué)內(nèi)容無法在試題中反映出來。下一步,我們要增加人工評(píng)卷的模塊,對(duì)填空題與編程題采用人工的方法評(píng)卷。為了保證評(píng)分的公平性,對(duì)學(xué)生的個(gè)人信息要進(jìn)行加密處理。
(2)計(jì)算機(jī)教育面臨的一個(gè)長期的普遍問題是大學(xué)計(jì)算機(jī)基礎(chǔ)教育的起點(diǎn)在不斷提高,針對(duì)少數(shù)有能力的學(xué)生開設(shè)提高班,以此發(fā)揮學(xué)生的聰明才智并帶動(dòng)整個(gè)班級(jí)的學(xué)習(xí)氛圍,我們?cè)O(shè)想在大學(xué)二、三年級(jí)積極開展課外科技活動(dòng),組織學(xué)生參加程序設(shè)計(jì)大獎(jiǎng)賽。通過各種大賽提高學(xué)生分析問題和解決問題的能力,培養(yǎng)學(xué)生的創(chuàng)新能力和協(xié)作能力。
3 結(jié)束語
實(shí)踐證明,通過這些方面的改革,教學(xué)效果比過去有了明顯改善,學(xué)生學(xué)習(xí)的主動(dòng)性和興趣有了很大的提高,我多次獲得學(xué)院教學(xué)優(yōu)秀質(zhì)量獎(jiǎng)。
應(yīng)用型本科人才的培養(yǎng)在我校還是一個(gè)新的人才培養(yǎng)層次,有許多的問題需要我們?nèi)パ芯?,本文只是針?duì)應(yīng)用型“C語言程序設(shè)計(jì)”教學(xué)做了某些改革與探討。
【參考文獻(xiàn)】
[1]李勝旭,張翠萍.高等院校計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)課教學(xué)探討與研究[J].電腦知識(shí)與技術(shù),2010,7.
[2]揭安全,王嵐,等.師范院?!案呒?jí)語言程序設(shè)計(jì)”教學(xué)方法探索與實(shí)踐[M]//大學(xué)計(jì)算機(jī)課程報(bào)告論壇論文集,2008:118-122.
[3]張學(xué)林,等.項(xiàng)目教學(xué)法在“C語言課程設(shè)計(jì)”中的研究與應(yīng)用[J].實(shí)驗(yàn)室技術(shù)與管理,2011.
[4]鄧維斌,周玉敏.提高C語言實(shí)驗(yàn)教學(xué)效果的探索[J].實(shí)驗(yàn)室研究與探索,2006,3.
[責(zé)任編輯:湯靜]