時(shí)間:2022-09-24 18:09:39
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過(guò)程,我們?yōu)槟扑]十篇c語(yǔ)言程序設(shè)計(jì)實(shí)例范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來(lái)更深刻的閱讀感受。
1.鐘表入題
首先,拿出準(zhǔn)備好的鐘表,(這時(shí)學(xué)生們都很好奇,原本趴桌子的同學(xué)都起來(lái)了,都問(wèn)我這堂課要做什么)我不直接告訴他們要學(xué)什么,那樣他們馬上就會(huì)失去興趣,我沒(méi)有正面回答,而是讓學(xué)生們猜兩個(gè)問(wèn)題:
(1)老師用鐘表做什么?
(2)教師通過(guò)擰弦撥動(dòng)鐘表的指針,請(qǐng)同學(xué)觀察,猜老師接下來(lái)要做什么?
開(kāi)門(mén)見(jiàn)山的點(diǎn)出本課內(nèi)容,學(xué)生往往不能全部集中精神,同時(shí)還會(huì)有部分同學(xué)覺(jué)得不感興趣,直接就放棄學(xué)習(xí)。正處青春期的他們,富有強(qiáng)烈的好奇心,非常關(guān)注除課本以外的東西,我用一個(gè)鐘表來(lái)調(diào)學(xué)生胃口,通過(guò)設(shè)疑的方式,來(lái)引著學(xué)生集中精神,從而引出課題。
接下來(lái),老師繼續(xù)出示問(wèn)題:
觀察表盤(pán)上有幾個(gè)變化的量?他們之間是不是孤立無(wú)任何關(guān)聯(lián)的?如果不是,那存在什么樣的關(guān)系?其中哪個(gè)轉(zhuǎn)的最快?哪個(gè)最慢?用學(xué)過(guò)的單層for循環(huán)能否表示出三個(gè)指針的轉(zhuǎn)動(dòng)關(guān)系呢?學(xué)生能夠通過(guò)觀察依次回答出結(jié)果,使復(fù)雜課題變得簡(jiǎn)單易懂,拉近了理論與實(shí)踐的距離,學(xué)生順暢入題。
為了讓學(xué)生,能夠清楚的知道本課的地位及為什么要學(xué)習(xí)本課,本課學(xué)了能夠做什么,我設(shè)計(jì)了思維導(dǎo)圖。學(xué)生通過(guò)觀察,了解到原來(lái)多重for循環(huán)能夠解決這么多好玩的問(wèn)題,于是從內(nèi)心里認(rèn)識(shí)到多層for循環(huán)用途很大,從而將剛才被激發(fā)起來(lái)的興趣進(jìn)一步強(qiáng)化,為下一步的探究打下了情感基礎(chǔ)。
2.共同探究
教師要求學(xué)生根據(jù)鐘表的特點(diǎn),列出三層for循環(huán)條件,結(jié)合前幾節(jié)的程序知識(shí),以小組為單位,合作探究出多重for循環(huán)的格式及執(zhí)行過(guò)程。因?yàn)榈谝粋€(gè)環(huán)節(jié),老師給出的問(wèn)題比較細(xì)化,加之學(xué)生有一定的自學(xué)基礎(chǔ),學(xué)生可以衍生出格式及推出執(zhí)行過(guò)程。為了激勵(lì)學(xué)生,老師深入小組中,給每個(gè)學(xué)生評(píng)價(jià)打分,并在小組匯報(bào)結(jié)果時(shí),根據(jù)出現(xiàn)的問(wèn)題多少進(jìn)行評(píng)價(jià)打分。
3.任務(wù)拓展,聯(lián)系實(shí)際(能學(xué),會(huì)學(xué))
老師現(xiàn)在手里有100元錢(qián),想給你們反餐費(fèi),我需要破成一元,五元,和十元的,班級(jí)共30名同學(xué),要求破成30份,方案應(yīng)該有很多,現(xiàn)在咱們想辦法把這些方案都列出來(lái),然后根據(jù)咱班人數(shù),選一個(gè)最佳的破開(kāi),請(qǐng)大家?guī)臀蚁胂耄桨付加心男┠兀?/p>
設(shè)計(jì)意圖:百錢(qián)買(mǎi)百雞,是多重循環(huán)的典型事例,我根據(jù)我班每個(gè)月都要反餐費(fèi)這樣一個(gè)活動(dòng),將百雞換成了百錢(qián)破零錢(qián),學(xué)生們就會(huì)更積極的參與,想幫老師解決問(wèn)題。接下來(lái),學(xué)生不一定能馬上想到運(yùn)用本課的多重for循環(huán)解決,而是習(xí)慣性的在紙上列出數(shù)學(xué)式,想通過(guò)數(shù)學(xué)方法解,可是會(huì)發(fā)現(xiàn),用數(shù)學(xué)解決多解的題目很困難,于是,我提示大家,嘗試運(yùn)用本課的多重for循環(huán)來(lái)解。學(xué)生恍然大悟,結(jié)合鐘表案例的分析,通過(guò)改變變量條件,循環(huán)語(yǔ)句很輕松的列出了程序,然后將程序錄入計(jì)算機(jī)調(diào)試,電腦瞬間輸出所有方案,學(xué)生們非常興奮。真實(shí)地掌握了運(yùn)用電腦,程序來(lái)解決實(shí)際生活問(wèn)題的方法,體驗(yàn)了程序給生活帶來(lái)的便捷,從而成功的突破了本課的難點(diǎn)。
4.小結(jié)評(píng)價(jià),激勵(lì)學(xué)生(助學(xué))
中圖分類(lèi)號(hào):G642.0文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)06-1351-03
Case Discussion Method in《C# Language Program Design》Curriculum Practice
LI Hai-bo,MA Ming
(Nanyang Institute of Technolgy, Nanyang 473004, China)
Abstract:According to C # language and the problems in the traditional teaching model, presents a case discussion teaching method. Class? room teaching will be dispersed sample combination, form a case module is introduced to the teaching practice, using case teaching method to arouse the students’ interest in learning, training students thinking of object-oriented programming and the ability to analyze and solve problems, in order to make students to learn in order to practise purpose.
Key words:C# language; classroom teaching; examples of teaching; teaching mode; case discussion
隨著互聯(lián)網(wǎng)技術(shù)發(fā)展越來(lái)越快,人們對(duì)網(wǎng)絡(luò)應(yīng)用程序的需求也越來(lái)越多,而C#(C Sharp)語(yǔ)言自從2000年問(wèn)世以來(lái),由于其安全、跨平臺(tái)、面向?qū)ο?、開(kāi)發(fā)速度快等特點(diǎn),很快得到用戶(hù)和企業(yè)的青睞,成為當(dāng)今最流行的網(wǎng)絡(luò)編程語(yǔ)言[1]。為順應(yīng)社會(huì)需求,各高校計(jì)算機(jī)相關(guān)專(zhuān)業(yè)都將C#語(yǔ)言課程納入到教學(xué)計(jì)劃作為高年級(jí)的就業(yè)方向課程。但是在教學(xué)過(guò)程中很多學(xué)生反應(yīng)C#語(yǔ)言涉及的概念比較抽象難懂,規(guī)則和類(lèi)庫(kù)繁多;知識(shí)點(diǎn)零散,容易出錯(cuò);學(xué)生在遇到實(shí)際編程問(wèn)題時(shí)感覺(jué)“無(wú)從下手”。作者從實(shí)際教學(xué)環(huán)境入手,對(duì)《C#語(yǔ)言程序設(shè)計(jì)》課程從教學(xué)方法、教學(xué)手段等方面進(jìn)行了一些改革,并取得了較好的教學(xué)效果。具體改進(jìn)措施和方法如下。
1案例討論教學(xué)法對(duì)傳統(tǒng)教學(xué)方法的改進(jìn)
1.1傳統(tǒng)教學(xué)方法存在的問(wèn)題
目前,《C#語(yǔ)言程序設(shè)計(jì)》課程是我院07級(jí)、08級(jí)軟件工程專(zhuān)業(yè)的就業(yè)方向拓展課程。該課程是C++語(yǔ)言的后續(xù)編程課程,目的是讓學(xué)生在建立面向?qū)ο缶幊痰幕A(chǔ)能力上熟練掌握C#基本語(yǔ)法規(guī)則,并提高實(shí)際編程能力。以往的教學(xué)方法都是先從基礎(chǔ)概念入手,再就C#語(yǔ)言所帶的基本控件進(jìn)行講解,其中著重講解C#如何操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。每節(jié)課先以理論概念結(jié)合一些簡(jiǎn)單示例程序講解,最后安排學(xué)生上機(jī)操作加以深刻理解。
在以往的教學(xué)模式中,教師按照教科書(shū)編排順序進(jìn)行教學(xué),講授大量編程知識(shí),但學(xué)生遇到實(shí)際項(xiàng)目編程應(yīng)用并不理想。平時(shí)的知識(shí)點(diǎn)和課堂示例過(guò)于分散,學(xué)生無(wú)法體會(huì)到各個(gè)知識(shí)點(diǎn)之間的聯(lián)系;學(xué)生在學(xué)習(xí)過(guò)程當(dāng)中感覺(jué)平時(shí)的知識(shí)點(diǎn)很抽象,課堂上掌握的只是些表面知識(shí),并不能正確的理解和加以應(yīng)用;即使課堂上聽(tīng)明白了,時(shí)間一長(zhǎng)有些知識(shí)點(diǎn)又會(huì)遺忘。經(jīng)常在實(shí)際的編程項(xiàng)目中感覺(jué)“無(wú)從下手”。久而久之導(dǎo)致學(xué)生逐漸失去了編程的興趣和信心,覺(jué)得沒(méi)有實(shí)際用途,并產(chǎn)生消極情緒[2]。
綜上所述,產(chǎn)生問(wèn)題的原因在于傳統(tǒng)教學(xué)方法只是讓學(xué)生掌握了基本編程知識(shí),知識(shí)點(diǎn)之間的結(jié)合應(yīng)用不夠靈活,在實(shí)際項(xiàng)目應(yīng)用當(dāng)中想不到應(yīng)該使用哪個(gè)知識(shí)點(diǎn)來(lái)解決問(wèn)題,因此,為了改善這種現(xiàn)狀,有必要對(duì)C#課程的教學(xué)模式進(jìn)行改革和探討。1.2案例討論式教學(xué)方法
C#語(yǔ)言的課程內(nèi)容既豐富又零散,要求學(xué)生既要理解一些抽象的概念、方法又要具備一定的編程、動(dòng)手能力。這就要求教師在現(xiàn)有課堂教學(xué)時(shí)間當(dāng)中充分調(diào)動(dòng)學(xué)生的積極性、主動(dòng)性和參與性,采用先進(jìn)的教學(xué)模式和手段,師生共同配合較好地完成教學(xué)任務(wù)。
在傳統(tǒng)教學(xué)中,當(dāng)理論知識(shí)講述之后,針對(duì)該知識(shí)點(diǎn)做出示例,可以使學(xué)生加深對(duì)該知識(shí)點(diǎn)的理解,掌握知識(shí)的使用方法。但 是平時(shí)的課堂示例只是單獨(dú)的幾個(gè)知識(shí)點(diǎn),如何把相關(guān)的知識(shí)點(diǎn)聯(lián)系起來(lái)完成某個(gè)功能模塊,這是我們考慮的問(wèn)題。
案例討論式教學(xué)法是運(yùn)用實(shí)際案例進(jìn)行交互式教學(xué)的方法。在教學(xué)過(guò)程中,要求以實(shí)際的案例模塊作為被解析對(duì)象,在教師指導(dǎo)下按照軟件工程的思想將某一工程項(xiàng)目分析解剖,以其中某一模塊為實(shí)現(xiàn)目標(biāo),學(xué)生共同參與案例的分析、討論,尋找實(shí)現(xiàn)途徑。通過(guò)這種教學(xué)活動(dòng)達(dá)到學(xué)習(xí)知識(shí)、分析問(wèn)題、解決問(wèn)題的目的。
通常情況一個(gè)案例應(yīng)用到多個(gè)知識(shí)點(diǎn)。比如一個(gè)登陸模塊的實(shí)現(xiàn),它需要熟練掌握C#的基本語(yǔ)法、IF…ElSE語(yǔ)句、數(shù)據(jù)庫(kù)操作等知識(shí)點(diǎn)并結(jié)合使用。所以在本課程教學(xué)中,筆者經(jīng)常在講授一部分知識(shí)點(diǎn)后,把各個(gè)知識(shí)點(diǎn)串聯(lián)起來(lái)放在實(shí)際的案例模塊當(dāng)中。先組織學(xué)生參與討論,分析出該案例中某個(gè)模塊需要哪些知識(shí)點(diǎn)來(lái)完成。學(xué)生通過(guò)文字描述整個(gè)模塊的實(shí)現(xiàn)過(guò)程,最后指出知識(shí)點(diǎn)在整個(gè)案例實(shí)現(xiàn)過(guò)程中的具體環(huán)節(jié),確定軟件處理流程,上機(jī)編碼。這種方法可以使學(xué)生遇到問(wèn)題后回顧以前所學(xué)知識(shí),并把知識(shí)跟實(shí)際案例相對(duì)應(yīng),從而解決實(shí)際問(wèn)題。
經(jīng)過(guò)一段時(shí)間的零散知識(shí)講解之后,應(yīng)該把幾個(gè)零散的知識(shí)點(diǎn)貫穿起來(lái),結(jié)合實(shí)際的項(xiàng)目需求,組織學(xué)生分析討論。這樣不但學(xué)到了知識(shí),還可提高對(duì)案例的分析、解決問(wèn)題的能力,能夠達(dá)到學(xué)習(xí)與實(shí)踐的統(tǒng)一。因此,案例討論式的教學(xué)模式是一種幫助學(xué)生快速適應(yīng)未來(lái)職業(yè)需求的學(xué)習(xí)形式。
3 C#課程案例討論式教學(xué)實(shí)踐與教學(xué)質(zhì)量評(píng)價(jià)方法
3.1“案例討論”教學(xué)模式的實(shí)踐
在“案例討論”的C#課程教學(xué)過(guò)程中,根據(jù)該教學(xué)程序?qū)⒄麄€(gè)教學(xué)活動(dòng)分為以下幾個(gè)階段:
(1)案例需求設(shè)計(jì)
案例應(yīng)該是一項(xiàng)具有實(shí)際意義的工程任務(wù),也是某一具體項(xiàng)目中的一個(gè)模塊,它的選取是學(xué)習(xí)的關(guān)鍵[3]。首先,案例設(shè)計(jì)要目標(biāo)明確,既要滿(mǎn)足教學(xué)要求,又能有一定應(yīng)用價(jià)值;其次,案例設(shè)計(jì)要符合學(xué)生的特點(diǎn),案例中應(yīng)該包含之前所講授的部分知識(shí)點(diǎn),難度要適中,在平時(shí)的教學(xué)情況下學(xué)生可以分組進(jìn)行討論、明確的目標(biāo)后安排學(xué)生的學(xué)習(xí),在這一過(guò)程中要對(duì)本班學(xué)生的具體情況進(jìn)行分析,定義基本任務(wù),還可以有延伸問(wèn)題;最后,案例設(shè)計(jì)要符合面向?qū)ο蠛兔嫦蚬こ痰囊?,讓學(xué)生按照軟件工程的設(shè)計(jì)要求制定該案例的分析方案。案例整體結(jié)束后,師生可以共同評(píng)價(jià)其工作成果。
教師在設(shè)計(jì)案例時(shí),設(shè)計(jì)一個(gè)案例,讓每個(gè)小組討論同一個(gè)案例,這樣可以在后期進(jìn)行組與組之間的對(duì)比,激勵(lì)組內(nèi)成員的團(tuán)結(jié)性。
(2)案例討論前的必要準(zhǔn)備
在布置任務(wù)之前,學(xué)生已經(jīng)學(xué)習(xí)了該案例模塊的基本理論知識(shí)。但在實(shí)際教學(xué)過(guò)程中,每個(gè)知識(shí)點(diǎn)有可能都是獨(dú)立的,缺乏知識(shí)點(diǎn)之間的聯(lián)合應(yīng)用,學(xué)生很難對(duì)一些理論知識(shí)系統(tǒng)理解,一旦馬上進(jìn)行項(xiàng)目應(yīng)用往往難以適應(yīng),感覺(jué)“無(wú)法下手”等情況,因此教師在進(jìn)行布置任務(wù)前有針對(duì)性的以前知識(shí)點(diǎn)進(jìn)行必要的復(fù)習(xí),同時(shí)也能對(duì)學(xué)生的學(xué)習(xí)情況,相關(guān)知識(shí)的掌握情況有一個(gè)了解。這樣就為教學(xué)的開(kāi)展做了必要的鋪墊。
(3)組織學(xué)生討論
案例討論是以學(xué)生為主體,但一個(gè)案例模塊如果讓一個(gè)學(xué)生去思考,可能會(huì)在思路上受到限制、難度有時(shí)過(guò)大。如果讓所有人都參與,則合作、分工難度過(guò)大,因此,學(xué)生的組織應(yīng)以小組為單位,可自由組合也可由教師編排,每組5人左右,指定其中一人為小組組長(zhǎng),最后討論出整個(gè)流程,并對(duì)整個(gè)流程分析出需要哪些知識(shí)來(lái)實(shí)現(xiàn)。這樣既能鍛煉學(xué)生的分析問(wèn)題、解決問(wèn)題能力,也能鍛煉學(xué)生在項(xiàng)目開(kāi)發(fā)過(guò)程中的溝通協(xié)調(diào)能力。
(4)采用“討論式”教學(xué)方法,監(jiān)控整個(gè)討論流程
學(xué)生以小組進(jìn)行討論時(shí),教師可以指定整個(gè)討論流程,規(guī)定時(shí)間限制,一般討論30-40分鐘時(shí)間,先讓每個(gè)小組針對(duì)該模塊確定工作流程思路,寫(xiě)出文字描述的軟件工作流程,再次針對(duì)每個(gè)小組自己設(shè)計(jì)的軟件工作流,指出流程中需要的知識(shí)點(diǎn)名稱(chēng),最終提交整個(gè)流程文檔。由小組成員提出自己的見(jiàn)解和工作計(jì)劃并在這一過(guò)程中相互啟發(fā)、相互學(xué)習(xí),經(jīng)過(guò)討論最終確定出較好的解決方案。在這個(gè)過(guò)程中教師應(yīng)采用“討論式”的教學(xué)方法,組織同學(xué)們一起對(duì)方案和遇到的問(wèn)題進(jìn)行討論,充分發(fā)揮學(xué)生的主動(dòng)性和創(chuàng)造性。
(5)教師講評(píng)
教師將每個(gè)小組的最終文檔匯總,如果思路流程正確優(yōu)秀的小組可以得到好評(píng)及表?yè)P(yáng),對(duì)思路有問(wèn)題的小組教師可以適當(dāng)?shù)闹赋銎鋯?wèn)題的所在,加以糾正。最后教師就該案例,說(shuō)出正確的軟件工作流程,在該流程中所應(yīng)用到以前學(xué)習(xí)過(guò)的知識(shí)點(diǎn),讓整個(gè)學(xué)生明確思路和解決方案,布置模塊編碼任務(wù),從而為功能編碼的實(shí)現(xiàn)打下基礎(chǔ)。
(6)實(shí)際編碼環(huán)節(jié),提高上機(jī)質(zhì)量
在傳統(tǒng)的教學(xué)模式中,上機(jī)實(shí)驗(yàn)由教師根據(jù)教材內(nèi)容進(jìn)行編排,主要以書(shū)上的例題、課后習(xí)題為主,學(xué)生只是將程序敲入計(jì)算機(jī),運(yùn)行一下即完成了上機(jī)任務(wù)。雖然程序運(yùn)行結(jié)果正確,但對(duì)程序本身的設(shè)計(jì)理解并不透徹,只是掌握了該知識(shí)點(diǎn)的使用方法,無(wú)法理解在實(shí)際的案例工作中應(yīng)該如何應(yīng)用。
在“案例討論”的教學(xué)模式驅(qū)動(dòng)下,以案例討論為主線(xiàn),明確遇到問(wèn)題首先應(yīng)該考慮使用以前的哪些知識(shí)點(diǎn)解決,待思路和知識(shí)點(diǎn)完全確定后,再進(jìn)行編碼,這樣可以有效的解決學(xué)生遇到實(shí)際項(xiàng)目時(shí)難以下手,也不知從何下手的問(wèn)題。最終以討論文檔和案例程序?yàn)殡A段考核和評(píng)價(jià)的依據(jù),充分利用實(shí)驗(yàn)環(huán)境和條件,加強(qiáng)上機(jī)實(shí)驗(yàn)的應(yīng)用效果,保證教學(xué)質(zhì)量。
3.2教學(xué)質(zhì)量評(píng)價(jià)方法
C#語(yǔ)言是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,針對(duì)C#語(yǔ)言及“案例討論”中理論學(xué)習(xí)與實(shí)踐并重的特點(diǎn),在考核過(guò)程中采用新的教學(xué)質(zhì)量評(píng)價(jià)方法,即將考試機(jī)制與案例討論實(shí)現(xiàn)有效結(jié)合,綜合評(píng)定教學(xué)效果。
以往的考核形式多為期末筆試+平時(shí)成績(jī)(出勤、作業(yè)等),這種評(píng)價(jià)方式雖然能反映學(xué)生的學(xué)習(xí)態(tài)度及對(duì)一些基本概念、知識(shí)、理論的掌握情況,但無(wú)法全面反映出學(xué)生對(duì)知識(shí)點(diǎn)實(shí)際的理解和靈活應(yīng)用,因此將考核形式變?yōu)槠谀┕P試+案例討論報(bào)告+案例程序,其中期末筆試主要檢驗(yàn)學(xué)生對(duì)基本概念、語(yǔ)法、結(jié)構(gòu)的學(xué)習(xí)和掌握情況,測(cè)試的是學(xué)生的基礎(chǔ)理論部分,這部分成績(jī)可占整個(gè)評(píng)價(jià)結(jié)果的50%;而案例討論也作為一項(xiàng)考核內(nèi)容,重點(diǎn)考核的是學(xué)生的分析問(wèn)題解決問(wèn)題的能力,最終以平時(shí)的討論報(bào)告為主要依據(jù),因此其成績(jī)將占整個(gè)評(píng)價(jià)結(jié)果的25%;最后一個(gè)部分為項(xiàng)目源代碼,主要考察學(xué)生的實(shí)際編碼能力,按小組分工給出具體的分?jǐn)?shù),占整個(gè)評(píng)價(jià)的25%。
采用案例討論為核心的教學(xué)模式,將原有的以“課堂、教師、書(shū)本”為中心的架構(gòu)變?yōu)橐浴罢n堂示例、案例分析、實(shí)際應(yīng)用”為中心的架構(gòu),將所學(xué)知識(shí)與實(shí)際應(yīng)用緊密結(jié)合,學(xué)生既學(xué)到了知識(shí)又得到應(yīng)用鍛煉;教師既完成了教學(xué)又培養(yǎng)了學(xué)生的能力,達(dá)到了“教書(shū)、育人”的雙重目的[4]。
4結(jié)束語(yǔ)
案例討論教學(xué)對(duì)于語(yǔ)言程序設(shè)計(jì)課程來(lái)講是一種比較有效的教學(xué)模式,它突破了傳統(tǒng)教學(xué)模式,讓學(xué)生學(xué)習(xí)一段基礎(chǔ)理論知識(shí)之后,通過(guò)對(duì)實(shí)際案例問(wèn)題的分析來(lái)理解掌握知識(shí)點(diǎn),這樣不僅能快速地掌握所學(xué)知識(shí),也為代碼的實(shí)現(xiàn)打下了堅(jiān)實(shí)的基礎(chǔ),而且能夠培養(yǎng)學(xué)生的社會(huì)責(zé)任感和團(tuán)隊(duì)合作能力,提高學(xué)生的具體分析能力和解決實(shí)際問(wèn)題的能力,培養(yǎng)出的學(xué)生能很快適應(yīng)市場(chǎng)需求,有助于解決學(xué)生的就業(yè)問(wèn)題。因此,案例討論教學(xué)方法不僅適合計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言教學(xué)的需要,也是應(yīng)用型軟件開(kāi)發(fā)設(shè)計(jì)人才培養(yǎng)的一個(gè)有效途徑。
參考文獻(xiàn):
[1]吳曉艷. C#語(yǔ)言程序設(shè)計(jì)精品課程建設(shè)的探索[J].科技信息,2010(25):48-50.
[2]蔣衛(wèi)祥,朱利華.項(xiàng)目教學(xué)法在JavaWeb程序設(shè)計(jì)教學(xué)中的應(yīng)用[J].科技信息(學(xué)術(shù)版),2006(9):410.
[3]李桂瓊.程序設(shè)計(jì)課程的教學(xué)改革初探[J].計(jì)算機(jī)時(shí)代,2007(8):73-74.
[4]呂曉華,李素朵,張燕.任務(wù)驅(qū)動(dòng)教學(xué)模式在java課程教學(xué)中探索與實(shí)踐[J].北京:硅谷,2008(9):180.
[5]張悅.項(xiàng)目驅(qū)動(dòng)教學(xué)法在C語(yǔ)言課程中的應(yīng)用[J].職業(yè)教育研究,2007.
一、C 語(yǔ)言程序設(shè)計(jì)的教學(xué)現(xiàn)狀
C 語(yǔ)言程序設(shè)計(jì)集抽象性、邏輯性、實(shí)踐性于一身,在教學(xué)過(guò)程中解決好這三性就能提高學(xué)生的學(xué)習(xí)興趣,減輕學(xué)習(xí)壓力。傳統(tǒng)的C 語(yǔ)言程序設(shè)計(jì)教學(xué)中,主要以教師講授為主,且在教學(xué)過(guò)程中采用的大多是純數(shù)學(xué)的抽象案例,這對(duì)于高校學(xué)生,尤其是獨(dú)立學(xué)院學(xué)生而言,既抽象又枯燥無(wú)味,因而難以理解和接受,起來(lái)自然沒(méi)有動(dòng)力,導(dǎo)致課堂教學(xué)質(zhì)量不高,學(xué)生學(xué)習(xí)興趣不濃,學(xué)習(xí)效果不佳,不能真正理解程序設(shè)計(jì)的精髓,進(jìn)而普遍反映C 語(yǔ)言難學(xué)。如何借鑒先進(jìn)的教育理論和技術(shù),轉(zhuǎn)變教師角色,真正確立學(xué)生學(xué)習(xí)的主體地位,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,成為教學(xué)改革當(dāng)務(wù)之急。
二、獨(dú)立學(xué)院學(xué)生素質(zhì)特征
獨(dú)立學(xué)院是高等教育發(fā)展過(guò)程中出現(xiàn)的新生事物,它有自己獨(dú)有的特征,應(yīng)用型人才的培養(yǎng)是其目標(biāo),學(xué)生的素質(zhì)與普通高校學(xué)生的素質(zhì)特點(diǎn)又有一定差異性,若按照傳統(tǒng)的教學(xué)模式,大多數(shù)學(xué)生的課堂聽(tīng)課情況不容樂(lè)觀,注意力難以保持持續(xù)集中,如何保持較高的課堂效率也就成了每位教師所面臨的一道難題。針對(duì)這一問(wèn)題,筆者一方面通過(guò)走訪(fǎng)有經(jīng)驗(yàn)的老教師,了解獨(dú)立學(xué)院學(xué)生的學(xué)習(xí)習(xí)慣,另一方面通過(guò)對(duì)學(xué)生進(jìn)行問(wèn)卷調(diào)查及當(dāng)面交流,對(duì)獨(dú)立學(xué)院學(xué)生素質(zhì)情況有了較為充分的了解與認(rèn)識(shí)。
針對(duì)獨(dú)立學(xué)院大多數(shù)學(xué)生一方面學(xué)習(xí)自覺(jué)性不高、依賴(lài)性強(qiáng),往往滿(mǎn)足于課堂上所學(xué),缺乏刻苦學(xué)習(xí)精神,但另一方面對(duì)自己感興趣的課程又十分喜愛(ài),筆者根據(jù)其活潑、好爭(zhēng)辯的特點(diǎn),有的放矢的進(jìn)行了教學(xué)改革,使課堂效率和學(xué)生的學(xué)習(xí)積極性都有了顯著提高。
三、教學(xué)改革的重點(diǎn)
根據(jù)獨(dú)立學(xué)院培養(yǎng)應(yīng)用型人才的目標(biāo),以及獨(dú)立學(xué)院學(xué)生的素質(zhì)特點(diǎn),結(jié)合自己多年的教學(xué)經(jīng)驗(yàn),通過(guò)對(duì)傳統(tǒng)的“ C語(yǔ)言程序設(shè)計(jì)”教學(xué)模式進(jìn)行改革與實(shí)踐,變老師主導(dǎo)型教學(xué)為與學(xué)生交互型學(xué)習(xí)的教學(xué)過(guò)程,在教學(xué)過(guò)程中不斷探索新的教學(xué)方法和嘗試先進(jìn)的教學(xué)手段,首先,對(duì)教學(xué)用例進(jìn)行了調(diào)整,用生活中常見(jiàn)的案例原型進(jìn)行講授。其次,充分利用現(xiàn)代教育技術(shù)資源,將實(shí)驗(yàn)環(huán)境搭建于課堂之上。從備課——上課——上機(jī)實(shí)踐,進(jìn)行了一系列的改革探索,很好地解決了 C語(yǔ)言程序設(shè)計(jì)教學(xué)中出現(xiàn)的種種問(wèn)題。結(jié)果表明:教學(xué)改革后,課堂氣氛活躍了,開(kāi)小差的同學(xué)少了,聽(tīng)課效率上去了,學(xué)生學(xué)習(xí)主動(dòng)性也加強(qiáng)了,課外主動(dòng)學(xué)習(xí)的興趣濃了。進(jìn)而,程序設(shè)計(jì)能力得到了普遍提高。
1.培養(yǎng)學(xué)生學(xué)習(xí)興趣
程序設(shè)計(jì)是一種能力的培養(yǎng)過(guò)程,這就要求在教學(xué)時(shí)注重對(duì)學(xué)生的編程能力培養(yǎng)。而能力的培養(yǎng)主要是靠強(qiáng)化、靠反復(fù)上機(jī)實(shí)踐去體會(huì)和理解的,是通過(guò)理論結(jié)合實(shí)踐,不斷啟發(fā)、引導(dǎo),采用先進(jìn)的教學(xué)方法和與時(shí)俱進(jìn)的教學(xué)體系實(shí)現(xiàn)的。在教學(xué)之初,首先給出 C語(yǔ)言的用途以及學(xué)習(xí)本課程的目的,指出當(dāng)前流行的 Unix操作系統(tǒng)等基本上是采用 C語(yǔ)言實(shí)現(xiàn)的,許多網(wǎng)絡(luò)及單片機(jī)、嵌入式系統(tǒng)以及各軟件開(kāi)發(fā)平臺(tái)與 C語(yǔ)言的相關(guān)性,強(qiáng)調(diào)了 C語(yǔ)言的基礎(chǔ)性和實(shí)用性。通過(guò)介紹,學(xué)生明白了該課程的重要性,對(duì)學(xué)習(xí)該課程產(chǎn)生了動(dòng)力,增強(qiáng)了學(xué)習(xí)興趣。在課程教學(xué)計(jì)劃的制訂中,我們注重加強(qiáng)實(shí)踐與訓(xùn)練環(huán)節(jié)比重,按 1∶1的理論課堂教學(xué)與上機(jī)實(shí)踐時(shí)間進(jìn)行配比,還強(qiáng)調(diào)了理論教學(xué)內(nèi)的實(shí)踐環(huán)節(jié),使得實(shí)踐課時(shí)數(shù)實(shí)際上超過(guò)理論課時(shí)數(shù)。教學(xué)強(qiáng)調(diào)一個(gè)“練”字,學(xué)生通過(guò)反復(fù)實(shí)踐,增強(qiáng)了學(xué)習(xí)信心,課外也自覺(jué)學(xué)習(xí)了。
在教學(xué)中,注重把教學(xué)重心放在解決問(wèn)題的算法分析上,培養(yǎng)學(xué)生分析與解決問(wèn)題的能力。我們知道,算法的實(shí)現(xiàn)是圍繞內(nèi)存展開(kāi)的,所以,在教學(xué)改革過(guò)程中,通過(guò)強(qiáng)調(diào)馮·諾依曼結(jié)構(gòu)下的計(jì)算機(jī)運(yùn)行機(jī)制,強(qiáng)調(diào)了內(nèi)存的重要性,在教學(xué)過(guò)程中始終貫穿內(nèi)存分配及緩存機(jī)制的實(shí)質(zhì)。這樣,在講授數(shù)組與指針、結(jié)構(gòu)體變量的內(nèi)存分配時(shí),學(xué)生理解就相對(duì)容易多了。在案例的選擇上,我們通常采用生活中的趣味性、實(shí)用型的諸如水果拼盤(pán)問(wèn)題、超市 POS、學(xué)生成績(jī)管理系統(tǒng)等相關(guān)模塊進(jìn)行教學(xué)。例:引入循環(huán)時(shí),通過(guò)用一個(gè)簡(jiǎn)單的例子:一個(gè)同學(xué)準(zhǔn)備圍繞運(yùn)動(dòng)場(chǎng)跑十圈,請(qǐng)另一個(gè)同學(xué)幫忙計(jì)數(shù),要求每跑一圈告訴所跑圈數(shù)信息。用通俗易懂,既能吸引學(xué)生,又易形成互動(dòng),活躍課堂,提高課堂效率的案例始終貫穿整個(gè)教學(xué)過(guò)程,注重從直觀到抽象,從特殊到一般漸進(jìn)地學(xué)習(xí),既避免了許多教材主要是數(shù)學(xué)化抽象案例的弊端,也避免了學(xué)生在學(xué)習(xí)語(yǔ)法知識(shí)的過(guò)程中既要用心掌握好相關(guān)語(yǔ)法知識(shí),又要分散精力去思考數(shù)學(xué)實(shí)現(xiàn),從而減輕了學(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ì)的目的。
關(guān)鍵詞:C 語(yǔ)言;循環(huán)控制;趣味實(shí)例
中圖分類(lèi)號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:A
1引言
“C語(yǔ)言程序設(shè)計(jì)”作為一門(mén)實(shí)用的編程語(yǔ)言,功能強(qiáng)大,編程風(fēng)格自由靈活。在近幾年的教學(xué)中發(fā)現(xiàn),學(xué)生普遍認(rèn)為這門(mén)課難度大,不容易學(xué)。如何通過(guò)教學(xué)方法的改變,讓學(xué)生在學(xué)習(xí)上有主動(dòng)性,激發(fā)學(xué)生學(xué)習(xí)該課程的興趣,是講授這門(mén)課程的教師應(yīng)該考慮的問(wèn)題。從目前大多數(shù)高校的教學(xué)情況看,現(xiàn)在一般多已采用多媒體教學(xué)。這種教學(xué)方式比起以前在黑板上講授是有了一定的進(jìn)步,但在目前的課堂教學(xué)中,還是以教師講授為主,沒(méi)有充分發(fā)揮學(xué)生學(xué)習(xí)的主動(dòng)性,啟發(fā)式教學(xué)沒(méi)有得到充分運(yùn)用。
2采用趣味實(shí)例教學(xué)
在“C語(yǔ)言程序設(shè)計(jì)”課程講授過(guò)程中,要特別注意培養(yǎng)學(xué)生的學(xué)習(xí)興趣。初接觸計(jì)算機(jī)時(shí),很多學(xué)生感到新奇、好玩,這不能說(shuō)是興趣,只是一種好奇。隨著課程的不斷深入,大量的語(yǔ)法規(guī)則很容易使一部分甚至是大部分學(xué)生產(chǎn)生枯燥無(wú)味的感覺(jué)。為了把學(xué)生的好奇轉(zhuǎn)化為學(xué)習(xí)興趣,采用趣味程序的例子激發(fā)學(xué)生的積極性,從而在實(shí)例中掌握C語(yǔ)言的語(yǔ)法和程序設(shè)計(jì)方法。這種方法的優(yōu)點(diǎn)是可以根據(jù)教學(xué)內(nèi)容,選擇合適的例子,使學(xué)生掌握所學(xué)內(nèi)容,趣味程序例子的選擇至關(guān)重要。在每個(gè)實(shí)例的基礎(chǔ)上,對(duì)學(xué)生多提問(wèn),并進(jìn)行擴(kuò)展,以復(fù)習(xí)前面學(xué)過(guò)的知識(shí),也可以鞏固當(dāng)前學(xué)習(xí)的內(nèi)容。通過(guò)啟發(fā)式教學(xué),讓學(xué)生做更多的練習(xí),加深對(duì)語(yǔ)法和程序設(shè)計(jì)方法的理解,掌握課程的精髓。為了實(shí)現(xiàn)課程的教學(xué)目標(biāo),培養(yǎng)學(xué)生的問(wèn)題求解、編程和探索創(chuàng)新能力,在教學(xué)中必須強(qiáng)調(diào)實(shí)踐訓(xùn)練,使學(xué)生在大量的練習(xí)中掌握知識(shí),培養(yǎng)能力。下面介紹在講授循環(huán)控制這一章中采用趣味實(shí)例教學(xué)的實(shí)踐。
3實(shí)例分析
在循環(huán)控制這章中主要介紹while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句這三種循環(huán)語(yǔ)句。
3.1while語(yǔ)句
在介紹用while語(yǔ)句實(shí)現(xiàn)循環(huán)的一般形式和執(zhí)行流程后,讓學(xué)生思考用while語(yǔ)句編寫(xiě)程序?qū)崿F(xiàn)猜數(shù)字游戲。先給出程序的運(yùn)行結(jié)果,如圖1所示。只要輸入的數(shù)字和給定的數(shù)字不相同,就再重新輸入,這種操作可通過(guò)while語(yǔ)句來(lái)實(shí)現(xiàn)。循環(huán)程序不停地讀、檢查和處理數(shù)據(jù),直到遇到事前指定的表示結(jié)束的值,循環(huán)才終止。在判斷不相等的同時(shí),提示用戶(hù)輸入數(shù)字與給定值是偏大還是偏小,這個(gè)功能可運(yùn)用條件運(yùn)算符來(lái)實(shí)現(xiàn)。這樣也對(duì)C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符有更深的認(rèn)識(shí)。在此基礎(chǔ)上,可讓學(xué)生思考再增加程序的一些功能,如統(tǒng)計(jì)猜數(shù)字的次數(shù)、密碼驗(yàn)證等,使程序更充實(shí)。具體程序如下:
void main()
{int a,k=9;
printf(" ------猜數(shù)字游戲------\n");
printf("請(qǐng)輸入0到10之間任意一個(gè)整數(shù):\n");
scanf("%d",&a);
while(a!=k)
{(a>k)?printf("高了\n"):printf("低了\n");
printf("再試一次!\n");
scanf("%d",&a);
}
printf("恭喜你,猜對(duì)了!\n");
}
3.2do-while語(yǔ)句
do-while語(yǔ)句的執(zhí)行流程是先執(zhí)行循環(huán)體語(yǔ)句一次,再判別表達(dá)式的值,若為真則繼續(xù)循環(huán),否則終止循環(huán)。do-while語(yǔ)句與while語(yǔ)句不同的地方在于do-while是先執(zhí)行循環(huán)體,后判斷表達(dá)式的“直到型”循環(huán),而while語(yǔ)句是先判斷表達(dá)式后執(zhí)行循環(huán)體的“當(dāng)型”循環(huán)。因此,do-while語(yǔ)句中的循環(huán)體至少被執(zhí)行一次,對(duì)于循環(huán)體內(nèi)容執(zhí)行的次數(shù)由用戶(hù)來(lái)決定時(shí)就可采用此循環(huán)語(yǔ)句。語(yǔ)句如下:
do
{ //其它循環(huán)語(yǔ)句
printf("繼續(xù)嗎(Y/N or y/n)?");
scanf(" %c", &reply);
}while (reply == 'Y' || reply == 'y');
例如設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,可以實(shí)現(xiàn)加減乘除運(yùn)算,由用戶(hù)輸入表達(dá)式,程序給出正確結(jié)果。采用上面介紹的語(yǔ)句即可實(shí)現(xiàn)多次運(yùn)算,運(yùn)算的次數(shù)由用戶(hù)決定。采用多分支選擇語(yǔ)句(switch-case)實(shí)現(xiàn)選擇哪種運(yùn)算。程序運(yùn)行結(jié)果如圖2所示。
3.3for語(yǔ)句
for語(yǔ)句使用最為靈活,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況。for語(yǔ)句的循環(huán)應(yīng)用除了計(jì)數(shù)外,還可用空語(yǔ)句作為循環(huán)語(yǔ)句中的循環(huán)體,循環(huán)中不實(shí)現(xiàn)任何功能,只是使CPU等待一定的時(shí)間后再繼續(xù)執(zhí)行程序,即循環(huán)體作為延時(shí)循環(huán)。模擬延時(shí)一秒的函數(shù)如下:
void Delay(void) //函數(shù)功能:模擬延遲1秒的時(shí)間
{ long t;
for (t=0; t
{
//循環(huán)體為空語(yǔ)句的循環(huán),起延時(shí)作用
}
}
循環(huán)變量t的上限由CPU時(shí)鐘和需延時(shí)的時(shí)間共同決定。首先定義三個(gè)全局變量,分別表示小時(shí)、分鐘和秒,若秒值為60,表示已過(guò)一分鐘,則分值加1;若分值為60,表示已過(guò)一小時(shí),則小時(shí)值加1;若小時(shí)值為24,則重新從0開(kāi)始計(jì)時(shí)。秒值每次增1,調(diào)用一次延時(shí)函數(shù)。程序運(yùn)行結(jié)果如圖3所示。對(duì)該程序進(jìn)一步擴(kuò)展,要求學(xué)生在上機(jī)實(shí)踐課中編寫(xiě)模擬電子時(shí)鐘的程序。學(xué)生在上機(jī)編程中增加了輸入當(dāng)前時(shí)刻的部分,并能使程序正常運(yùn)行,極大地激發(fā)了學(xué)生學(xué)習(xí)C語(yǔ)言的興趣。
3.4綜合實(shí)例
在介紹完循環(huán)控制章節(jié)的各種循環(huán)語(yǔ)句后,給學(xué)生布置一道設(shè)計(jì)自動(dòng)柜員機(jī)的問(wèn)題,在上機(jī)實(shí)踐中由學(xué)生分組設(shè)計(jì)完成。先給出程序的執(zhí)行界面,如圖4所示。要求學(xué)生利用循環(huán)嵌套和switch語(yǔ)句等對(duì)自動(dòng)柜員機(jī)功能菜單的各種選擇進(jìn)行判斷和相應(yīng)處理。在主程序外加上各個(gè)子程序,成為一個(gè)完整的程序。
4結(jié)束語(yǔ)
“C語(yǔ)言程序設(shè)計(jì)”課程所進(jìn)行的趣味實(shí)例教學(xué)實(shí)踐有助于學(xué)生更好地掌握課程的核心內(nèi)容,激發(fā)了學(xué)生繼續(xù)探索和學(xué)習(xí)的興趣,培養(yǎng)了學(xué)生的創(chuàng)新能力,發(fā)掘了學(xué)生的創(chuàng)新潛能。教學(xué)必然是一個(gè)需要持續(xù)改進(jìn)和完善的過(guò)程,我們將不斷總結(jié)課程教學(xué)的經(jīng)驗(yàn),使C語(yǔ)言教學(xué)邁向新的臺(tái)階。
參考文獻(xiàn):
[1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2007.
[2] 蘇小紅. C語(yǔ)言程序設(shè)計(jì)教程[M]. 北京:電子工業(yè)出版社,2002.
[3] 江靜嵐. C語(yǔ)言教學(xué)方法探析[J].計(jì)算機(jī)教育,2007(21).
Teaching Method of Applying Interesting Examples on C Language Programming
FAN Hong, WU Yi-zhi
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-2851(2011)09-0-01
一、引言
隨著我國(guó)的高等教育的普及化,民辦教育已成為我國(guó)教育體系的重要組成部分。C語(yǔ)言程序設(shè)計(jì)課程是我院部分專(zhuān)業(yè)學(xué)生必修的基礎(chǔ)課程。該課程的教學(xué)目的是向?qū)W生介紹程序設(shè)計(jì)的基本知識(shí),培養(yǎng)學(xué)生解決和處理實(shí)際問(wèn)題的思維方法與基本能力,使學(xué)生具有初步的程序設(shè)計(jì)和程序調(diào)試的能力,為今后使用C語(yǔ)言解決實(shí)際問(wèn)題打下良好的基礎(chǔ)。為此,筆者在從事民辦學(xué)院C語(yǔ)言程序設(shè)計(jì)課程教學(xué)的過(guò)程中,針對(duì)我院學(xué)生特點(diǎn),對(duì)教學(xué)方法和實(shí)踐教學(xué)環(huán)節(jié)的教學(xué)改革做了一些探索。
二、課程教學(xué)面臨的問(wèn)題
目前,在C語(yǔ)言教學(xué)中存在著以下幾方面的問(wèn)題:
(一)獨(dú)立學(xué)院在校學(xué)生的基礎(chǔ)比較薄弱。
(二)C語(yǔ)言牽涉到的概念復(fù)雜,規(guī)則繁多,使用靈活,使學(xué)生在學(xué)習(xí)時(shí)感到厭倦。
(三)缺乏較好的教學(xué)方法
傳統(tǒng)的教學(xué)方法已經(jīng)不能適應(yīng)獨(dú)立學(xué)院教育的特點(diǎn),采取何種適合獨(dú)立學(xué)院學(xué)生的教學(xué)方法,是教學(xué)改革的一個(gè)重點(diǎn)。
因此,面對(duì)新的教學(xué)對(duì)象,如何豐富教學(xué)方法、改革教學(xué)模式、加強(qiáng)對(duì)教學(xué)過(guò)程的管理、保障教學(xué)任務(wù)的順利完成,是我們必需認(rèn)真思考和解決的問(wèn)題。
三、課程教學(xué)改革的實(shí)踐與探索
(一)對(duì)比式教學(xué)的應(yīng)用
對(duì)同一問(wèn)題,引導(dǎo)學(xué)生從不同的角度去思考,找出多種方法來(lái)解決。比如,在解決1+2+3+….+100的和的問(wèn)題時(shí),可以采用for循環(huán),或while循環(huán),也可以采用do…while循環(huán)。這種對(duì)同一問(wèn)題尋找不同解決方法實(shí)現(xiàn)的教學(xué)方式,有效地開(kāi)闊了學(xué)生的思路,同時(shí)通過(guò)對(duì)不同循環(huán)的比較,能夠找到這三者之間的聯(lián)系與區(qū)別,加深學(xué)生對(duì)循環(huán)的理解和掌握。
(二)溫故而知新
為了使學(xué)生能舉一反三、觸類(lèi)旁通,每次教學(xué)結(jié)束時(shí)及時(shí)布置相關(guān)的課后練習(xí),使學(xué)生在課后進(jìn)一步復(fù)習(xí)鞏固,同時(shí)在下一次課講課之前,將上節(jié)課的重點(diǎn)以習(xí)題的形式讓學(xué)生當(dāng)堂完成,并且當(dāng)堂給予訂正與講解,對(duì)完成好的同學(xué)給予適當(dāng)?shù)莫?jiǎng)勵(lì),激發(fā)學(xué)生的興趣。為學(xué)習(xí)以后的知識(shí)奠定堅(jiān)實(shí)的基礎(chǔ)。
(三)注重情感教育
教師無(wú)論在課堂上還是在課下都應(yīng)該關(guān)心同學(xué),了解他們的思想動(dòng)態(tài),及時(shí)與他們交流,解決他們各方面的困難。使學(xué)生從心理上能夠喜歡老師,達(dá)到愛(ài)屋及烏的效果。
(四)加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié)
1、啟發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生的學(xué)習(xí)由被動(dòng)變?yōu)橹鲃?dòng)。定期組織涉及到大量的典型應(yīng)用的計(jì)算機(jī)程序設(shè)計(jì)競(jìng)賽,激發(fā)學(xué)生的學(xué)習(xí)興趣,鼓勵(lì)學(xué)生參與項(xiàng)目,使學(xué)生學(xué)以致用。
2、加大實(shí)驗(yàn)教學(xué)力度,真正培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力。對(duì)實(shí)驗(yàn)要有老師演示,學(xué)生模仿,到最后的逐漸放手,讓學(xué)生自己來(lái)實(shí)現(xiàn)源程序編寫(xiě)、調(diào)試和運(yùn)行。以鍛煉學(xué)生的動(dòng)手能力、創(chuàng)新能力和表達(dá)能力。
(五)充分應(yīng)用現(xiàn)代教育技術(shù)
教學(xué)中采用電子演示文稿、大屏幕多媒體聯(lián)機(jī)演示、網(wǎng)絡(luò)教學(xué)等各種先進(jìn)的教學(xué)手段,使課堂教學(xué)生動(dòng)活潑,既提高教學(xué)效果,又提高教學(xué)效率。
1、充分利用多媒體技術(shù)將課程的重點(diǎn)難點(diǎn)以及抽象的內(nèi)容通過(guò)動(dòng)畫(huà)的形式直觀、形象、生動(dòng)地展示出來(lái),使學(xué)生更易于理解和掌握;2、利用網(wǎng)絡(luò)將課堂教學(xué)延伸到課外,學(xué)生根據(jù)需要通過(guò)網(wǎng)絡(luò)學(xué)習(xí)有關(guān)的內(nèi)容。教師的課件和教學(xué)用資料上傳到教學(xué)資源下載中心,方便學(xué)生課外學(xué)習(xí)和復(fù)習(xí);3、建立QQ群,同學(xué)們可以在群里相互解決疑難,也可以通過(guò)在線(xiàn)老師解決,這樣可以使遺留問(wèn)題及時(shí)得到解決。
四、結(jié)束語(yǔ)
通過(guò)C語(yǔ)言程序設(shè)計(jì)課程存在的問(wèn)題的思考和分析,針對(duì)現(xiàn)狀,結(jié)合獨(dú)立院校實(shí)際,結(jié)合教學(xué)和個(gè)人體會(huì),提出一些改革的措施和想法,探索出一套適合于獨(dú)立學(xué)院學(xué)生的教學(xué)方法。
參考文獻(xiàn):
[1]張?zhí)鞂?王攀峰.討論新型教與學(xué)關(guān)系的建構(gòu)[J].高教研究,2001.
[2]沈軍.C程序設(shè)計(jì)語(yǔ)言課程的教學(xué)新思路[J].電氣電子教學(xué)學(xué)報(bào),2000,(4):28-29.
中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)16-3921-02
CBE是英文Competency Based Education的縮寫(xiě),其含義是以能力培養(yǎng)為中心的教學(xué)體系。它是近年來(lái)北美較為流行的一種教學(xué)模式。這種教學(xué)體系強(qiáng)調(diào)的是職業(yè)或崗位所需能力的確定、學(xué)習(xí)和運(yùn)用。在北美,CBE從產(chǎn)生、發(fā)展、應(yīng)用至今只不過(guò)二十幾年,但其影響是十分深遠(yuǎn)的,是高等教育的一次技術(shù)革命;雖然我們已深深認(rèn)識(shí)到了高等教育應(yīng)以能力培養(yǎng)為中心,并做了不少?lài)L試,但始終沒(méi)有脫離“灌輸式”的教學(xué)模式。
數(shù)據(jù)庫(kù)程序設(shè)計(jì)語(yǔ)言Visual FoxPro(簡(jiǎn)稱(chēng)VFP)是支持可視化開(kāi)發(fā)和操作的、面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),它易學(xué)、易用、易維護(hù),而且開(kāi)發(fā)效率高、投資小,因此,在中小型數(shù)據(jù)庫(kù)市場(chǎng)得到充分應(yīng)用。目前VFP已成為各高校非計(jì)算機(jī)專(zhuān)業(yè)普遍開(kāi)設(shè)的計(jì)算機(jī)程序設(shè)計(jì)課程。
VFP課程的常規(guī)教學(xué)方式對(duì)學(xué)生學(xué)會(huì)并應(yīng)用好這門(mén)語(yǔ)言來(lái)說(shuō)有一定的難度,主要表現(xiàn)在:教學(xué)內(nèi)容沒(méi)有創(chuàng)新性,沒(méi)有突出實(shí)踐能力的培養(yǎng);學(xué)生學(xué)習(xí)目的不明確,學(xué)習(xí)積極性不高,上課的注意力不夠集中;教學(xué)內(nèi)容抽象,組織教學(xué)的形式單一,缺乏啟發(fā)式教學(xué),課堂教學(xué)與上機(jī)脫鉤,與工程實(shí)踐脫節(jié),學(xué)生的應(yīng)用能力不強(qiáng)。
對(duì)獨(dú)立學(xué)院來(lái)說(shuō),主要是培養(yǎng)應(yīng)用型本科人才,發(fā)展優(yōu)質(zhì)的大眾化高等教育是我們努力的目標(biāo)。因此,可以借鑒CBE教學(xué)模式,改革和完善數(shù)據(jù)庫(kù)課程的教學(xué)內(nèi)容和教學(xué)方式,以適應(yīng)培養(yǎng)高素質(zhì)應(yīng)用型人才的要求。
1 VFP教學(xué)中存在的問(wèn)題
根據(jù)多年的VFP課程教學(xué)經(jīng)驗(yàn),對(duì)該課程進(jìn)行了分析和思考,VFP程序教學(xué)存在以下問(wèn)題:
1.1教學(xué)內(nèi)容枯燥
教學(xué)內(nèi)容以理論知識(shí)為主,與創(chuàng)新性和實(shí)踐能力的培養(yǎng)要求脫節(jié)。學(xué)生的編程思維不符合軟件開(kāi)發(fā)的規(guī)范要求,實(shí)踐應(yīng)用能力得不到提高。學(xué)生學(xué)習(xí)目的不明確,學(xué)習(xí)積極性不高。學(xué)生不知道為什么要學(xué)習(xí)VFP程序設(shè)計(jì)語(yǔ)言,學(xué)完后不知道怎么應(yīng)用于項(xiàng)目開(kāi)發(fā)。選擇課程的教學(xué)內(nèi)容要合理,重點(diǎn)、難點(diǎn)突出,與工程實(shí)踐緊密結(jié)合。
1.2組織教學(xué)形式單一
傳統(tǒng)VFP教學(xué)過(guò)程都是先上完理論課,再去上機(jī)練習(xí)課堂中的內(nèi)容。不少學(xué)生上機(jī)很盲目,不知道怎么去聯(lián)系課堂知識(shí)完成實(shí)驗(yàn)。VFP實(shí)驗(yàn)指導(dǎo)書(shū)沒(méi)有依據(jù)學(xué)生所學(xué)內(nèi)容進(jìn)行編制,使學(xué)生很難按照規(guī)范完成綜合程序的設(shè)計(jì)與開(kāi)發(fā)。
1.3灌輸式的教學(xué)方式
傳統(tǒng)教學(xué)以教師為中心,以課堂為主體,上機(jī)只是作為驗(yàn)證理論的手段,不能使學(xué)生系統(tǒng)、全面地認(rèn)識(shí)地掌握知識(shí),不能激發(fā)學(xué)生的學(xué)習(xí)興趣。因此,要變被動(dòng)為主動(dòng),變"你要學(xué)"為"我要學(xué)",就應(yīng)以學(xué)生為主體,以能力培養(yǎng)為中心來(lái)組織教學(xué),使每一堂課都變成"我想學(xué)什么"和"我要如何學(xué)",充分調(diào)動(dòng)學(xué)生的能動(dòng)性。這樣教師的作用不是向?qū)W生灌輸知識(shí),而是幫助和推動(dòng)學(xué)生去建構(gòu)自己的知識(shí)。這不僅是一個(gè)方法問(wèn)題,而且需要從根本上轉(zhuǎn)變觀念的問(wèn)題。教師只作入門(mén)性的、重點(diǎn)的、帶有啟發(fā)性的講授,而不糾纏在每一細(xì)節(jié),指導(dǎo)學(xué)生通過(guò)自己看書(shū)和上機(jī)掌握所學(xué)的內(nèi)容。
2教學(xué)改革措施
根據(jù)獨(dú)立學(xué)院非計(jì)算機(jī)專(zhuān)業(yè)VFP課程教學(xué)的現(xiàn)狀和學(xué)生層次的特點(diǎn)(平均入學(xué)成績(jī)較低,學(xué)習(xí)基礎(chǔ)較薄弱,整體層次參差不齊),提出以培養(yǎng)應(yīng)用型人才為目標(biāo),遵循教學(xué)規(guī)律,創(chuàng)新教學(xué)內(nèi)容和教學(xué)形式,包容學(xué)生的不同特點(diǎn),大幅提高教學(xué)效果。
2.1教學(xué)內(nèi)容的創(chuàng)新
根據(jù)我院VFP課程教學(xué)大綱的要求,將創(chuàng)新性和實(shí)踐能力的培養(yǎng)提到突出的位置。一是把課程教學(xué)與工程實(shí)踐相結(jié)合,教學(xué)中引入項(xiàng)目實(shí)例,引導(dǎo)學(xué)生動(dòng)手開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng);二是將整個(gè)VFP課程教學(xué)與課程設(shè)計(jì),畢業(yè)設(shè)計(jì),計(jì)算機(jī)等級(jí)考試,電腦大賽等有機(jī)結(jié)合到一起,通過(guò)綜合訓(xùn)練,使學(xué)生較好的掌握應(yīng)用技能,增強(qiáng)就業(yè)的競(jìng)爭(zhēng)力;我們把實(shí)驗(yàn)內(nèi)容分為基本階段和提高階段。基本階段是貫穿在課程始終的上機(jī)實(shí)踐環(huán)節(jié),要求學(xué)生掌握VFP上機(jī)指導(dǎo)書(shū)上的各項(xiàng)基本內(nèi)容,必須在實(shí)驗(yàn)課上保質(zhì)保量地完成(如數(shù)據(jù)庫(kù)的基本操作、查詢(xún)與視圖、基本表單、控件、類(lèi)和菜單的設(shè)計(jì)等內(nèi)容)。都要求學(xué)生自己設(shè)計(jì),自己調(diào)試,教師只是起引導(dǎo)、輔導(dǎo)的作用;提高階段在整個(gè)課程結(jié)束后的時(shí)間內(nèi)完成,實(shí)踐的難度有所增加,設(shè)計(jì)范圍廣,也更接近實(shí)用。例如設(shè)計(jì)學(xué)生學(xué)籍管理、圖書(shū)信息管理系統(tǒng)等項(xiàng)目,要求至少5個(gè)數(shù)據(jù)表以上并互相關(guān)聯(lián),至少有4個(gè)以上表單項(xiàng),能產(chǎn)生兩個(gè)以上報(bào)表,有友好的人機(jī)交互界面、用戶(hù)登錄和訪(fǎng)問(wèn)權(quán)限、系統(tǒng)設(shè)置功能等等。這些項(xiàng)目可以簡(jiǎn)單地設(shè)計(jì),也可以復(fù)雜地設(shè)計(jì),有能力的學(xué)生可以拓寬思路,充分發(fā)揮。為了幫助學(xué)生順利完成項(xiàng)目設(shè)計(jì),教師可提供一個(gè)樣例,但僅供參考,同時(shí)鼓勵(lì)學(xué)生通過(guò)分析案例充分發(fā)揮自己的創(chuàng)造力,設(shè)計(jì)完成具有個(gè)性化的作品,使所學(xué)知識(shí)掌握得更加系統(tǒng)、牢固。通過(guò)這兩個(gè)階段的充分鍛煉,使學(xué)生對(duì)VFP建立起一個(gè)完整的面向?qū)ο蟪绦蛟O(shè)計(jì)的概念。三是利用網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)中豐富的教學(xué)資源開(kāi)拓學(xué)生的視野,活躍學(xué)生的思維,也使他們的學(xué)習(xí)不受教學(xué)課時(shí)的限制,提高學(xué)習(xí)的主動(dòng)性和自主性。
2.2組織教學(xué)的形式創(chuàng)新
可以進(jìn)行試點(diǎn)教學(xué),將課程中重要的實(shí)踐環(huán)節(jié)的教學(xué)場(chǎng)地改在專(zhuān)業(yè)機(jī)房,把多媒體教學(xué)和上機(jī)實(shí)踐相結(jié)合,課堂中學(xué)生可以跟著老師邊聽(tīng)邊練,以練促學(xué),真正達(dá)到學(xué)以致用的目的。課后學(xué)生通過(guò)網(wǎng)上作業(yè)系統(tǒng)和練習(xí)系統(tǒng)進(jìn)行練習(xí),教師隨時(shí)可以通過(guò)考試系統(tǒng)考查學(xué)生的學(xué)習(xí)情況。CBE理論以企業(yè)所需要的崗位職業(yè)能力作為教學(xué)活動(dòng)的中心目標(biāo),教師向?qū)W生提供職業(yè)崗位所需的知識(shí)、技能和態(tài)度,強(qiáng)調(diào)的是學(xué)生“能干什么”。根據(jù)職業(yè)崗位的需要確定學(xué)習(xí)內(nèi)容,以勝任職業(yè)崗位的能力作為評(píng)價(jià)學(xué)生學(xué)習(xí)效果的標(biāo)準(zhǔn),所學(xué)科目和內(nèi)容體現(xiàn)“夠用”為度的原則。將課程教學(xué)與工程實(shí)踐相結(jié)合,讓學(xué)生獲得模擬項(xiàng)目開(kāi)發(fā)的經(jīng)驗(yàn)(比如制作學(xué)生學(xué)籍管理系統(tǒng),圖書(shū)館管理系統(tǒng)等),將課堂教學(xué)、上機(jī)實(shí)踐,課程設(shè)計(jì),畢業(yè)設(shè)計(jì)等教學(xué)環(huán)節(jié)緊密結(jié)合,實(shí)現(xiàn)真正的項(xiàng)目驅(qū)動(dòng)下的實(shí)例教學(xué)。通過(guò)這些方式有效提高獨(dú)立學(xué)院學(xué)生實(shí)踐應(yīng)用能力,在個(gè)性培養(yǎng)和特色發(fā)揮的前提下,達(dá)到增重就業(yè)砝碼和增加就業(yè)機(jī)會(huì)的目的。
2.3教學(xué)方式的創(chuàng)新
改變過(guò)去單一灌輸式的方式,以分專(zhuān)題課堂討論、創(chuàng)新性設(shè)計(jì)競(jìng)賽等方式激發(fā)學(xué)生學(xué)習(xí)興趣,調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,注重引導(dǎo)學(xué)生提高解決問(wèn)題的能力,把“以教師為主體”的教學(xué)方式轉(zhuǎn)移到“以學(xué)生為主體”的方式。VFP課程理論知識(shí)多、內(nèi)容難度大,在教學(xué)中應(yīng)因材施教,課程中涉及了大量的實(shí)例講解,教師應(yīng)給學(xué)生理清思路,講明來(lái)龍去脈,并善于用聯(lián)想,用循循善誘的方法使學(xué)生掌握的知識(shí)“活”起來(lái)。為了引起學(xué)生的興趣,首先把已往基于VFP完成的項(xiàng)目及學(xué)生做的優(yōu)秀程序給學(xué)生演示,同學(xué)們感到編寫(xiě)程序并非是想象的那么難,要做一個(gè)程序員也并不難。在課堂中運(yùn)用啟發(fā)式的教學(xué)方法,始終讓學(xué)生帶著問(wèn)題思考,激發(fā)學(xué)習(xí)興趣,發(fā)揮學(xué)習(xí)的主動(dòng)性和創(chuàng)造性。課堂教學(xué)中,不但要積極與學(xué)生交流,引導(dǎo)學(xué)生積極探索,而且還讓學(xué)生上講臺(tái)親自動(dòng)手操作,將學(xué)生聽(tīng)講的課堂變?yōu)楣膭?lì)學(xué)生主動(dòng)參與、幫助學(xué)生表達(dá)自己觀點(diǎn)、解釋所學(xué)的知識(shí)的場(chǎng)所。這樣可大大提高學(xué)生的學(xué)習(xí)主動(dòng)性和積極性以及學(xué)生的實(shí)際動(dòng)手能力。
CBE理論將職業(yè)工作態(tài)度融合在日常課堂教學(xué)過(guò)程中,強(qiáng)調(diào)學(xué)生的自學(xué)能力、與他人合作學(xué)習(xí)的能力。對(duì)傳統(tǒng)的實(shí)踐教育過(guò)程作進(jìn)一步的探索、改革和創(chuàng)新,在獨(dú)立學(xué)院開(kāi)展以應(yīng)用型人才培養(yǎng)為目的的特色教育課程改革。對(duì)VFP課程來(lái)說(shuō),以實(shí)踐操作為載體,把教學(xué)場(chǎng)地改在專(zhuān)業(yè)機(jī)房,使多媒體教學(xué)和上機(jī)實(shí)踐充分結(jié)合,為學(xué)生提供盡可能多的實(shí)踐動(dòng)手平臺(tái)。這樣一方面可以充分調(diào)動(dòng)廣大學(xué)生的積極性和主觀能動(dòng)性,促使其對(duì)專(zhuān)業(yè)知識(shí)產(chǎn)生更加濃厚的興趣;另一方面,通過(guò)對(duì)實(shí)踐過(guò)程的檢驗(yàn),可以促使學(xué)生在動(dòng)手能力方面有一個(gè)質(zhì)的提高,充分發(fā)揮理論與實(shí)踐相結(jié)合的應(yīng)用型教學(xué)優(yōu)勢(shì),對(duì)于提高教學(xué)質(zhì)量,無(wú)疑具有積極的意義。
3結(jié)束語(yǔ)
以能力導(dǎo)向(CBE)為基礎(chǔ)教育的人才培養(yǎng)模式,通過(guò)教學(xué)內(nèi)容、組織教學(xué)的形式和教學(xué)方式的創(chuàng)新,將VFP課程教學(xué)與實(shí)踐環(huán)節(jié)緊密結(jié)合,激發(fā)學(xué)生學(xué)習(xí)的積極性與主動(dòng)性,有效提高學(xué)生的VFP應(yīng)用能力、計(jì)算機(jī)等級(jí)考試通過(guò)率和就業(yè)競(jìng)爭(zhēng)力。
CBE理論認(rèn)為能力是不能通過(guò)灌輸而使學(xué)生掌握的,必須通過(guò)學(xué)生積極而主動(dòng)的活動(dòng)來(lái)培養(yǎng),因此它強(qiáng)調(diào)學(xué)生的主體性和學(xué)生學(xué)習(xí)的主動(dòng)性。打破傳統(tǒng)的先理論教學(xué)后上機(jī)實(shí)踐的教學(xué)方式,將課堂教學(xué)與上機(jī)實(shí)踐結(jié)合。將基礎(chǔ)知識(shí)與項(xiàng)目的案例結(jié)合起來(lái)。將課程教學(xué)與畢業(yè)設(shè)計(jì),計(jì)算機(jī)等級(jí)考試等教學(xué)活動(dòng)結(jié)合起來(lái)。將課堂教學(xué)與網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)結(jié)合起來(lái)。
學(xué)生的VFP應(yīng)用實(shí)踐能力得到了鍛煉,編程水平比傳統(tǒng)教學(xué)方式大有提高,學(xué)習(xí)的積極性和主動(dòng)性大為增強(qiáng),相應(yīng)的計(jì)算機(jī)等級(jí)考試通過(guò)率提高。通過(guò)調(diào)研,制定教學(xué)改革方案;重新制定教學(xué)大綱,組織實(shí)施,對(duì)非計(jì)算機(jī)專(zhuān)業(yè)的VFP程序設(shè)計(jì)教學(xué)有一定的指導(dǎo)意義。既可以應(yīng)用于本課程教學(xué),又可向其他信息類(lèi)課程教學(xué)成果推廣,促進(jìn)獨(dú)立學(xué)院應(yīng)用型人才的培養(yǎng)目標(biāo)的實(shí)現(xiàn)。
中圖分類(lèi)號(hào):G642.4 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)10-0066-02
一、引言
隨著微電子技術(shù)的不斷發(fā)展和廣泛應(yīng)用,計(jì)算機(jī)編程語(yǔ)言也越來(lái)越豐富,因而學(xué)生也被要求具有應(yīng)對(duì)各種語(yǔ)言的學(xué)習(xí)應(yīng)用能力,在掌握好C語(yǔ)言后,對(duì)于其它語(yǔ)言的學(xué)習(xí)則游刃有余?;趩纹瑱C(jī)進(jìn)行應(yīng)用系統(tǒng)開(kāi)發(fā),C語(yǔ)言作為一種高級(jí)的編程語(yǔ)言,無(wú)論是現(xiàn)在進(jìn)行嵌入式系統(tǒng)開(kāi)發(fā)的相關(guān)企業(yè),還是當(dāng)前的全國(guó)電子設(shè)計(jì)大賽等學(xué)生競(jìng)賽中,都越來(lái)越受到大家的關(guān)注,并將其作為一個(gè)主要語(yǔ)言開(kāi)發(fā)工具。故本文提出的基于單片機(jī)的C語(yǔ)言教學(xué)方法,對(duì)結(jié)合單片機(jī)進(jìn)行符合實(shí)際工程需求的硬件和軟件開(kāi)發(fā)的愛(ài)好者或?qū)W習(xí)者有很重要的意義。
二、教學(xué)對(duì)象
本學(xué)期本人所教授的主要課程之一是《C語(yǔ)言程序設(shè)計(jì)》,所面向的教學(xué)對(duì)象是大一新生,大多數(shù)同學(xué)由于在高中階段很少接觸電腦,對(duì)于語(yǔ)言的學(xué)習(xí)更是陌生,而且數(shù)學(xué)功底比較薄弱,同時(shí),加上學(xué)習(xí)過(guò)程中大多數(shù)學(xué)生往往缺乏積極性和主動(dòng)性,遇到困難不能刻苦鉆研,往往選擇放棄。因此,針對(duì)學(xué)生的基礎(chǔ)情況,教學(xué)講授的進(jìn)度不能太快,教學(xué)的內(nèi)容不能講的太過(guò)深?yuàn)W,而且教學(xué)方法要靈活多變,結(jié)合實(shí)際事物進(jìn)行簡(jiǎn)單比喻來(lái)講解,只有這樣才能較為形象地教好C語(yǔ)言這門(mén)課。
三、C語(yǔ)言的應(yīng)用地位
C語(yǔ)言是一門(mén)使用最廣泛的程序開(kāi)發(fā)工具編程語(yǔ)言,是極具發(fā)展前景的計(jì)算機(jī)高級(jí)語(yǔ)言。其作為一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,具有相當(dāng)強(qiáng)的結(jié)構(gòu)性、可移植性和功能性。通過(guò)采用C語(yǔ)言進(jìn)行編程開(kāi)發(fā)可以使眾多開(kāi)發(fā)者專(zhuān)心研究所設(shè)計(jì)程序要實(shí)現(xiàn)的功能及相關(guān)實(shí)現(xiàn)算法,從而有效減少開(kāi)發(fā)和軟件調(diào)試的時(shí)間。C程序設(shè)計(jì)具有良好的程序結(jié)構(gòu),對(duì)于模塊化的程序設(shè)計(jì)非常適合,故通常會(huì)采用從上至下,追求逐步求精的結(jié)構(gòu)化程序設(shè)計(jì)方法,來(lái)將所要實(shí)現(xiàn)的功能模塊化,不同的功能通過(guò)不同的模塊去完成。這樣易于進(jìn)行調(diào)試工作和方便快捷地管理好大型項(xiàng)目,從而最大限度地減少重復(fù)勞動(dòng)。
四、單片機(jī)的應(yīng)用教學(xué)現(xiàn)狀
單片機(jī)的學(xué)習(xí)是我院電子類(lèi)專(zhuān)業(yè)需要掌握的一門(mén)實(shí)踐性非常強(qiáng)的專(zhuān)業(yè)課程,我院學(xué)生通過(guò)對(duì)其的實(shí)踐性學(xué)習(xí)后,能夠獨(dú)立參加全國(guó)電子設(shè)計(jì)大賽,并能較好地完成比賽項(xiàng)目。為使我院的單片機(jī)教學(xué)效果更好,學(xué)生對(duì)該門(mén)課程掌握的更加牢靠,故需要對(duì)單片機(jī)的教學(xué)進(jìn)行大膽改革,通過(guò)在C語(yǔ)言的課程教學(xué)上,結(jié)合單片機(jī)以及相關(guān)的硬件設(shè)計(jì)知識(shí)進(jìn)行講解。從我院電子專(zhuān)業(yè)開(kāi)設(shè)C程序設(shè)計(jì)課程以來(lái),通過(guò)學(xué)生所反映的情況是該門(mén)課程比較難學(xué)習(xí),而且不知道他們?cè)趯W(xué)完C語(yǔ)言后到底有什么用,能夠應(yīng)用到哪些地方,更不知道將自己的所學(xué)應(yīng)用于單片機(jī)的開(kāi)發(fā)中能不能實(shí)現(xiàn)目標(biāo)。故根據(jù)以往教師的教學(xué)經(jīng)驗(yàn),并結(jié)合學(xué)生反映的情況考慮,本人覺(jué)得有必要作出這樣的改進(jìn),在C語(yǔ)言的課程上,通過(guò)結(jié)合單片機(jī)及相關(guān)硬件設(shè)計(jì)知識(shí)來(lái)講解C語(yǔ)言,并從以下幾方面引起重視。
五、《C語(yǔ)言程序設(shè)計(jì)》的課堂教學(xué)
1.教學(xué)設(shè)計(jì)前的思考。《C語(yǔ)言程序設(shè)計(jì)》不僅是電子類(lèi)專(zhuān)業(yè)理工科學(xué)生的一門(mén)計(jì)算機(jī)公共必修課程,而且C語(yǔ)言也是作為計(jì)算機(jī)等級(jí)考試(二級(jí))的考試內(nèi)容之一。C語(yǔ)言對(duì)于大部分剛進(jìn)入大學(xué)的學(xué)生來(lái)說(shuō),也是一門(mén)比較難的計(jì)算機(jī)語(yǔ)言課程。要做好這門(mén)課程的教學(xué)設(shè)計(jì),首先要對(duì)學(xué)生的具體情況有一定程度的了解。該課程通常的教學(xué)法是語(yǔ)法格式的講解、語(yǔ)法要點(diǎn)的逐步講解和通過(guò)例題對(duì)語(yǔ)法的應(yīng)用講解。這種機(jī)械的教學(xué)灌輸思想枯燥無(wú)味,會(huì)使學(xué)生失去對(duì)該門(mén)課程的學(xué)習(xí)興趣,所以,本人認(rèn)為應(yīng)該先要求學(xué)生課前對(duì)本堂課所要講解的知識(shí)進(jìn)行預(yù)習(xí),并能識(shí)記有關(guān)知識(shí)點(diǎn),將不理解之處畫(huà)上記號(hào),待課堂老師講解時(shí)再認(rèn)真聽(tīng)并理解所教授內(nèi)容,這樣通過(guò)教師為主導(dǎo)、學(xué)生為主體的方式學(xué)習(xí),教師通過(guò)精講相關(guān)的硬件設(shè)計(jì)實(shí)例,通過(guò)硬件設(shè)計(jì)所要實(shí)現(xiàn)的功能引出相關(guān)軟件設(shè)計(jì),進(jìn)而將軟件設(shè)計(jì)時(shí)所涉及到的相關(guān)C知識(shí)進(jìn)行講解,然后通過(guò)另一簡(jiǎn)單例子讓學(xué)生自己去通過(guò)分析來(lái)鞏固知識(shí)點(diǎn)。
2.結(jié)合多媒體的講解,強(qiáng)化實(shí)驗(yàn)及實(shí)踐能力。因?yàn)榻處熓谡n的主要對(duì)象是大學(xué)一年級(jí)新生,所以需要教師采用通俗易懂,并結(jié)合簡(jiǎn)單例子進(jìn)行相關(guān)講解,這樣能夠使學(xué)生容易理解和消化。教學(xué)過(guò)程中,采用多媒體,通過(guò)編程演示加深學(xué)生對(duì)運(yùn)用的語(yǔ)法理解和深刻記憶。并把理論知識(shí)和硬軟件的設(shè)計(jì)內(nèi)容進(jìn)行整合講解,讓每個(gè)學(xué)生獨(dú)立完成實(shí)際應(yīng)用實(shí)驗(yàn)題。
3.減少和消除學(xué)生對(duì)程序設(shè)計(jì)語(yǔ)言的排斥和畏懼感。本人在教學(xué)中會(huì)引導(dǎo)學(xué)生多讀程序,在讀的過(guò)程中領(lǐng)悟和提高。對(duì)于軟件生存周期的設(shè)計(jì)、編碼、調(diào)試、運(yùn)行這幾個(gè)階段,本人可以通過(guò)C語(yǔ)言設(shè)計(jì)實(shí)例來(lái)體現(xiàn),以培養(yǎng)學(xué)生編程中的工程思想。講授課程時(shí)以提出問(wèn)題、解決問(wèn)題、深入拓展問(wèn)題、再解決問(wèn)題,對(duì)問(wèn)題進(jìn)行評(píng)價(jià)和優(yōu)化設(shè)計(jì)的螺旋式滾動(dòng)教學(xué)的方法,收到了不錯(cuò)的教學(xué)效果。
教學(xué)過(guò)程中,對(duì)于數(shù)組、指針等重要的知識(shí)點(diǎn),則需要制作更生動(dòng)的課件,提高學(xué)生的學(xué)習(xí)興趣和主動(dòng)性。例如,在講解數(shù)組的冒泡法排序時(shí),本人讓7位同學(xué)分別拿著一個(gè)數(shù)據(jù)牌站到講臺(tái),進(jìn)行現(xiàn)場(chǎng)模擬氣泡排序過(guò)程,通過(guò)第一次排序找到了該組中的最大值,經(jīng)過(guò)第二次排序找到了次大值,通過(guò)現(xiàn)場(chǎng)的模擬以及班上同學(xué)的參與,使課堂更加豐富有趣,并且所有同學(xué)都能掌握氣泡排序的過(guò)程。由于在教學(xué)中引入的現(xiàn)場(chǎng)模擬,使同學(xué)們更容易理解這些抽象的內(nèi)容,更重要的是碰到類(lèi)似的問(wèn)題他們會(huì)觸類(lèi)旁通,從而慢慢培養(yǎng)出編程的興趣。
六、實(shí)踐培訓(xùn)操作
上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的重要環(huán)節(jié),自己編寫(xiě)的程序上機(jī)調(diào)試運(yùn)行中,可能有很多想不到的錯(cuò)誤,通過(guò)改正這些錯(cuò)誤,可逐步提高自己對(duì)C語(yǔ)言語(yǔ)法的理解力。在課程的教學(xué)中,會(huì)進(jìn)行階段性的實(shí)訓(xùn)項(xiàng)目,將每一階段的學(xué)習(xí)進(jìn)行小結(jié)性的貫穿和提高。將相關(guān)的知識(shí)點(diǎn)融入到程序的編寫(xiě)中,從而鞏固知識(shí)點(diǎn)并將瑣碎的知識(shí)點(diǎn)做一個(gè)整合。暑假期間,對(duì)于電子愛(ài)好的學(xué)生進(jìn)行集中培訓(xùn),然后按照全國(guó)電子設(shè)計(jì)大賽的要求給大家?guī)讉€(gè)題目做,這幾個(gè)題目涵蓋非常廣的知識(shí)點(diǎn),大家如果想編出程序就必須要找到課本的相應(yīng)知識(shí)點(diǎn)進(jìn)行復(fù)習(xí),從而編出程序,學(xué)生普遍反映通過(guò)集中培訓(xùn)課的鍛煉,他們的編程能力有了很大的提高,很多以前不懂的內(nèi)容通過(guò)自己鉆研也懂了,通過(guò)自己的努力以后也體會(huì)到了編出程序的喜悅感,可以說(shuō)收到不錯(cuò)的成效。
七、結(jié)束語(yǔ)
C語(yǔ)言的教學(xué)重點(diǎn)是培養(yǎng)學(xué)生分析與解決問(wèn)題的能力,這種能力的培養(yǎng)與學(xué)生的刻苦學(xué)習(xí)分不開(kāi),因此,在本人的課堂中會(huì)一再?gòu)?qiáng)調(diào)C語(yǔ)言不是看會(huì)的,也不是聽(tīng)會(huì)的,而是親自動(dòng)手實(shí)踐練會(huì)的?;趩纹瑱C(jī)的C語(yǔ)言開(kāi)發(fā)和設(shè)計(jì),極大地促進(jìn)了單片機(jī)在生產(chǎn)、生活各個(gè)領(lǐng)域的應(yīng)用,提高了程序開(kāi)發(fā)效率。因而,C語(yǔ)言學(xué)習(xí)效果的好壞,對(duì)今后單片機(jī)課程的學(xué)習(xí)具有深遠(yuǎn)的影響。
參考文獻(xiàn):
[1]向艷.C程序設(shè)計(jì)課程教學(xué)體系和模式探討[J].計(jì)算機(jī)教育,2010,(3):112-114.
[2]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)教程(第三版)[M].北京:清華大學(xué)出版社,2013.
Key words C programming Language; teaching organization; teaching method
“C語(yǔ)言程序設(shè)計(jì)”課程是計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的一門(mén)程序設(shè)計(jì)入門(mén)課,是培養(yǎng)學(xué)生程序設(shè)計(jì)思想和能力的技術(shù)基礎(chǔ)課,同時(shí)也為后續(xù)的專(zhuān)業(yè)課程奠定了堅(jiān)實(shí)的基礎(chǔ)。其中專(zhuān)業(yè)核心課程“數(shù)據(jù)結(jié)構(gòu)”一般以“C語(yǔ)言程序設(shè)計(jì)”為輔助教學(xué)工具,學(xué)生在具備了“C語(yǔ)言程序設(shè)計(jì)”的基本程序設(shè)計(jì)思想和方法以及數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí)后,才能進(jìn)一步學(xué)習(xí)Visual Basic、Java等高級(jí)語(yǔ)言程序設(shè)計(jì)。因此,必須將“C語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)作為計(jì)算機(jī)專(zhuān)業(yè)培養(yǎng)的核心任務(wù)。
1 “C語(yǔ)言程序設(shè)計(jì)”教學(xué)現(xiàn)狀分析
目前,計(jì)算機(jī)專(zhuān)業(yè)“C語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)大多還停留在傳統(tǒng)的教學(xué)模式上,主要以教師的“教”為主,教師根據(jù)教學(xué)內(nèi)容的組織講授基本的概念、講解例題、布置作業(yè)給學(xué)生進(jìn)行上機(jī)練習(xí),學(xué)生在教師的指導(dǎo)下完成編程練習(xí)。在教學(xué)的過(guò)程中,學(xué)生完全處于被動(dòng)接受的狀態(tài),無(wú)法發(fā)揮學(xué)習(xí)的積極性和主動(dòng)性,以至于大部分學(xué)生普遍反映“C語(yǔ)言程序設(shè)計(jì)”枯燥、難學(xué),缺乏學(xué)習(xí)興趣,學(xué)生普遍的編程能力較差。
由于新生入校后已有的計(jì)算機(jī)專(zhuān)業(yè)基礎(chǔ)知識(shí)薄弱,學(xué)習(xí)方法欠佳,以至于學(xué)生在初次接觸“C語(yǔ)言程序設(shè)計(jì)”這樣抽象難學(xué)的程序設(shè)計(jì)課程時(shí),都會(huì)難于正確把握課程的學(xué)習(xí)方法。因此,任課教師應(yīng)該準(zhǔn)確地分析學(xué)生的學(xué)習(xí)現(xiàn)狀,深究原因,找到解決方法,能夠最大限度地激發(fā)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生合理有效地學(xué)習(xí),并且培養(yǎng)學(xué)生分析和解決問(wèn)題的能力。
2 “C語(yǔ)言程序設(shè)計(jì)”教學(xué)改革
依據(jù)培養(yǎng)目標(biāo)的定位,教師應(yīng)以培養(yǎng)學(xué)生基礎(chǔ)能力和提高學(xué)習(xí)興趣為原則,合理地開(kāi)展“C語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)改革。為此,筆者結(jié)合“C語(yǔ)言程序設(shè)計(jì)”的教學(xué)體會(huì),提出如下的觀點(diǎn)。
2.1修訂“C語(yǔ)言程序設(shè)計(jì)”的教學(xué)大綱,編寫(xiě)和選用適合計(jì)算機(jī)專(zhuān)業(yè)的教材
首先,教師應(yīng)準(zhǔn)確定位課程的教學(xué)目標(biāo)和任務(wù),“C語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)目標(biāo)主要體現(xiàn)在知識(shí)、技能和素質(zhì)三個(gè)方面。其知識(shí)目標(biāo)要求學(xué)生較好地掌握“C語(yǔ)言程序設(shè)計(jì)”的基本語(yǔ)法、語(yǔ)句、控制結(jié)構(gòu)以及結(jié)構(gòu)化程序設(shè)計(jì)的基本思想,這是學(xué)習(xí)本門(mén)課程的核心要求。課程的技能目標(biāo)體現(xiàn)在使學(xué)生認(rèn)識(shí)到算法、良好的程序設(shè)計(jì)方法及上機(jī)實(shí)踐的重要性,并且掌握算法設(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)的方法。另外,在素質(zhì)目標(biāo)方面要求培養(yǎng)學(xué)生利用“C語(yǔ)言程序設(shè)計(jì)”分析和解決實(shí)際問(wèn)題的能力。其次,教師應(yīng)結(jié)合教學(xué)目標(biāo)和任務(wù)合理組織教學(xué)大綱。鑒于“C語(yǔ)言程序設(shè)計(jì)”課程實(shí)踐性較強(qiáng)的特點(diǎn),教師還應(yīng)根據(jù)教學(xué)大綱的要求,制定合理有效的實(shí)踐教學(xué)大綱,制定實(shí)踐教學(xué)內(nèi)容和實(shí)施方案。實(shí)踐教學(xué)內(nèi)容應(yīng)緊密聯(lián)系實(shí)際應(yīng)用,并強(qiáng)調(diào)充分調(diào)動(dòng)學(xué)生的積極性、主動(dòng)性和一定的團(tuán)隊(duì)協(xié)作能力,另外還應(yīng)注重培養(yǎng)學(xué)生分析和解決實(shí)際問(wèn)題的能力。
依據(jù)教學(xué)大綱中教學(xué)內(nèi)容的組織和實(shí)踐教學(xué)的設(shè)計(jì),教師應(yīng)合理地編寫(xiě)和選用課程的教材。目前,“C語(yǔ)言程序設(shè)計(jì)”方面的教材甚多,以清華大學(xué)譚浩強(qiáng)教授編寫(xiě)的《C語(yǔ)言程序設(shè)計(jì)程序設(shè)計(jì)》一書(shū)為代表的一系列優(yōu)秀教材為課程的教學(xué)提供了較好的導(dǎo)向作用。但根據(jù)計(jì)算機(jī)專(zhuān)業(yè)的培養(yǎng)目標(biāo)和課程的定位,教師應(yīng)對(duì)教材的內(nèi)容進(jìn)行適當(dāng)?shù)恼{(diào)整。
另外,在教學(xué)過(guò)程中教師應(yīng)嚴(yán)格按照程序設(shè)計(jì)的規(guī)范和方法分析和解決應(yīng)用問(wèn)題,應(yīng)培養(yǎng)學(xué)生規(guī)范的程序設(shè)計(jì)方法和嚴(yán)謹(jǐn)?shù)木幊塘?xí)慣。例如要求學(xué)生在日常程序設(shè)計(jì)練習(xí)中按照“問(wèn)題定義―問(wèn)題分析―算法設(shè)計(jì)―編寫(xiě)程序―上機(jī)調(diào)試運(yùn)行”的流程實(shí)施,并且在算法設(shè)計(jì)環(huán)節(jié)使用規(guī)范的程序流程圖描述算法。這樣一系列的措施有助于培養(yǎng)學(xué)生良好的編程風(fēng)格和習(xí)慣,為后續(xù)其它的程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)夯實(shí)基礎(chǔ)。
2.2改革教學(xué)組織和實(shí)施策略,優(yōu)化教學(xué)結(jié)構(gòu)
由于“C語(yǔ)言程序設(shè)計(jì)”課程的實(shí)踐操作性較強(qiáng),學(xué)生在上機(jī)實(shí)踐的過(guò)程中,不僅可以消化和鞏固課堂所學(xué)知識(shí),還可激發(fā)和提高學(xué)習(xí)興趣、鍛煉邏輯思維能力。教師應(yīng)注重將課本上的理論知識(shí)和實(shí)際應(yīng)用問(wèn)題進(jìn)行有機(jī)結(jié)合,提高學(xué)生的程序設(shè)計(jì)能力,進(jìn)一步培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力。因此,課程的教學(xué)組織主要分為理論教學(xué)、上機(jī)實(shí)踐教學(xué)和課程設(shè)計(jì)教學(xué)三個(gè)環(huán)節(jié)。
其中,理論教學(xué)主要遵照教學(xué)內(nèi)容的要求, 采用多媒體教學(xué)與傳統(tǒng)板書(shū)教學(xué)有機(jī)結(jié)合的方式,實(shí)施理論與實(shí)踐一體化的多媒體教學(xué)環(huán)境,實(shí)現(xiàn)交互式教學(xué)。其次,教學(xué)中應(yīng)重視“興趣引導(dǎo)”,激發(fā)學(xué)生學(xué)習(xí)熱情,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí)。另外,應(yīng)注重以模擬實(shí)踐教學(xué)為主線(xiàn),提高課堂教學(xué)的教學(xué)效果。
上機(jī)實(shí)踐教學(xué)以課堂理論教學(xué)為前導(dǎo),內(nèi)容設(shè)計(jì)應(yīng)以鞏固和綜合運(yùn)用主要知識(shí)點(diǎn)為主線(xiàn),內(nèi)容具備實(shí)用性,以循序漸進(jìn)的任務(wù)驅(qū)動(dòng)方式指導(dǎo)學(xué)生從簡(jiǎn)單的程序設(shè)計(jì)開(kāi)始逐漸擴(kuò)展到完成綜合的程序設(shè)計(jì),以由淺入深、由單一到綜合的過(guò)程展開(kāi),符合學(xué)生的認(rèn)知習(xí)慣和知識(shí)的拓展,使學(xué)生利用所學(xué)知識(shí)解決實(shí)際的問(wèn)題,培養(yǎng)程序設(shè)計(jì)的能力。
結(jié)合課程的特點(diǎn),課程設(shè)計(jì)環(huán)節(jié)應(yīng)利用“C語(yǔ)言程序設(shè)計(jì)”的基礎(chǔ)理論和上機(jī)實(shí)踐課中學(xué)到的編程知識(shí)和編程技巧,通過(guò)布置具有一定難度、一定編程量的課程設(shè)計(jì)任務(wù),使學(xué)生通過(guò)課程設(shè)計(jì)掌握高級(jí)編程語(yǔ)言的知識(shí)和編程技術(shù),具備分析問(wèn)題和解決問(wèn)題的能力。
2.3秉承合理有效的教學(xué)理念,改革傳統(tǒng)的教學(xué)方法
傳統(tǒng)的“C語(yǔ)言程序設(shè)計(jì)”教學(xué)方法一般采用灌輸式的單向教學(xué)法,學(xué)生被動(dòng)地接收知識(shí),并且教學(xué)知識(shí)點(diǎn)零散,建構(gòu)系統(tǒng)的知識(shí)體系,另外理論教學(xué)和實(shí)踐脫節(jié),學(xué)生只會(huì)紙上談兵,動(dòng)手實(shí)作能力較差,不能利用所學(xué)的知識(shí)解決實(shí)際問(wèn)題。因此,在教學(xué)過(guò)程中應(yīng)重視教學(xué)方法的改革?!癈語(yǔ)言程序設(shè)計(jì)”教學(xué)主要采用“任務(wù)驅(qū)動(dòng)”、“案例教學(xué)”、“講練結(jié)合”的教學(xué)方法,三種方法有機(jī)結(jié)合,合理地組織課程的教學(xué)。
“任務(wù)驅(qū)動(dòng)”教學(xué)法要求按照教學(xué)目標(biāo)的要求,圍繞教學(xué)內(nèi)容,合理地安排一個(gè)任務(wù)。其主要分為三個(gè)基本環(huán)節(jié),首先提出任務(wù),例如設(shè)計(jì)判定學(xué)生成績(jī)等級(jí)的程序;進(jìn)一步分析任務(wù),提出問(wèn)題的解決方法,主要設(shè)計(jì)程序的算法;最后解決任務(wù),講授解決任務(wù)運(yùn)用的知識(shí)點(diǎn),例中主要的知識(shí)點(diǎn)為選擇控制結(jié)構(gòu)的語(yǔ)法及應(yīng)用。
“案例教學(xué)法”以綜合的“C語(yǔ)言程序設(shè)計(jì)”程序案例為主線(xiàn),貫穿所有章節(jié)的知識(shí),課程教學(xué)具有系統(tǒng)性和連貫性。例如,提出“學(xué)生成績(jī)管理系統(tǒng)”案例,實(shí)現(xiàn)成績(jī)的錄入、添加、修改、刪除、查詢(xún)、統(tǒng)計(jì)和排序等功能。通過(guò)分析案例,明確系統(tǒng)的基礎(chǔ)知識(shí)和各個(gè)功能模塊的相關(guān)知識(shí)點(diǎn),如表1所示。
另外,“講練結(jié)合”的教學(xué)方法主要應(yīng)用于上機(jī)實(shí)踐教學(xué)環(huán)境中,采取邊講邊練的教學(xué)互動(dòng)形式,完成程序設(shè)計(jì)實(shí)例。教師先講解和演示與本次實(shí)踐任務(wù)相關(guān)的應(yīng)用問(wèn)題和注意事項(xiàng),學(xué)生按照要求動(dòng)手完成實(shí)踐任務(wù),教師及時(shí)了解學(xué)生在實(shí)踐中出現(xiàn)的問(wèn)題,加以正確的啟發(fā)和指導(dǎo)。最后教師對(duì)本次實(shí)踐任務(wù)的完成情況進(jìn)行總結(jié),集中反饋出現(xiàn)的問(wèn)題并提出解決方法。
2.4完善課程的考核方案,合理評(píng)價(jià)學(xué)生的學(xué)習(xí)成果
鑒于“C語(yǔ)言程序設(shè)計(jì)”課程理論和實(shí)踐并重的特點(diǎn),課程考核應(yīng)主要分為理論考核和實(shí)踐考核兩大方面。其中理論考核以筆試為主,考試內(nèi)容應(yīng)遵照教學(xué)大綱和考試的要求,突出課程的主要知識(shí)點(diǎn);實(shí)踐考核主要以上機(jī)實(shí)踐教學(xué)環(huán)節(jié)制定的任務(wù)和課程設(shè)計(jì)為考查對(duì)象,客觀地反映學(xué)生掌握知識(shí)和運(yùn)用知識(shí)的能力。
中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)09-2111-02
Teaching Thinking of Assembly Language Programming Course
LUO Xing
(Hanshan Normal University, Hanshan 521041, China)
Abstract: This paper discusses the problem appear in teaching of assembly language programming course, propose some methods to improve student's ability to master the knowledge and learning interest. Discuss the assembly language teaching in Win32 platfrom in the last.
Key words: assembly language programming; teaching improvement
1 匯編語(yǔ)言程序設(shè)計(jì)課程教學(xué)現(xiàn)狀
匯編語(yǔ)言程序設(shè)計(jì)作為一門(mén)計(jì)算機(jī)專(zhuān)業(yè)的課程,其存在的合理性在近年受到爭(zhēng)議。有些人認(rèn)為,匯編語(yǔ)言作為一種低級(jí)語(yǔ)言,指令繁多,難以掌握。另外,編程效率也不高,一個(gè)高級(jí)語(yǔ)言用一條語(yǔ)句實(shí)現(xiàn)的功能,在匯編語(yǔ)言中需要很多條指令才能實(shí)現(xiàn)。此外,匯編語(yǔ)言在時(shí)間上和空間上的優(yōu)勢(shì)由于高速CPU和大容量存儲(chǔ)器的出現(xiàn),也變得意義不大。
我認(rèn)為學(xué)習(xí)匯編語(yǔ)言仍然具有重要意義??梢詺w納如下:
1) 可以比較深入了解計(jì)算機(jī)硬件的底層工作原理,例如:CPU的工作模式,寄存器的概念,內(nèi)存的尋址方式,中斷的工作原理等。
2) 熟悉各種數(shù)據(jù)表示方法。如各種數(shù)制的轉(zhuǎn)化,各種類(lèi)型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式。學(xué)生在系統(tǒng)學(xué)習(xí)匯編語(yǔ)言程序設(shè)計(jì)這門(mén)課程后,對(duì)二進(jìn)制,十進(jìn)制以及十六進(jìn)制相互間的轉(zhuǎn)換應(yīng)該非常熟練。對(duì)數(shù)據(jù)在內(nèi)存中兩種排列方式即大端方式(Big Endian,低地址存放高位字節(jié))與小端方式(Little Endian,低地址存放低位字節(jié))有清晰的理解。而這些相關(guān)的概念的牢固掌握對(duì)高級(jí)語(yǔ)言中的數(shù)據(jù)類(lèi)型以及計(jì)算機(jī)網(wǎng)絡(luò)編程的學(xué)習(xí)具有很大的幫助。
3) 通過(guò)匯編語(yǔ)言編程學(xué)習(xí),可以促進(jìn)對(duì)高級(jí)編程語(yǔ)言相關(guān)概念的理解。高級(jí)語(yǔ)言在編譯的時(shí)候,一般都是先生成匯編代碼,然后再生成的二進(jìn)制代碼。所以,通過(guò)對(duì)比分析匯編代碼與高級(jí)語(yǔ)言代碼的實(shí)現(xiàn)方式,對(duì)程序的執(zhí)行效率,數(shù)據(jù)在內(nèi)存中存放方式,堆棧的概念,函數(shù)的調(diào)用及參數(shù)傳遞的方式等都會(huì)有進(jìn)一步的了解。
在教學(xué)中,我也遇到一些問(wèn)題。一方面就是學(xué)生的積極性不高。主要原因包括:指令很多,難以記憶。對(duì)于幾個(gè)大類(lèi)的指令,如果每次課上一類(lèi),學(xué)生課后如果不進(jìn)行主動(dòng)復(fù)習(xí),往往到下一次課的時(shí)候,就會(huì)忘記前面所學(xué)的內(nèi)容或者發(fā)生混淆。另外,在學(xué)習(xí)匯編課程之前,他們已經(jīng)學(xué)過(guò)一門(mén)高級(jí)語(yǔ)言,如C/C++等,匯編語(yǔ)言的學(xué)習(xí)方式與高級(jí)語(yǔ)言的學(xué)習(xí)方式有所不同,高級(jí)語(yǔ)言比較容易上機(jī)練習(xí),也容易對(duì)程序運(yùn)行結(jié)果驗(yàn)證,對(duì)于開(kāi)發(fā)實(shí)用軟件也相對(duì)容易,所以學(xué)生的興趣比較大。而匯編語(yǔ)言一方面涉及到底層的硬件概念,比較難以理解,另一方面上機(jī)也比較困難,可以這么說(shuō),如果按照課本的順序講課,要到差不多講完課,學(xué)生才可以上機(jī)完成一個(gè)功能比較完整的程序。
2 促進(jìn)學(xué)生對(duì)知識(shí)的掌握
要解決這些問(wèn)題,我認(rèn)為要在學(xué)生的知識(shí)掌握方式以及學(xué)習(xí)興趣的培養(yǎng)上下功夫。對(duì)于知識(shí)的掌握,除了每次新課內(nèi)容講完后,精心給學(xué)生布置作業(yè)習(xí)題之外。還應(yīng)該注意到由于匯編語(yǔ)言的指令及相關(guān)的知識(shí)點(diǎn)很多,對(duì)于剛接觸這門(mén)課程的學(xué)生一開(kāi)始往往不大適應(yīng),容易混淆前面學(xué)過(guò)的內(nèi)容,所以教師及時(shí)對(duì)所學(xué)過(guò)知識(shí)點(diǎn)進(jìn)行比較和總結(jié)就很有必要。此外還應(yīng)該定期對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行檢測(cè),從過(guò)去的教學(xué)經(jīng)驗(yàn)看,匯編語(yǔ)言這門(mén)課程是學(xué)生比較容易與教師的教學(xué)進(jìn)度脫離的一門(mén)課程,不少學(xué)生在一開(kāi)始由于在掌握知識(shí)遇到困難,問(wèn)題越積越多,最終可能放棄聽(tīng)課。在檢測(cè)的方法上,可以借助網(wǎng)上考試系統(tǒng)。教師可以自主出題,也可以讓系統(tǒng)自動(dòng)出題。通過(guò)分析學(xué)生的測(cè)試結(jié)果,教師可以及時(shí)調(diào)整教學(xué)進(jìn)度,學(xué)生也會(huì)有一定的學(xué)習(xí)壓力,使他們花更多時(shí)間查補(bǔ)缺漏的知識(shí)。
程序設(shè)計(jì)學(xué)習(xí)的最佳方法就是上機(jī)實(shí)踐。匯編語(yǔ)言上機(jī)練習(xí)跟高級(jí)語(yǔ)言的上機(jī)練習(xí)相比,對(duì)于學(xué)生來(lái)說(shuō)比較困難。一方面是由于一個(gè)完整的匯編程序涉及的知識(shí)點(diǎn)很多,而教材往往按知識(shí)點(diǎn)分類(lèi)進(jìn)行編排。所以學(xué)生要想在剛開(kāi)始學(xué)習(xí)階段,就編出完整的程序有一定的難度。另一方面,匯編程序的運(yùn)行結(jié)果較難在屏幕上輸出,匯編語(yǔ)言只有字符與字符串的輸入輸出,對(duì)于一道簡(jiǎn)單的算術(shù)運(yùn)算題目,其結(jié)果的輸出都要通過(guò)一大段的轉(zhuǎn)換程序來(lái)實(shí)現(xiàn)。對(duì)于第一個(gè)問(wèn)題,教師可以對(duì)教材內(nèi)容進(jìn)行選講,把實(shí)驗(yàn)所涉及到的知識(shí)點(diǎn)先進(jìn)行講解。對(duì)于第二個(gè)問(wèn)題, 我認(rèn)為應(yīng)該重點(diǎn)培養(yǎng)學(xué)生熟練使用調(diào)試工具的能力,通過(guò)掌握調(diào)試工具如DEBUG,CV等的使用,一方面學(xué)生可以直接觀察程序的運(yùn)行結(jié)果,另一方面,對(duì)于程序的邏輯錯(cuò)誤也可以進(jìn)行跟蹤、分析以及解決。此外,由于匯編語(yǔ)言作為一種低級(jí)語(yǔ)言,編程都由一條條指令進(jìn)行構(gòu)造,所以相對(duì)繁瑣,應(yīng)盡早讓學(xué)生應(yīng)用模塊化思路,掌握子程序及宏的使用方法。這樣把一些常用功能做成模塊,如輸入輸出功能,以后學(xué)生在編程的時(shí)候就可以直接調(diào)用這些模塊,從而專(zhuān)注于實(shí)驗(yàn)的其它方面。
3 提高學(xué)生的學(xué)習(xí)積極性
對(duì)于如何提高學(xué)生的學(xué)習(xí)興趣,我認(rèn)為主要讓學(xué)生意識(shí)到匯編語(yǔ)言的作用。一方面可以引入一些接口技術(shù)相關(guān)內(nèi)容,使學(xué)生熟練掌握中斷的概念以及I/O指令,然后上機(jī)編寫(xiě)中斷程序,在中斷控制器(8259A)進(jìn)行驗(yàn)證,由于這些實(shí)驗(yàn)有按鍵輸入,有屏幕輸出,還能直接看到程序控制設(shè)備的效果,所以學(xué)生興趣會(huì)比較大。此外,教師也可以適當(dāng)拓展一些知識(shí),如嵌入式編程相關(guān)概念,有興趣的同學(xué)可以在課后自主進(jìn)行學(xué)習(xí)。另外,由于不少學(xué)生對(duì)硬盤(pán)相關(guān)的問(wèn)題感興趣,比如硬盤(pán)數(shù)據(jù)的存放方式,數(shù)據(jù)的修復(fù)等??梢砸龑?dǎo)學(xué)生對(duì)這些問(wèn)題進(jìn)行思考,然后通過(guò)匯編語(yǔ)言提供的I/O指令和中斷子功能,編程實(shí)現(xiàn)對(duì)硬盤(pán)的MBR,文件分配表等數(shù)據(jù)結(jié)構(gòu)的讀取,備份,修復(fù)等功能。教師通過(guò)布置一些學(xué)生比較感興趣的課外作業(yè),并適當(dāng)提供協(xié)助,往往能提高學(xué)生的學(xué)習(xí)積極性。
另外,在匯編語(yǔ)言的學(xué)習(xí)過(guò)程中,教師應(yīng)該有意識(shí)引導(dǎo)學(xué)生將匯編語(yǔ)言與高級(jí)語(yǔ)言的各個(gè)對(duì)應(yīng)的部分進(jìn)行比較。學(xué)生在學(xué)習(xí)匯編語(yǔ)言之前,通常已經(jīng)學(xué)過(guò)一門(mén)高級(jí)語(yǔ)言,如C/C++等。高級(jí)語(yǔ)言在編譯的時(shí)候,一般是先轉(zhuǎn)換成匯編代碼,所以它們具有相通性。大部分學(xué)生編寫(xiě)應(yīng)用程序的時(shí)候是用高級(jí)語(yǔ)言,所以通過(guò)比較分析高級(jí)語(yǔ)言與低級(jí)語(yǔ)言在數(shù)據(jù)定義,程序流程控制,函數(shù)的定義及調(diào)用等的對(duì)應(yīng)部分內(nèi)容,對(duì)于學(xué)生更好的使用高級(jí)語(yǔ)言編寫(xiě)程序是很有幫助的。比如:匯編語(yǔ)言里有分段的概念,一般把變量定義到數(shù)據(jù)段,把代碼定義的代碼段。而C語(yǔ)言是把數(shù)據(jù)與代碼都定義在一起,那么C語(yǔ)言編寫(xiě)的程序在編譯成可執(zhí)行文件后,它的全局變量,局部變量的空間是如何分配的。另外,對(duì)于動(dòng)態(tài)內(nèi)存分配,堆與棧的區(qū)別在哪里。還有函數(shù)的定義與調(diào)用,參數(shù)的傳遞順序是如何的?這些疑問(wèn),都可以讓學(xué)生編寫(xiě)簡(jiǎn)單的C語(yǔ)言程序,生成可執(zhí)行文件后,然后通過(guò)調(diào)試工具進(jìn)行反匯編進(jìn)行分析。此外,在利用VC++,Dephi等IDE開(kāi)發(fā)工具進(jìn)行程序編寫(xiě)時(shí),都會(huì)用到里面的調(diào)試功能?;旧险{(diào)試功能都會(huì)包括反匯編與內(nèi)存查看的功能,教師可以引導(dǎo)學(xué)生進(jìn)行這方面的訓(xùn)練,使他們?cè)谝院缶幊虝r(shí)能熟練應(yīng)用這個(gè)工具解決一些疑難問(wèn)題,例如:內(nèi)存非法訪(fǎng)問(wèn),指針的非法引用等。
4 Win32平臺(tái)下的匯編語(yǔ)言教學(xué)思考
目前很多高校在匯編程序設(shè)計(jì)教學(xué)中講解的是8088/8086 CPU實(shí)模式環(huán)境,實(shí)際上是虛擬8086模式,因?yàn)檎嬲膶?shí)模式工作DOS下,而現(xiàn)在匯編語(yǔ)言實(shí)驗(yàn)環(huán)境都是在windows 2000以上。由于現(xiàn)在大部分CPU都是32位以上,并且是工作上保護(hù)模式之上,此外這些CPU的寄存器類(lèi)型以及尋址方式都已經(jīng)發(fā)生較大變化。所以教師有必要對(duì)實(shí)模式與保護(hù)模式在邏輯地址轉(zhuǎn)化為物理地址的方式的差異,還有16位與32位的指令在用法的不同點(diǎn)進(jìn)行重點(diǎn)講解。因?yàn)閰R編語(yǔ)言現(xiàn)在的實(shí)際應(yīng)用基本上采用工作于保護(hù)模式的Win32平臺(tái),在Windows操作系統(tǒng)控制下,匯編語(yǔ)言雖然不能再直接存取硬件,但是能通過(guò)調(diào)用系統(tǒng)提供的API函數(shù)完成各種功能。其實(shí)這里的API函數(shù)當(dāng)于DOS下的中斷調(diào)用,但是Window API函數(shù)無(wú)論從數(shù)量上、功能上還是易用性上都大大超過(guò)了DOS或BIOS的中斷調(diào)用功能。所以現(xiàn)在在Win32平臺(tái)下,匯編語(yǔ)言就像高級(jí)語(yǔ)言一樣,可以方便的開(kāi)發(fā)各種Windows應(yīng)用程序。有些教師認(rèn)為,既然在實(shí)模式講解匯編語(yǔ)言很少涉及實(shí)用性,那就應(yīng)該直接遷移到Win32匯編平臺(tái),講解用匯編語(yǔ)言開(kāi)發(fā)的Windows應(yīng)用程序設(shè)計(jì)實(shí)例,從而提高學(xué)生積極性。我認(rèn)為如果采用這種教學(xué)方法,可能會(huì)存在以下問(wèn)題:首先由于上課時(shí)間有限,學(xué)生需要大量的時(shí)間才能熟練掌握各類(lèi)指令,匯編語(yǔ)言的語(yǔ)法,程序結(jié)構(gòu)等方面的知識(shí)。如果過(guò)多涉及Windows程序設(shè)計(jì)實(shí)例,對(duì)于不熟悉Windows編程機(jī)制的學(xué)生的來(lái)說(shuō),又多了一個(gè)不小的學(xué)習(xí)負(fù)擔(dān),這樣子反而影響了匯編語(yǔ)言基礎(chǔ)知識(shí)的掌握。另外,DOS下的實(shí)模式與Window下的保護(hù)模式下的編程在本質(zhì)上并無(wú)很大的區(qū)別,只要學(xué)生熟練掌握各類(lèi)指令用法,理解16位與32位的指令及尋址方式的區(qū)別,邏輯地址與物理地址轉(zhuǎn)換機(jī)制等知識(shí),他們就可以通過(guò)自主學(xué)習(xí),較容易的掌握用匯編語(yǔ)言進(jìn)行Win32應(yīng)用程序的開(kāi)發(fā)。對(duì)于教師,除了幫學(xué)生打好匯編語(yǔ)言的基礎(chǔ),可以適當(dāng)以課外作業(yè)的形式,引入一些匯編語(yǔ)言在不同應(yīng)用領(lǐng)域的簡(jiǎn)單實(shí)例,如加密與解密,軟件的逆向工程等,這些課外作業(yè)的完成對(duì)學(xué)生匯編語(yǔ)言的應(yīng)用能力的提高將會(huì)有不小的幫助。
5 結(jié)束語(yǔ)
匯編語(yǔ)言難教難學(xué)是教師與學(xué)生的共識(shí),但是作為計(jì)算機(jī)科學(xué)中一門(mén)低級(jí)程序設(shè)計(jì)語(yǔ)言,通過(guò)對(duì)它的良好掌握,確實(shí)可以促進(jìn)對(duì)計(jì)算機(jī)軟硬件底層的了解,而這又能促進(jìn)編程能力的提高。作為教師,在教學(xué)中應(yīng)該不斷嘗新的教學(xué)方法,不斷積累經(jīng)驗(yàn),只有這樣,才能把這門(mén)課上好。
中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)21-30486-03
The Research of Teaching Methods in "C Programming Language"
LIU Jian-you
(Zhaoqing Science and Technology Polytechnic,Zhaoqing 526020,China)
Abstract: C is a typical structural programming language, many colleges and universities use it as basic programming language. Students often complain about C language difficult to learn, to use, to build the application software, lack of programming and debugging capabilities. How to better carry out the C language courses teaching?Author on the problems that exist in teaching, with his personal experience in teaching and experience, talk about their own views, to promote the C language teaching.
Key words: teaching methods; teaching mode; thinking training; self-learning ability
1 引言
程序設(shè)計(jì)語(yǔ)言的種類(lèi)多得難以計(jì)算,為什么要以C語(yǔ)言作為編程入門(mén)語(yǔ)言呢?還有人說(shuō)為什么一定要學(xué)習(xí)C語(yǔ)言,干嘛不直接從C++學(xué)起?而且學(xué)C++不一定要有C語(yǔ)言基礎(chǔ),有了反而會(huì)有些內(nèi)容混淆。還有人說(shuō)C語(yǔ)言都已經(jīng)過(guò)時(shí)了,怎么還要浪費(fèi)時(shí)間去學(xué)?C語(yǔ)言在教學(xué)過(guò)程中,抱怨C語(yǔ)言難學(xué),難懂,難用,在解決實(shí)際問(wèn)題編制應(yīng)用軟件時(shí)往往無(wú)以下手,缺乏編程和調(diào)試的能力。。久而久之,學(xué)生對(duì)學(xué)習(xí)此門(mén)課程就會(huì)產(chǎn)生厭倦的心理,不但影響本課程的學(xué)習(xí),還會(huì)影響以后相關(guān)課程的學(xué)習(xí)。本文針對(duì)以上問(wèn)題,指出了如下措施:
2 學(xué)習(xí)《C語(yǔ)言程序設(shè)計(jì)》的意義
我認(rèn)為在學(xué)習(xí)C語(yǔ)言之前有必要弄清學(xué)習(xí)的意義所在,這樣才能讓學(xué)生對(duì)其產(chǎn)生興趣。興趣是人類(lèi)最好的老師,只有對(duì)其產(chǎn)生了興趣,我們才能學(xué)好這門(mén)語(yǔ)言。
將C語(yǔ)言作為入門(mén)語(yǔ)言具有重要的意義。C語(yǔ)言是一門(mén)典型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,它具有語(yǔ)言簡(jiǎn)潔、嚴(yán)謹(jǐn),用途廣泛等特點(diǎn),能夠體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)良控制結(jié)構(gòu),非常適合初學(xué)者。通過(guò)這門(mén)課程的學(xué)習(xí),能夠使學(xué)生掌握一門(mén)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,更為最重要的是能讓學(xué)生樹(shù)立用程序解決現(xiàn)實(shí)問(wèn)題的思路和方法。為今后的學(xué)習(xí)打良好的基礎(chǔ)。再學(xué)其他程序設(shè)計(jì)語(yǔ)言,就能夠在短時(shí)間內(nèi)迅速的掌握。
3 改革課程教學(xué)內(nèi)容,重視算法的編程思想,培養(yǎng)創(chuàng)造性思維
精選課程內(nèi)容是一項(xiàng)非常重要的工作,它是教學(xué)內(nèi)容的核心部分,《C語(yǔ)言程序設(shè)計(jì)》的核心內(nèi)容包括C語(yǔ)言基本語(yǔ)法、程序設(shè)計(jì)思想和程序調(diào)試方法。語(yǔ)法是任何一門(mén)語(yǔ)言的基礎(chǔ),同時(shí),各種程序設(shè)計(jì)語(yǔ)言在基本知識(shí)點(diǎn)上是相同的,學(xué)生對(duì)基礎(chǔ)知識(shí)的正確理解和準(zhǔn)確運(yùn)用,其意義是深遠(yuǎn)的。
C語(yǔ)言程序是由函數(shù)組成的,無(wú)論問(wèn)題多么復(fù)雜,我們都可以將其看成是一個(gè)大任務(wù),這個(gè)大任務(wù)又可化分成若干個(gè)小任務(wù),將這些小任務(wù)解決了,那么大任務(wù)也就完成了。也就是說(shuō)其任務(wù)只有一個(gè),就是編寫(xiě)函數(shù)(一個(gè)main()主函數(shù)和其他函數(shù))。執(zhí)行程序時(shí),從mian()的第一個(gè)“{”,開(kāi)始直到最后一個(gè)“}”結(jié)束,其他函數(shù)只有在執(zhí)行的過(guò)程中被調(diào)用才執(zhí)行。
學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)不僅是為了掌握一種開(kāi)發(fā)工具,更重要的是用計(jì)算機(jī)解決問(wèn)題。而算法是解題的方法和步驟,算法就是對(duì)操作的具體描述,是計(jì)算機(jī)的解題過(guò)程。編制程序,就是根據(jù)算法,用具體的語(yǔ)言依據(jù)某種規(guī)則編寫(xiě)計(jì)算機(jī)執(zhí)行的命令序列。因此學(xué)習(xí)語(yǔ)言的重點(diǎn)是鍛煉分析、分解,最終歸納整理出算法的能力。在教學(xué)過(guò)程中,學(xué)生能否理解算法,并掌握算法,成為教學(xué)的關(guān)鍵。
在C語(yǔ)言的教學(xué)過(guò)程中,改革傳統(tǒng)的語(yǔ)法學(xué)習(xí)內(nèi)容,將算法教學(xué)融入到語(yǔ)言教學(xué)中。由于C語(yǔ)言語(yǔ)法的邏輯性較強(qiáng)、結(jié)構(gòu)性要求較高,初學(xué)者剛接觸的時(shí)候容易考慮不全。因此算法教學(xué)可以通過(guò)實(shí)例進(jìn)行, 從最簡(jiǎn)單的例子入手,使學(xué)生在解決具體問(wèn)題的過(guò)程中學(xué)習(xí)C語(yǔ)言的基本邏輯結(jié)構(gòu)和語(yǔ)句。生活中到處都存在著算法。而對(duì)于同一個(gè)問(wèn)題可以有不同的解題方法和步驟,可以讓學(xué)生根據(jù)同一個(gè)問(wèn)題提出不同的算法,并比較這些算法之間的優(yōu)劣,并讓學(xué)生根據(jù)分析對(duì)算法進(jìn)行優(yōu)化。通過(guò)對(duì)算法的優(yōu)化練習(xí),可以在無(wú)形中提高學(xué)生寫(xiě)算法的水平。
4 改革課堂教學(xué)模式,培養(yǎng)學(xué)生自學(xué)能力
在教學(xué)中可以使用下面的一些方法,提高教學(xué)效果,培養(yǎng)學(xué)生的邏輯思維能力和動(dòng)手能力。
4.1 改變傳統(tǒng)的教學(xué)方式
雖然這個(gè)話(huà)題是老生常談了,但是現(xiàn)在部分老師還沒(méi)有認(rèn)識(shí)到這個(gè)問(wèn)題的重要性,仍然是“教師單向灌輸”的教學(xué)模式。教師首先要在教學(xué)過(guò)程中樹(shù)立以學(xué)生為主體,老師為主導(dǎo)的教學(xué)思想,正確處理傳授知識(shí)與培養(yǎng)能力、提高素質(zhì)之間的關(guān)系;其次改變教學(xué)模式,償試采用以下教學(xué)方式。
4.1.1 任務(wù)驅(qū)動(dòng)教學(xué)方式
在教學(xué)過(guò)程中避免照本宣科、枯燥乏味,“任務(wù)驅(qū)動(dòng)”是建構(gòu)主義理論中的一種教學(xué)模式,是將所要學(xué)習(xí)的新知識(shí)隱含在一個(gè)或幾個(gè)任務(wù)之中,學(xué)生通過(guò)對(duì)所提的任務(wù)進(jìn)行分析、討論,明確它大體涉及哪些知識(shí),在老師的指導(dǎo)、幫助下找出解決問(wèn)題的方法,最后通過(guò)任務(wù)的完成對(duì)學(xué)生知識(shí)的傳授。事實(shí)上它并不是簡(jiǎn)單的給出任務(wù)就了事,重要的是要讓學(xué)生學(xué)會(huì)學(xué)習(xí),使他們學(xué)會(huì)從多方位、多層次、多角度去考慮問(wèn)題。使學(xué)生認(rèn)識(shí)到學(xué)有所用、學(xué)以致用,自然地產(chǎn)生學(xué)習(xí)的愿望和動(dòng)力。
可以先給出一個(gè)比較典型的C語(yǔ)言編寫(xiě)的例子。給學(xué)生具體的演示,通過(guò)這個(gè)效果激發(fā)學(xué)生的積極性。要求學(xué)生在期末的時(shí)候編寫(xiě)出相應(yīng)的程序。有了這個(gè)任務(wù),在講課的時(shí)候逐步的告訴學(xué)生每一章可以具體的實(shí)現(xiàn)例子的那個(gè)部分,讓學(xué)生逐步的去實(shí)現(xiàn)相應(yīng)的功能。他們實(shí)現(xiàn)了相應(yīng)的效果,就會(huì)極大地增強(qiáng)學(xué)習(xí)的興趣和熱情。這樣可以讓學(xué)生在愉悅的過(guò)程中學(xué)好這門(mén)課程。
4.1.2 啟發(fā)式教學(xué)
為培養(yǎng)學(xué)生邏輯思維和創(chuàng)新能力,在教學(xué)過(guò)程中,教師遵循啟發(fā)式教學(xué)原則,通過(guò)各種教學(xué)方式和手段激發(fā)學(xué)生的學(xué)習(xí)欲望,積極投入到學(xué)習(xí)活動(dòng)中,積極思維,發(fā)現(xiàn)問(wèn)題,提出問(wèn)題,并逐步解決問(wèn)題。例如,在講解程序設(shè)計(jì)舉例時(shí),不是簡(jiǎn)單地給出程序清單,而是從分析問(wèn)題入手,繼而找出解決問(wèn)題的方法,再給出算法,最后編寫(xiě)出完整的程序,而在這一全過(guò)程,最關(guān)鍵的是每一步都采用與學(xué)生一起探討的方式,讓學(xué)生在啟發(fā)下思考,在思考中解決問(wèn)題,從而掌握獨(dú)立分析問(wèn)題、解決問(wèn)題的方法。
4.1.3 互動(dòng)式教學(xué)
互動(dòng)式教學(xué)是教師駕馭講臺(tái)能力的具體體現(xiàn)。一個(gè)教師站在講臺(tái)上,要不斷地掃視下面的學(xué)生,觀察學(xué)生的表情,了解學(xué)生的接受程度,并能及時(shí)地調(diào)整教學(xué)的進(jìn)度和步驟,必要時(shí)到達(dá)到學(xué)生與教師在課堂上互相之間的交流。允許學(xué)生在不明白的時(shí)候隨時(shí)提出問(wèn)題,教師根據(jù)實(shí)際情況決定是當(dāng)場(chǎng)解答,還是課后解答。真正實(shí)現(xiàn)課堂上的互動(dòng),其教學(xué)的效果就會(huì)顯著地提高。教師在教學(xué)過(guò)程中,還應(yīng)當(dāng)注意設(shè)置疑難問(wèn)題,引導(dǎo)學(xué)生思考和探索,讓他們的思想活躍起來(lái)。
4.1.4 項(xiàng)目分析式教學(xué)
為培養(yǎng)學(xué)生綜合應(yīng)用知識(shí)的能力,通過(guò)對(duì)完整的項(xiàng)目的系統(tǒng)分析,培養(yǎng)學(xué)生良好的編程習(xí)慣,善于獲取他人經(jīng)驗(yàn)的能力以及掌握綜合運(yùn)用所學(xué)知識(shí)的能力,從而真正提高編程水平。
4.2 激勵(lì)個(gè)性化學(xué)習(xí)
在微觀課堂上采用項(xiàng)目遞進(jìn)驅(qū)動(dòng)教學(xué)法,改變滿(mǎn)堂灌的做法,將學(xué)生的眼手腦全部調(diào)動(dòng)起來(lái)。精心設(shè)計(jì)實(shí)例,給學(xué)生一個(gè)比較實(shí)際的切入點(diǎn),通過(guò)老師的演示使學(xué)生感覺(jué)能夠入手,然后再通過(guò)將此實(shí)例不斷修改、擴(kuò)充,引導(dǎo)學(xué)生參與到程序的編制過(guò)程中,在這個(gè)過(guò)程中,再將學(xué)生所作的程序展示,讓學(xué)生來(lái)評(píng)判優(yōu)劣,吸收優(yōu)點(diǎn),修改錯(cuò)誤,引導(dǎo)學(xué)生進(jìn)行優(yōu)化。在這樣的實(shí)例教學(xué)中,因?yàn)橛刑岢鰡?wèn)題、解決問(wèn)題、擴(kuò)展問(wèn)題、再解決問(wèn)題、對(duì)解決問(wèn)題的方法評(píng)價(jià)、優(yōu)化設(shè)計(jì)等幾個(gè)環(huán)節(jié),實(shí)際上是一個(gè)螺旋式滾動(dòng)向前的過(guò)程,在這個(gè)螺旋式不斷向前的過(guò)程中,能夠非常自然地調(diào)動(dòng)學(xué)生的參與,而且通過(guò)問(wèn)題的不斷擴(kuò)展,通過(guò)一個(gè)問(wèn)題的多種解決方法,有效開(kāi)闊學(xué)生的思維,使得學(xué)生在課堂上真正地成為 “ 主體 ” ,教師扮演 “ 主導(dǎo) ” 角色。 這種通過(guò)一個(gè)程序的層層推進(jìn),引入課程內(nèi)容,使得學(xué)生的每一步學(xué)習(xí)都有基礎(chǔ),是循序漸進(jìn),螺旋式上升的過(guò)程,使學(xué)生的學(xué)習(xí)是在“走臺(tái)階”,而不是“三級(jí)跳”,效果很好。
4.3 加強(qiáng)對(duì)學(xué)生程序設(shè)計(jì)思維訓(xùn)練
《C語(yǔ)言程序設(shè)計(jì)》課程不僅僅是一般意義上的知識(shí)傳授,要讓學(xué)生掌握程序設(shè)計(jì)的基本方法,對(duì)學(xué)生進(jìn)行邏輯思維能力的培養(yǎng)。在實(shí)際的教學(xué)過(guò)程中,我們發(fā)現(xiàn)有些學(xué)生平時(shí)學(xué)得很認(rèn)真,對(duì)語(yǔ)法、語(yǔ)句等細(xì)節(jié)也很熟悉,但碰到稍微復(fù)雜一點(diǎn)的編程則無(wú)從下手,教師在教學(xué)過(guò)程中要樹(shù)立正確的教學(xué)思想,即注重算法設(shè)計(jì),加強(qiáng)學(xué)生的程序設(shè)計(jì)思維訓(xùn)練,幫助學(xué)生順利地實(shí)現(xiàn)思維方式的轉(zhuǎn)變,而不能只單純地講授語(yǔ)言的語(yǔ)法、語(yǔ)義、語(yǔ)用,應(yīng)該將復(fù)雜枯燥的語(yǔ)法知識(shí)分解到一個(gè)個(gè)生動(dòng)實(shí)用的程序?qū)嵗?,也就是在教學(xué)過(guò)程中以程序設(shè)計(jì)為主線(xiàn),有意識(shí)淡化計(jì)算機(jī)語(yǔ)言本身語(yǔ)句的介紹,而重點(diǎn)介紹程序設(shè)計(jì),在分析程序和程序設(shè)計(jì)中熟悉語(yǔ)法、應(yīng)用語(yǔ)句,掌握程序設(shè)計(jì)和解決問(wèn)題的思路(算法),并把軟件工程學(xué)的思想貫穿于算法分析和程序設(shè)計(jì)的過(guò)程中。一定要避免陷入這樣的誤區(qū):教師一味地給學(xué)生講解語(yǔ)句的功能和語(yǔ)法規(guī)則,使學(xué)生陷入冗繁的語(yǔ)法規(guī)則之中,形成以語(yǔ)言為中心的思維模式。這樣教出來(lái)的學(xué)生語(yǔ)法背得滾瓜爛熟,只會(huì)生搬硬套,缺乏實(shí)際編程能力,所以教師應(yīng)注重培養(yǎng)學(xué)生形成以算法為中心的思維模式。對(duì)于從未受過(guò)算法設(shè)計(jì)訓(xùn)練的初學(xué)者來(lái)說(shuō),可能會(huì)感到無(wú)從下手,對(duì)此,教師應(yīng)該有意識(shí)地加強(qiáng)這種思維方式的訓(xùn)練,通過(guò)講授一些常用算法、典型算法,如記數(shù)、累加、連乘、兩數(shù)交換、求最大(小)值、迭代、排序、分類(lèi)等為以后編寫(xiě)程序、軟件設(shè)計(jì)奠定基礎(chǔ),同時(shí)典型算法熟練的掌握,也可增加學(xué)生學(xué)習(xí)的信心并提高學(xué)習(xí)的興趣,同時(shí)培養(yǎng)學(xué)生的思維能力。
5 強(qiáng)化實(shí)踐教學(xué),培養(yǎng)學(xué)生動(dòng)手能力
實(shí)行實(shí)踐教學(xué)形式多樣化,上機(jī)操作,老師通常讓照著書(shū)本的例子進(jìn)行驗(yàn)證,這樣無(wú)法增加學(xué)生的成就感,使學(xué)生覺(jué)得很無(wú)聊,在《C語(yǔ)言程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)教學(xué)中,除傳統(tǒng)的課堂實(shí)驗(yàn)外,還開(kāi)展課程設(shè)計(jì)、典型程序分析與設(shè)計(jì)等實(shí)踐環(huán)節(jié),還可以教師組織C程序設(shè)計(jì)興趣小組,組織C程序設(shè)計(jì)大賽,組織學(xué)生參與科研開(kāi)發(fā)等,將每一階段的學(xué)習(xí)進(jìn)行小結(jié)性的貫穿與能力提高。將 C 的知識(shí)點(diǎn)都溶化到一個(gè)個(gè)實(shí)訓(xùn)項(xiàng)目的程序編寫(xiě)中。整個(gè)過(guò)程以學(xué)生獨(dú)立完成為主,教師只提供必要的輔導(dǎo)。經(jīng)過(guò)實(shí)踐訓(xùn)練,尤其經(jīng)過(guò)綜合訓(xùn)練中模擬實(shí)際軟件開(kāi)發(fā)的演練,使學(xué)生得到了鍛煉,進(jìn)一步激發(fā)了學(xué)習(xí)興趣,培養(yǎng)了問(wèn)題求解和編程能力,還有利于培養(yǎng)探索和創(chuàng)新能力。
6 改革考核方式,全面實(shí)行考教分離
C語(yǔ)言課程所有考試均實(shí)行考教分離,這不僅促進(jìn)了任課教師對(duì)教學(xué)的精益求精,而且也給了教師充分發(fā)揮、施展個(gè)人教學(xué)才能的空間。在考核方法上,考慮到高職院校是培養(yǎng)應(yīng)用性的實(shí)用人才的這一特點(diǎn),該課程除采用傳統(tǒng)的筆試外,大膽采用更能反映學(xué)生知識(shí)應(yīng)用能力的上機(jī)考試,這一考試形式非常受學(xué)生的歡迎。可以采用多種形式考核學(xué)生,重點(diǎn)考核學(xué)生的實(shí)踐動(dòng)手能力。
7 結(jié)束語(yǔ)
以上是作者近幾年關(guān)于C語(yǔ)言教學(xué)經(jīng)驗(yàn)的總結(jié),在實(shí)際的教學(xué)過(guò)程中取得了良好的教學(xué)效果。筆者認(rèn)為在教學(xué)過(guò)程中除了要使學(xué)生掌握C語(yǔ)言程序設(shè)計(jì)這門(mén)語(yǔ)言外,最重要的是要讓學(xué)生樹(shù)立用程序解決現(xiàn)實(shí)問(wèn)題的思路和方法(算法)。學(xué)生能否理解算法,并掌握算法,成為教學(xué)的關(guān)鍵,這是也學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的重中之重。
參考文獻(xiàn):