前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的程序設(shè)計(jì)實(shí)踐主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞:VB程序設(shè)計(jì);現(xiàn)代教育;實(shí)踐與改革
Visual Basic程序設(shè)計(jì)作為一門程序設(shè)計(jì)語言,在教學(xué)過程中,應(yīng)用和研發(fā)的特征比較明顯,而初學(xué)者總是感覺程序設(shè)計(jì)比較枯燥無味、難于理解、入門困難,甚至對(duì)其產(chǎn)生畏難厭學(xué)情緒。教學(xué)中筆者利用現(xiàn)代教育技術(shù)手段,對(duì)傳統(tǒng)的教學(xué)方法進(jìn)行改革,實(shí)踐探索出了一套行之有效的教學(xué)策略,取得了良好的教學(xué)效果。
一、著力培養(yǎng)學(xué)生學(xué)習(xí)興趣,上好VB入門課
1.課前強(qiáng)調(diào)程序設(shè)計(jì)的重要性,充分調(diào)動(dòng)學(xué)生的求知欲
在講授該課程之前,結(jié)合學(xué)生實(shí)際所學(xué)專業(yè),事先準(zhǔn)備幾個(gè)VB開發(fā)的應(yīng)用程序或是信息管理系統(tǒng),第一節(jié)課上課時(shí)通過多媒體演示,讓學(xué)生明白程序設(shè)計(jì)的重要性和實(shí)用性,樹立明確的學(xué)習(xí)目標(biāo):學(xué)習(xí)VB不只是達(dá)到計(jì)算機(jī)應(yīng)用能力的考核要求,更是今后工作、生活中不可或缺的一項(xiàng)基本技能。學(xué)生了解了學(xué)習(xí)目標(biāo)之后,就會(huì)迫切地想自己去嘗試程序設(shè)計(jì),這樣學(xué)生學(xué)習(xí)程序設(shè)計(jì)的積極性就被調(diào)動(dòng)起來了。
2.揭開程序設(shè)計(jì)的神秘面紗,開始學(xué)習(xí)之旅
初學(xué)者在學(xué)完計(jì)算機(jī)應(yīng)用基礎(chǔ)后,對(duì)計(jì)算機(jī)的運(yùn)行原理還是似懂非懂,在這樣的前提下,開設(shè)VB程序設(shè)計(jì)課,學(xué)生想到要自己編寫程序代碼來控制計(jì)算機(jī)完成一項(xiàng)任務(wù)更是一頭霧水。通過長期的教學(xué)實(shí)踐筆者得出的結(jié)論是,要解決這一問題,主要是要在學(xué)習(xí)者腦海中樹立“萬丈高樓平地起”的思想:即無論多復(fù)雜的程序都是由基本語句積累起來的,而基本語句是很容易掌握的。例如,借助Windows畫圖程序講解一個(gè)簡易調(diào)色板程序,改變文本框背景顏色只需要一行語句:Text1.backcolor=VBred即可實(shí)現(xiàn)。教師在給出VB顏色描述的關(guān)鍵字后,進(jìn)一步要求學(xué)生實(shí)現(xiàn)其他顏色的編程。同時(shí),在教學(xué)之初,教師還可以通過一些簡單有趣的實(shí)例講解來幫助學(xué)生正確認(rèn)識(shí)VB程序設(shè)計(jì)的基本步驟和方法。
3.鼓勵(lì)學(xué)生克服程序設(shè)計(jì)的畏難情緒,激發(fā)其學(xué)習(xí)興趣
學(xué)生通過兩周的學(xué)習(xí),對(duì)VB程序設(shè)計(jì)會(huì)有初步的了解,如VB基礎(chǔ)開發(fā)環(huán)境、對(duì)象、方法、事件等概念,但教學(xué)之初所形成的學(xué)習(xí)欲望會(huì)逐漸冷卻,再加之VB的每一個(gè)對(duì)象都有許多個(gè)屬性,而且全是英文,晦澀而抽象的概念和英文描述很容易使學(xué)生產(chǎn)生畏難情緒,甚至厭學(xué)。此時(shí)特別需要教師對(duì)學(xué)生進(jìn)行鼓勵(lì)、指導(dǎo),引導(dǎo)學(xué)生明白雖然每個(gè)對(duì)象具有自己的屬性,但各對(duì)象之間有大部分屬性是相同的,并且這些屬性中常用的只有一小部分,很容易就能掌握;另外程序代碼的書寫雖然看似神秘,但掌握了語法格式后很容易編寫。
二、改革教學(xué)方法和教學(xué)手段,提高教學(xué)質(zhì)量
1.從生活實(shí)際入手,將抽象的理論形象化
人類社會(huì)的理論知識(shí)都是日常生活中發(fā)現(xiàn)總結(jié)出來的,而VB程序設(shè)計(jì)作為一門課程也是前人在不斷的實(shí)踐中完善和發(fā)展起來的,必然和日常生活有著密切的聯(lián)系。如果能將VB程序設(shè)計(jì)的教學(xué)過程同生活實(shí)際聯(lián)系起來,原本枯燥抽象的理論就會(huì)變得形象生動(dòng)、通俗易懂,易于學(xué)生接受。例如在講解VB變量的命名時(shí)可以聯(lián)系實(shí)際生活中起名的習(xí)慣來類比展開,“變量命名必須以字母打頭”這一原則如同我們的名字必須以姓氏打頭;變量起名時(shí)不能用關(guān)鍵字如if,for等,如同我們起名時(shí)不會(huì)用燈管、茶幾等名詞;變量在其有效范圍內(nèi)必須唯一,如同我們一個(gè)家庭的弟兄倆不應(yīng)重名。只要將理論與生活有機(jī)地結(jié)合,找出理論在生活中的原型,教師講課也感到輕松,學(xué)生聽起來也容易理解,實(shí)踐證明這可以取得事半功倍的效果。
2.利用現(xiàn)代教育手段,提高課堂教學(xué)質(zhì)量
VB程序設(shè)計(jì)學(xué)習(xí)的特點(diǎn)是實(shí)踐性強(qiáng),所有的理論最終都要以寫好的程序?yàn)榻Y(jié)果。而傳統(tǒng)的黑板+粉筆的教學(xué)手段使教師將程序代碼寫在黑板上講解無異于畫餅充饑,無法向?qū)W生展示程序運(yùn)行的結(jié)果,特別是容易出錯(cuò)的地方不能驗(yàn)證,因此充分利用多媒體投影等現(xiàn)代教育技術(shù)手段是非常實(shí)用且必要的。一是利用多媒體授課,恰當(dāng)?shù)恼n件不僅可以提高學(xué)生的學(xué)習(xí)興趣,還能把程序結(jié)果實(shí)時(shí)地展示給學(xué)生,增大了課堂教學(xué)的信息量,使講授內(nèi)容形象、直觀,這樣的教學(xué)過程學(xué)生聽得清、看得切、記得牢、印象深,原本在課堂上聽起來非??菰锓ξ兜膬?nèi)容就會(huì)變得充滿樂趣。二是采用實(shí)踐型授課,在計(jì)算機(jī)實(shí)驗(yàn)室利用電子教室進(jìn)行教學(xué),即采用邊講邊練的授課形式,學(xué)生對(duì)學(xué)習(xí)的程序進(jìn)行現(xiàn)場操作,將理論講授和上機(jī)實(shí)踐融為一體,使講解更直觀、更清晰、更具吸引力,同時(shí)教師還可以隨時(shí)發(fā)現(xiàn)學(xué)生實(shí)際操作中的問題,給予及時(shí)的指導(dǎo),從而有效提高教學(xué)質(zhì)量。
三、創(chuàng)新評(píng)價(jià)方式,鞏固教學(xué)成果
課程的教學(xué)質(zhì)量是平時(shí)教與學(xué)質(zhì)量的總體體現(xiàn),課程考核是對(duì)學(xué)習(xí)者知識(shí)、技能和能力的綜合評(píng)價(jià)。VB程序設(shè)計(jì)由于其特有的實(shí)踐性強(qiáng)而有別于其他課程,采用單純筆試的評(píng)價(jià)方法不能全面、準(zhǔn)確地衡量教學(xué)質(zhì)量。通過實(shí)踐發(fā)現(xiàn),VB課程考核方法的改革思路是在現(xiàn)有的考核基礎(chǔ)上,注重對(duì)學(xué)生過程性評(píng)價(jià)和實(shí)踐操作能力的評(píng)價(jià),即采用“理論(40%)+上機(jī)(40%)+過程性考核(20%)”的綜合性考核模式。
四、結(jié)束語
總之,教學(xué)工作是一項(xiàng)艱巨的任務(wù),還需要在長期的教學(xué)實(shí)踐中不斷改革舊的教學(xué)模式,并結(jié)合學(xué)生實(shí)際情況,去探索研究,尋找新的、行之有效的教學(xué)方法和手段,綜合評(píng)價(jià)學(xué)生,努力培養(yǎng)學(xué)生自主學(xué)習(xí)的興趣,只有這樣才能提高學(xué)生實(shí)際應(yīng)用的能力,VB課程的教學(xué)質(zhì)量才能得到不斷的提高。
參考文獻(xiàn):
關(guān)鍵詞:VFP程序設(shè)計(jì);數(shù)據(jù)庫;教學(xué)實(shí)踐
1《VFP程序設(shè)計(jì)》課程特點(diǎn)
VisualFoxPor(簡稱VFP)是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有強(qiáng)大的數(shù)據(jù)庫管理功能,也是中、小規(guī)模管理信息系統(tǒng)的常用開發(fā)工具;VFP結(jié)構(gòu)簡單、使用方便,對(duì)于學(xué)生來說,比較容易接受和理解,所以《VFP程序設(shè)計(jì)》是很多高校非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)課程。在高等院校加強(qiáng)文史類、經(jīng)濟(jì)管理類專業(yè)學(xué)生的計(jì)算機(jī)教育是培養(yǎng)能夠滿足信息化社會(huì)要求人才的重要舉措。從教學(xué)目標(biāo)以及《VFP程序設(shè)計(jì)》課程本身的特點(diǎn)可以看出,VFP是一門實(shí)踐性很強(qiáng)的課程。
2傳統(tǒng)的程序設(shè)計(jì)教學(xué)存在的問題
《VFP程序設(shè)計(jì)》課程的課時(shí)安排的少,但是教學(xué)內(nèi)容比較多,一學(xué)期下來基本上是前邊學(xué)后邊忘,比如常量、變量、函數(shù)、表達(dá)式這部分知識(shí),命令多、格式復(fù)雜,并且還必須留出一定的時(shí)間進(jìn)行上機(jī)練習(xí)。所以說在有限的時(shí)間里理論課時(shí)多就不能保證實(shí)驗(yàn)課時(shí)充足,實(shí)驗(yàn)課時(shí)多理論課時(shí)就少。這種情況下教師教學(xué)的難度以及學(xué)生學(xué)習(xí)的難度較大。(1)只重視理論課,不重視實(shí)踐教學(xué)。因?yàn)榭偟恼n時(shí)少,教材上大量的內(nèi)容擺在老師面前,老師只能快講多講,以完成教學(xué)計(jì)劃,這時(shí)可能就忽略了實(shí)驗(yàn)課,比如在講數(shù)據(jù)庫的操作命令時(shí),命令格式里邊提到過尖括號(hào)“<>”和方括號(hào)“[]”,老師強(qiáng)調(diào)其中的尖方括號(hào)中的內(nèi)容是必須有的,也就是說不能省略,而方括號(hào)中的內(nèi)容是可有可無的,即可以省略。而學(xué)生在面對(duì)選擇題時(shí),比如,下列哪個(gè)不是字符型數(shù)據(jù):(A)’89’;(B)”01/10/17”;(C)50;(D)[78]。顯然答案是D,方括號(hào)在這里是字符型數(shù)據(jù)的標(biāo)記,而學(xué)生和“方括號(hào)中的內(nèi)容可以省略”混在一塊了。這就說明平時(shí)老師講得比較多,沒有時(shí)間復(fù)習(xí),沒有給學(xué)生時(shí)間上機(jī)親自操作,也就是說學(xué)生沒有消化老師講的全部內(nèi)容。一旦讓學(xué)生上機(jī)練習(xí)時(shí),學(xué)生也只是會(huì)簡單模仿老師操作的實(shí)例,不去認(rèn)真思考例題中包含的知識(shí)點(diǎn),更缺乏分析問題的能力。(2)學(xué)生對(duì)《VFP程序設(shè)計(jì)》課程認(rèn)識(shí)不夠,不知道該課程有哪方面的功能,學(xué)生在學(xué)習(xí)過程中自己心中沒有明確目標(biāo),再加上課時(shí)少、內(nèi)容多,老師只顧快講多講沒留上機(jī)操作時(shí)間,精力集中的學(xué)生還能跟上老師的思路,精力不集中的學(xué)生就跟不上了,如果老師再不注意觀察學(xué)生的表現(xiàn),只是一味地講下去,就會(huì)有越來越多的學(xué)生失去學(xué)習(xí)興趣。每天學(xué)的知識(shí)是管理系統(tǒng)的哪一部分,處在《VFP程序設(shè)計(jì)》課程的哪個(gè)位置,學(xué)生統(tǒng)統(tǒng)不知,這樣就更談不上調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性。例如,函數(shù)ABS(<數(shù)值表達(dá)式>)與函數(shù)LEN(<字符表達(dá)式>),學(xué)生只是知道它們是取絕對(duì)值函數(shù)與求字符串長度函數(shù),對(duì)這兩個(gè)函數(shù)不陌生,計(jì)算起來也很熟練,但就是在編寫程序過程中,不會(huì)巧妙地利用這兩個(gè)函數(shù),也就是說理論很熟練但不會(huì)應(yīng)用于實(shí)踐,這也造成了學(xué)生學(xué)習(xí)目的不明確。
3教學(xué)方法探討
3.1激發(fā)學(xué)生的學(xué)習(xí)興趣,明確學(xué)習(xí)目的
課堂上教師上課激發(fā)起學(xué)生的學(xué)習(xí)興趣,才是促進(jìn)學(xué)生勤奮學(xué)習(xí)的一個(gè)很重要的因素。對(duì)于許多非計(jì)算機(jī)專業(yè)的學(xué)生來說,在學(xué)習(xí)專業(yè)知識(shí)的同時(shí)學(xué)習(xí)這門課程,在教學(xué)課時(shí)安排上肯定是要么少講多練,要么多講少練。但是《VFP程序設(shè)計(jì)》課是理論和實(shí)踐聯(lián)系非常密切的課程,這就出現(xiàn)了矛盾。再加上非計(jì)算機(jī)專業(yè)的學(xué)生初次接觸《VFP程序設(shè)計(jì)》課程,對(duì)這門課程不夠了解,繁多、抽象、枯燥的常量、變量、函數(shù)和表達(dá)式,使得學(xué)生高漲的學(xué)習(xí)熱情越來越弱,也使得學(xué)習(xí)目的變得不明確。分析上述問題產(chǎn)生的原因,主要和教師的教學(xué)方法和教學(xué)進(jìn)度的安排有一定關(guān)系。因此,為了在有限的課時(shí)之內(nèi),成功上好這門課,學(xué)生成功掌握這門課,老師一定要充分利用好每堂課,首先在第一堂課上一定要備課充足、內(nèi)容豐富,這個(gè)內(nèi)容不是說的教材內(nèi)容豐富。第一節(jié)課非常重要,上好第一節(jié)課非常關(guān)鍵,它是一門新課程成功的重要環(huán)節(jié)。首先,舉例要密切聯(lián)系日常生活,比如“學(xué)生期末考試成績管理系統(tǒng)”“老同學(xué)通訊錄”“學(xué)校琴房的學(xué)生使用鋼琴管理”“實(shí)驗(yàn)室儀器設(shè)備管理系統(tǒng)”“某招考院招生系統(tǒng)”“超市商品結(jié)賬系統(tǒng)”“某街道辦事處社區(qū)居民的信息管理系統(tǒng)”等,老師拿其中一個(gè)例子口頭講解或用教師機(jī)演示,這樣學(xué)生對(duì)《VFP程序設(shè)計(jì)》這門新課程有了初步的整體認(rèn)識(shí),有了直觀的了解,從而激發(fā)起興趣,課堂氣氛活躍,學(xué)生大體了解了這門課程的功能以及學(xué)習(xí)這門課程將來能做哪方面的工作,即使學(xué)不會(huì)編程最起碼了解了電腦的工作原理。再比如象棋大師和電腦一塊下象棋,電腦怎么知道該走哪一步、不該走哪一步呢,這是因?yàn)殡娔X硬件里邊裝有解決具體問題的軟件系統(tǒng)。電腦本身只是一個(gè)機(jī)器,不能進(jìn)行任何計(jì)算,是軟件程序代碼在支配與控制電腦。也可以把某一個(gè)的應(yīng)用管理系統(tǒng)展開講解,共包括多少個(gè)小模塊,各個(gè)模塊的功能分別是什么。要鼓勵(lì)學(xué)生只要認(rèn)真學(xué)、有心學(xué),有老師的指導(dǎo),就能掌握知識(shí)。
3.2案例教學(xué)法
《VFP程序設(shè)計(jì)》課程是一門理論和實(shí)際聯(lián)系緊密的課程,教師在講解該課程的過程當(dāng)中引入案例進(jìn)行教學(xué),能夠激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生解決實(shí)際問題的能力。案例教學(xué)法,就是把實(shí)際工作中的真實(shí)情景加以典型化處理,形成供學(xué)生思考分析的案例,通過獨(dú)立研究和相互討論的方式,來提高學(xué)生分析問題和解決問題的能力。是培養(yǎng)學(xué)生運(yùn)用理論知識(shí)并形成技能技巧的一種教學(xué)方法。那么,如何使用案例教學(xué)法?例如在課程剛開始時(shí)引入一個(gè)實(shí)際生活當(dāng)中有趣的案例,比如“某街道辦事處社區(qū)居民信息管理系統(tǒng)”中姓名、年齡、性別、主要成員、家庭住址各個(gè)字段,查找與統(tǒng)計(jì)符合條件的人數(shù)或住戶,說明完成該案例有兩種方法,用傳統(tǒng)的手工方法完成和用計(jì)算機(jī)管理系統(tǒng)完成。前種方法會(huì)費(fèi)時(shí)費(fèi)力、出錯(cuò)率高,后種方法高效和精確,并告訴學(xué)生該案例使用到了《VFP程序設(shè)計(jì)》課程當(dāng)中的哪些知識(shí)點(diǎn),然后舉一反三運(yùn)用這些知識(shí)點(diǎn)編寫其他程序。在上機(jī)實(shí)驗(yàn)課給出幾個(gè)簡單實(shí)用的小程序,說明該程序功能可以完成什么樣的工作,其中的程序代碼中有三處或者多處的語法錯(cuò)誤,讓學(xué)生根據(jù)所學(xué)的知識(shí)找出這幾處的錯(cuò)誤并改正過來,使程序順利運(yùn)行。如果都練習(xí)地比較熟練,再進(jìn)一步增加難度,老師提出程序要求,讓學(xué)生自己完成整個(gè)程序代碼的編寫,提示學(xué)生用到雙分支語句或者多分支語句,或者至少有一個(gè)循環(huán)語句,考慮整個(gè)循環(huán)成立的條件,什么情況下條件不成立,也就是說什么情況下循環(huán)結(jié)束,學(xué)生能編寫出簡單的程序代碼也基本上達(dá)到這門課程的教學(xué)目標(biāo)了,學(xué)生相應(yīng)獲得極大成就感。教學(xué)實(shí)踐表明,在《VFP程序設(shè)計(jì)》課程教學(xué)中合理使用案例教學(xué)法,可以有效解決傳統(tǒng)教學(xué)中遇到的問題,提高教師整體水平,在激發(fā)學(xué)生的學(xué)習(xí)興趣、開發(fā)學(xué)習(xí)潛能、提高其分析和解決實(shí)際問題的能力等方面很有成效[2-3]。
3.3任務(wù)驅(qū)動(dòng)教學(xué)法
任務(wù)驅(qū)動(dòng)教學(xué)法可使學(xué)生的學(xué)習(xí)目標(biāo)明確,了解相關(guān)的知識(shí)和操作方法。經(jīng)驗(yàn)表明教師應(yīng)改變過去那種照本宣科的教學(xué)方法,教師應(yīng)發(fā)揮主導(dǎo)作用,先提出問題,帶著問題去講授,引導(dǎo)學(xué)生積極思考、認(rèn)真討論,讓學(xué)生帶著問題學(xué)習(xí)、思考,完成一個(gè)個(gè)任務(wù)。例如利用“學(xué)生期末考試成績管理系統(tǒng)”,統(tǒng)計(jì)考試不及格學(xué)生的人數(shù),提醒學(xué)生在交互式命令窗口中使用的是哪些命令,在程序代碼中應(yīng)怎樣使用,使用哪些語句才能完成這個(gè)統(tǒng)計(jì)不及格人數(shù)的任務(wù)。再比如怎樣徹底刪除一條學(xué)生記錄,因?yàn)樵诿畲翱诋?dāng)中有邏輯刪除命令、物理刪除命令,是先pack命令還是先delete命令,如果大量刪除相鄰的記錄或者大量刪除不相鄰的符合某些條件的記錄,應(yīng)怎樣編寫語句,用什么方法能準(zhǔn)確修改表中大批量的數(shù)據(jù),帶著這樣的問題來完成這些任務(wù),就會(huì)使學(xué)生掌握書中各條命令格式及其功能。整個(gè)教學(xué)過程始終以任務(wù)為驅(qū)動(dòng),學(xué)生是學(xué)習(xí)的主體,通過教師的提問、講解,學(xué)生再通過上機(jī)操作,讓理論和實(shí)踐充分結(jié)合,這樣才可達(dá)到預(yù)期的效果。
4結(jié)語
本文分析了非計(jì)算機(jī)專業(yè)《VFP程序設(shè)計(jì)》教學(xué)特點(diǎn),研究了非計(jì)算機(jī)專業(yè)《VFP程序設(shè)計(jì)》課程的教學(xué)方法,提出了在教學(xué)中引入案例教學(xué)法。案例教學(xué)以其與實(shí)際聯(lián)系緊密、操作性強(qiáng)的特點(diǎn)被應(yīng)用于《VFP程序設(shè)計(jì)》課程教學(xué)中,架起了理論與實(shí)踐的橋梁。
參考文獻(xiàn)
[1]教育部高等學(xué)校文科計(jì)算機(jī)基礎(chǔ)教學(xué)指導(dǎo)委員會(huì).高等學(xué)校文科類專業(yè)大學(xué)計(jì)算機(jī)教學(xué)基本要求[M].北京高等教育出版社,2008.
[2]王新,陳同俊.案例教學(xué)法在VFP教學(xué)中的應(yīng)用[J].福建電腦,2007(8):27-28.
關(guān)鍵詞:計(jì)算思維;程序設(shè)計(jì);教學(xué)實(shí)踐;算法
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)07-0143-03
《程序設(shè)計(jì)基礎(chǔ)》是大多數(shù)理工科學(xué)生及部分文科學(xué)生的選修課甚至必修課,而C++語言又是大多數(shù)學(xué)校教授這門課程的首選語言。開設(shè)這門課程的意義,很多學(xué)生甚至部分老師認(rèn)為就只是為了掌握一門編程語言,為語言而學(xué)習(xí)語言,為編程而學(xué)習(xí)編程。事實(shí)上,大多數(shù)學(xué)生沒有認(rèn)識(shí)到的是,通過學(xué)習(xí)一門編程語言,進(jìn)而學(xué)會(huì)編程,可以讓他們擁有與聽說讀寫同等重要的認(rèn)知能力――計(jì)算思維??梢哉f計(jì)算思維是我們和計(jì)算機(jī)對(duì)話的接口,通過學(xué)習(xí)這門課程,讓學(xué)生具備初步的計(jì)算思維能力也是開設(shè)《程序設(shè)計(jì)基礎(chǔ)》這門課程的一個(gè)重要目的。
什么是計(jì)算思維,卡內(nèi)基梅隆大學(xué)的周以真教授對(duì)其進(jìn)行了系統(tǒng)闡述和推廣。周以真教授認(rèn)為,計(jì)算思維代表著一種普遍的認(rèn)識(shí)和一類普適的技能,每一個(gè)人,都應(yīng)熱心于它的學(xué)習(xí)和運(yùn)用。如果一個(gè)人具備計(jì)算思維能力,則能讓他“像計(jì)算機(jī)科學(xué)家一樣思考”。對(duì)于計(jì)算思維,她是這樣定義的:“計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解問題、設(shè)計(jì)系統(tǒng)和理解人類的行為。計(jì)算思維包括了涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)”。那么,什么是像計(jì)算機(jī)科學(xué)家一樣的思考呢?因?yàn)橛?jì)算機(jī)科學(xué)家具備了豐富的計(jì)算機(jī)科學(xué)理論和知識(shí),總是以自己扎實(shí)的學(xué)科知識(shí)從事計(jì)算機(jī)相關(guān)的研究工作,同時(shí),在日常的生活中,也會(huì)自覺或者不自覺地運(yùn)用計(jì)算機(jī)學(xué)科知識(shí)解釋身邊的現(xiàn)象、解決身邊的問題。
計(jì)算思維描述的不僅是計(jì)算,能計(jì)算不等于有計(jì)算思維;計(jì)算思維是人的思維,不是程序,也不是計(jì)算機(jī)的思維,大學(xué)生學(xué)習(xí)《C++程序設(shè)計(jì)》這門課,應(yīng)該從單純的語言、編程的學(xué)習(xí),轉(zhuǎn)變到計(jì)算思維的培養(yǎng)學(xué)習(xí)上來,使計(jì)算思維如同實(shí)證思維、邏輯思維一樣,成為每個(gè)學(xué)生應(yīng)該具備的基本科學(xué)思維能力。
如何把計(jì)算思維引入到《C++程序設(shè)計(jì)》這門課程中來,本人在教學(xué)過程中開展了有益的實(shí)踐和探索,得到了學(xué)生的認(rèn)可。
1基于經(jīng)典算法的計(jì)算思維教學(xué)實(shí)踐
將《C++程序設(shè)計(jì)》課程的重點(diǎn)轉(zhuǎn)到程序設(shè)計(jì)的思想和方法上來,而不是僅僅教授一門程序設(shè)計(jì)語言及其應(yīng)用。課程以“發(fā)現(xiàn)問題――分析問題一尋求不同解決方法―對(duì)比選優(yōu)―解決問題”的“問題求解驅(qū)動(dòng)式”的講授方法,通過實(shí)際的案例中的一些經(jīng)典算法,盡可能地講授清楚計(jì)算思維在解決實(shí)際問題中的作用。
比如在講授完排序算法后,給出一個(gè)背包問題的案例;出去遠(yuǎn)足,允許你帶一個(gè)規(guī)定大小的背包,裝盡可能多能量(卡路里)的食品。這是經(jīng)典的背包問題。你可以預(yù)先將所有食品的能量按大小排序,然后按順序從高到低裝包。但你的背包是限重的,能量高的食品可能很重,導(dǎo)致你裝的食品很少,從而總能量并不高。一種方法是以卡路里/重量的比率排序,按比率母叩降偷乃承蚪食品裝入背包,從而希望裝入背包的食品總能量最高。這種以每次價(jià)值最大為依據(jù)解決問題的思想就是貪心策略。
貪心策略的基本思想是把求解問題的任務(wù)分解為若干個(gè)步驟,但算法在每一步驟的決定可能是短視的,即該步驟所采取的方法是局部最優(yōu)而非全局最優(yōu)解。盡管并不是所有問題的局部最優(yōu)解就是全局最優(yōu)解,但在實(shí)際問題求解過程中,仍然可以用貪心策略得到可以接受的問題解。
從計(jì)算思維的角度看,貪心策略為我們提供了解決問題的一個(gè)方法:以當(dāng)前和局部最優(yōu)化為出發(fā)點(diǎn)去求解問題簡單易行,具有一定的適用性。
在講授函數(shù)的遞歸調(diào)用這個(gè)知識(shí)點(diǎn)時(shí),通過介紹歸并排序這個(gè)實(shí)例提出分治策略的思想,即把一個(gè)較復(fù)雜的問題分解為若干個(gè)與原問題同結(jié)構(gòu)但規(guī)模較小的子問題,然后以遞歸的方式求解這些子問題,并通過合并子問題的解得到原問題的解。
分治策略也體現(xiàn)了一種計(jì)算思維在里面,它是解決工作和生活中很多問題的一種常用方法。分治策略為我們提供了這樣一種思路,當(dāng)面對(duì)復(fù)雜問題時(shí),可以把問題轉(zhuǎn)化為相互之間具有一定聯(lián)系的、規(guī)模較小的、解決方法類似的子問題,最后通過合并子問題的解得到原問題的解。
通過這樣的案例,講解若干典型算法在問題求解中的應(yīng)用,揭示其所體現(xiàn)的計(jì)算思維,讓學(xué)生在學(xué)習(xí)算法思想的過程中逐步培養(yǎng)他們的計(jì)算思維能力。同時(shí)感受具備一定的計(jì)算思維能力所帶來的好處。
2強(qiáng)化計(jì)算思維能力培養(yǎng)的教學(xué)方法
《C++程序設(shè)計(jì)》作為非計(jì)算機(jī)專業(yè)的學(xué)生的計(jì)算機(jī)語言的入門課程,要學(xué)好它是有難度的,C++的語法規(guī)則繁瑣、枯燥、抽象,對(duì)具體語法規(guī)則的學(xué)習(xí)和記憶會(huì)影響學(xué)生對(duì)語言本身內(nèi)涵的理解和計(jì)算思維的體驗(yàn)。本人在教學(xué)過程中,從訓(xùn)練學(xué)生的計(jì)算思維為出發(fā)點(diǎn),將計(jì)算思維的本質(zhì)――抽象和自動(dòng)化作為主線,貫穿于整個(gè)教學(xué)過程中。從問題出發(fā),通過抽象、約簡,轉(zhuǎn)化成解決問題的算法描述,最后得到算法的C++語言實(shí)現(xiàn)。將《C++程序設(shè)計(jì)》課程從以往偏重講授一個(gè)個(gè)孤立的語法知識(shí)點(diǎn)轉(zhuǎn)變?yōu)橐杂?jì)算思維為出發(fā)點(diǎn),把重點(diǎn)放在問題求解和算法的實(shí)現(xiàn)上,這樣的教學(xué)方法,可以達(dá)到對(duì)學(xué)生的計(jì)算思維進(jìn)行更好的訓(xùn)練的目的。
在教學(xué)過程中,多用生活中的例子解釋計(jì)算機(jī)課程中的概念,是讓學(xué)生盡早建立起計(jì)算思維的好方法。比如在講解算法的概念時(shí),從生活中的問題求解(比如做菜)出發(fā),講解其與計(jì)算機(jī)求解問題的異同點(diǎn),進(jìn)而引出算法的概念、特點(diǎn)和描述方法。在講解遞歸這個(gè)在計(jì)算思維中非常重要的概念時(shí),從生活中的現(xiàn)象出發(fā),比如兩塊面對(duì)面放著的鏡子中的影像,去引導(dǎo)學(xué)生理解遞歸的概念。通過講解數(shù)學(xué)中的階乘的遞歸定義,讓學(xué)生理解遞歸算法中的兩個(gè)重要條件:求解問題的自相似性和遞歸出口。
在教學(xué)過程中,多用一題多解來引導(dǎo)學(xué)生深入思考,也是培養(yǎng)學(xué)生計(jì)算思維能力的一個(gè)好方法。教學(xué)中,一些問題往往不止一種解決方案,通過一題多解讓學(xué)生去發(fā)現(xiàn)、尋求更好的解決方法。比如找假幣問題,9個(gè)銅幣,其中有一枚假幣比其余的真幣輕,現(xiàn)在有一個(gè)天平,請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法,找出其中的假幣。方法一,每兩個(gè)銅幣一組,分為4組,分別放到天平上稱,前面4組任一組有假幣都可以通過天平稱出來,如果4組都一樣,則假幣是沒有被分組的那個(gè)銅幣,所以最多稱4次可以找到假幣;方法二,先將其中的8個(gè)平分為兩組,如果相等,則剩下的是假幣,否則,假幣一定在較輕的一組里,把這一組的4個(gè)平分成兩組,假幣一定在較輕的一組里,再把較輕一組的兩放到天平上稱重找到假幣。這種方法最多需要稱3次可以找到假幣。方法三,將9個(gè)銅幣每三個(gè)分為一組,將其中的兩組放到天平上稱一次,可以確定假幣在哪一組,再將有假幣的一組分為3組,每組一個(gè)幣,將其中的兩組放到天平上稱一次,即可確定假幣。這種方法最多稱兩次即可找到假幣??梢钥吹?,三種方法雖然都能找到假幣,但顯然第三種方法效率最高。在教學(xué)中經(jīng)常采用這樣的一題多解的方式可以更好地提高學(xué)生分析問題、解決問題的能力。
在教學(xué)過程中,多安排學(xué)生上機(jī)實(shí)踐,它也是培養(yǎng)學(xué)生計(jì)算思維能力的重要方法之一。在實(shí)踐環(huán)節(jié),教師應(yīng)該盡量設(shè)計(jì)難度適中、趣味性比較強(qiáng)的實(shí)驗(yàn)題目,提高學(xué)生的學(xué)習(xí)興趣。比如在講授C++的循環(huán)結(jié)構(gòu)時(shí),要求學(xué)生上機(jī)完成打印輸出一個(gè)由“*”構(gòu)成的菱形圖案,在完成題目的過程中理解循環(huán)嵌套的機(jī)制,分析內(nèi)循環(huán)和外循環(huán)在輸出圖形中所起的作用,總結(jié)發(fā)現(xiàn)規(guī)律,最后得出打印輸出一般二維圖形的方法。
3基于計(jì)算思維教育的《c++程序設(shè)計(jì)》課程設(shè)計(jì)
計(jì)算思維不僅僅是編寫程序,而是運(yùn)用計(jì)算機(jī)的相關(guān)概念、技術(shù)去求解題、設(shè)計(jì)系統(tǒng)和理解人類與自然界的行為和現(xiàn)象。大學(xué)應(yīng)該以培養(yǎng)學(xué)生的計(jì)算思維能力為核心,使它成為每個(gè)學(xué)生都具備的基本科學(xué)思維能力。
如何在程序設(shè)計(jì)課程中引入計(jì)算思維,是很多高校正在開展的實(shí)踐和探索_8_。下面介紹針對(duì)全校非計(jì)算機(jī)專業(yè)學(xué)生開設(shè)“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C++)”課程的具體實(shí)施方法。
“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C++)”這門課程的目標(biāo)是:學(xué)生學(xué)過這門功課后,能夠系統(tǒng)掌握結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的理論、方法與技術(shù),增強(qiáng)學(xué)生的動(dòng)手能力,培養(yǎng)學(xué)生的計(jì)算思維能力和創(chuàng)新能力,提高學(xué)生學(xué)習(xí)計(jì)算機(jī)知識(shí)的興趣。
表1是這門課的教學(xué)安排。除了課程內(nèi)容的講授,實(shí)驗(yàn)和實(shí)踐環(huán)節(jié)也是非常重要的,我們精心準(zhǔn)備了與課程內(nèi)容同步的實(shí)驗(yàn),并且在理論課程結(jié)束后還安排了16學(xué)時(shí)的實(shí)踐環(huán)節(jié),學(xué)生集中在一到兩周內(nèi)完成一個(gè)大的完整的課程設(shè)計(jì)作業(yè),通過這種形式來幫助學(xué)生綜合運(yùn)用課程中所學(xué)的知識(shí)來解決實(shí)際問題,從而達(dá)到提高學(xué)生分析問題、提高計(jì)算思維能力的目的。
在這門課程的教學(xué)中,教師時(shí)刻注意以講授程序設(shè)計(jì)的基本思想和方法為綱,在這個(gè)過程中潛移默化地將計(jì)算思維融入到學(xué)生的思維體系中。
關(guān)鍵詞:編程思維;計(jì)算思維;教學(xué)方法;實(shí)踐教學(xué)
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):16727800(2012)011018602
作者簡介:王付山(1974-),男,碩士,德州學(xué)院計(jì)算機(jī)系副教授,研究方向?yàn)橛?jì)算機(jī)基礎(chǔ)教育及數(shù)據(jù)挖掘。
0 引言
《C語言程序設(shè)計(jì)》是高校理工科專業(yè)教學(xué)中一門重要的公共必修課,是學(xué)生利用信息技術(shù)為本專業(yè)服務(wù)的重要基礎(chǔ)課程,在教學(xué)計(jì)劃中占有非常重要的地位和作用。本課程是一門實(shí)踐性的課程,本課程的核心任務(wù)是使學(xué)生掌握C語言的語法規(guī)則、程序設(shè)計(jì)的基本方法和編程能力,培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)語言解決和處理實(shí)際問題的思維方法和基本能力,為進(jìn)一步學(xué)習(xí)和應(yīng)用計(jì)算機(jī)及利用現(xiàn)代信息技術(shù)為專業(yè)知識(shí)服務(wù)打下堅(jiān)實(shí)基礎(chǔ),對(duì)培養(yǎng)信息化時(shí)代大學(xué)生的實(shí)踐能力和應(yīng)用能力意義重大。
C語言程序設(shè)計(jì)課程為德州學(xué)院的校級(jí)精品課程(網(wǎng)站:http://211.64.32.29/kc/jsjx_jsjjsjcc/index.php)。本文根據(jù)筆者多年的C程序設(shè)計(jì)教學(xué)實(shí)踐經(jīng)驗(yàn),從教學(xué)內(nèi)容、教學(xué)方法和實(shí)踐教學(xué)三個(gè)方面對(duì)C程序設(shè)計(jì)課程的教學(xué)改革進(jìn)行了探討與實(shí)踐。
1 教學(xué)中存在的主要問題
根據(jù)筆者多年的教學(xué)經(jīng)驗(yàn),以及對(duì)學(xué)生的跟蹤調(diào)查分析,C語言程序設(shè)計(jì)教學(xué)中主要存在以下幾個(gè)問題:
(1)教學(xué)內(nèi)容的知識(shí)點(diǎn)多而繁瑣,教學(xué)重點(diǎn)不突出,導(dǎo)致學(xué)生學(xué)習(xí)興趣偏低。C程序設(shè)計(jì)教學(xué)內(nèi)容中涉及的語法規(guī)則多而枯燥,不易記憶,再加上學(xué)生本身對(duì)計(jì)算機(jī)的可計(jì)算特點(diǎn)、計(jì)算思維的認(rèn)識(shí)不足,因而,學(xué)生面對(duì)這些多而繁瑣的知識(shí)點(diǎn),感覺無從下手,一時(shí)找不到學(xué)習(xí)的重點(diǎn)。這樣學(xué)過的知識(shí)點(diǎn)沒有掌握,又跟不上教學(xué)的步伐,偏離對(duì)學(xué)生計(jì)算思維和編程思維培養(yǎng)的重點(diǎn),導(dǎo)致學(xué)生學(xué)習(xí)興趣降低,失去了學(xué)習(xí)動(dòng)力。
(2)教學(xué)方法與學(xué)生的認(rèn)知過程存在偏差。項(xiàng)目:德州學(xué)院教育教學(xué)改革研究項(xiàng)目JGLX-B09032。
教師在教學(xué)中,往往關(guān)注于對(duì)學(xué)生知識(shí)的傳授,雖然知識(shí)點(diǎn)也講了,案例也給同學(xué)們分析了,也啟發(fā)學(xué)生思考了,但是同學(xué)們對(duì)如何用,在什么情況下用,還是不清楚。說到底,這是教師的教學(xué)方法與學(xué)生的認(rèn)知過程存在偏差,對(duì)學(xué)生認(rèn)知過程、認(rèn)知結(jié)構(gòu)和學(xué)習(xí)狀況不夠了解,沒有真正按照從實(shí)踐到理論的認(rèn)知過程進(jìn)行組織教學(xué)。
(3)實(shí)踐教學(xué)的層次低、應(yīng)用性低。目前,多數(shù)高校對(duì)于教學(xué)的安排是課堂理論教學(xué)+上機(jī)實(shí)踐,對(duì)于上機(jī)實(shí)踐環(huán)節(jié)方面,多是驗(yàn)證例題,設(shè)計(jì)習(xí)題,教師再給予指導(dǎo)。這樣的實(shí)踐教學(xué)應(yīng)用性低,導(dǎo)致學(xué)生學(xué)習(xí)C語言感覺沒什么用處,缺乏對(duì)學(xué)生計(jì)算思維、創(chuàng)新思維的培養(yǎng)。
2 因材施教,進(jìn)行教學(xué)內(nèi)容改革,編寫與教學(xué)改革理念相適應(yīng)的教材 在教學(xué)內(nèi)容方面,通過調(diào)查研究,了解社會(huì)對(duì)C語言基礎(chǔ)知識(shí)的需求定位,強(qiáng)調(diào)教學(xué)內(nèi)容的“合理性、規(guī)范性、急用先學(xué)性、實(shí)用性”原則,對(duì)教學(xué)內(nèi)容適當(dāng)取舍,側(cè)重對(duì)學(xué)生編程思維和計(jì)算思維的培養(yǎng)。
本課題組在綜合調(diào)研國內(nèi)C語言程序設(shè)計(jì)大學(xué)計(jì)算機(jī)專業(yè)本科教材、專科教材、高職教材、中職教材、二級(jí)教程等教學(xué)內(nèi)容的基礎(chǔ)上,針對(duì)教學(xué)對(duì)象的實(shí)際情況與現(xiàn)實(shí)需要,編寫并出版了《C語言程序設(shè)計(jì)基礎(chǔ)教程》(國防工業(yè)出版社出版)。全書體系完整、重點(diǎn)突出、內(nèi)容講解深入淺出、圖文并茂、講解透徹、案例豐富新穎、注重理論、突出實(shí)踐。該教材已在我院試用了兩年,現(xiàn)已形成了一本較為成熟的、特色鮮明的適用于理工科各專業(yè)的公共課教材。該教材的突出特色是:內(nèi)容精簡、實(shí)例廣泛、突出實(shí)踐,設(shè)計(jì)了從簡單到復(fù)雜的階梯性例題,以實(shí)踐問題引出解決方法,從解決方法引出知識(shí)點(diǎn),然后從知識(shí)點(diǎn)再到實(shí)踐案例,形成“實(shí)踐——理論——實(shí)踐”的系統(tǒng)化教學(xué)內(nèi)容體系。
3 與學(xué)生認(rèn)知過程相適應(yīng),實(shí)施以“問題驅(qū)動(dòng)+案例”為主的多種教學(xué)方法,改善教學(xué)效果 C程序設(shè)計(jì)教學(xué)以注重培養(yǎng)學(xué)生編程思維、計(jì)算思維和實(shí)踐創(chuàng)新能力為目標(biāo),采用了以問題驅(qū)動(dòng)+案例為主的多種教學(xué)方法。
3.1 問題驅(qū)動(dòng)+案例教學(xué)法
“問題驅(qū)動(dòng)+案例”的教學(xué)方法可以激發(fā)學(xué)生學(xué)習(xí)興趣,引導(dǎo)學(xué)生積極探索和主動(dòng)思考,符合學(xué)生的認(rèn)知過程,是提高課堂教學(xué)效率和學(xué)生學(xué)習(xí)效率的重要教學(xué)方法。在講授新知識(shí)和新方法時(shí),首先選擇一個(gè)合適的案例或?qū)嶋H的問題場景,給學(xué)生首先展示設(shè)計(jì)的效果;其次引導(dǎo)學(xué)生分析問題,提高學(xué)生分析問題的能力;第三是引導(dǎo)學(xué)生用以前學(xué)過的知識(shí)和方法解決問題,培養(yǎng)學(xué)生邏輯思維和編程思維;第四是引出新的知識(shí)和方法,引導(dǎo)同學(xué)們找出解決問題好辦法;最后,再將新知識(shí)和方法應(yīng)用于新的案例,形成了與學(xué)生認(rèn)知過程相適應(yīng)的“實(shí)踐——理論——實(shí)踐”的系統(tǒng)化教學(xué)方法。另一方面,注重經(jīng)典案例的積累,使教學(xué)案例、實(shí)驗(yàn)案例與學(xué)生專業(yè)盡可能相接合,以一個(gè)大案例貫穿課程始終,注重將一個(gè)問題分解成若干個(gè)簡單的問題,實(shí)施模塊化教學(xué),每次課設(shè)計(jì)一個(gè)小任務(wù),課程結(jié)束后完成一個(gè)比較大的案例,使學(xué)生將分散的知識(shí)點(diǎn)通過案例開發(fā)系統(tǒng)地貫穿起來,使學(xué)生在頭腦中形成系統(tǒng)化的知識(shí)體系。
3.2 合理運(yùn)用啟發(fā)式教學(xué)法
啟發(fā)式教學(xué)方法突出培養(yǎng)學(xué)生的分析問題、解決問題的綜合素質(zhì),強(qiáng)化學(xué)生的動(dòng)手操作能力,突出“以學(xué)生為中心”的原則,達(dá)到“在做中學(xué)”、“學(xué)中做”的目的,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí)。啟發(fā)式教學(xué)法就是通過教師的啟發(fā)教學(xué)充分調(diào)動(dòng)學(xué)生的積極性、主動(dòng)性和創(chuàng)造性,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí)。
3.3 倡導(dǎo)學(xué)生進(jìn)行自主性、研究性學(xué)習(xí)
在教學(xué)中,配合“問題驅(qū)動(dòng)+案例”的教學(xué)方法,注重培養(yǎng)學(xué)生帶著問題學(xué)習(xí),學(xué)會(huì)發(fā)現(xiàn)問題,引導(dǎo)學(xué)生學(xué)會(huì)閱讀隨機(jī)幫助文檔和查閱網(wǎng)絡(luò)資料,提升學(xué)生的計(jì)算機(jī)應(yīng)用水平和信息素質(zhì),培養(yǎng)學(xué)生的自學(xué)能力和創(chuàng)新精神。
4 構(gòu)建以培養(yǎng)學(xué)生編程思維和計(jì)算思維為核心的實(shí)踐教學(xué)項(xiàng)目,全面提高學(xué)生的實(shí)踐創(chuàng)新能力 實(shí)踐教學(xué)是C語言程序設(shè)計(jì)課程中非常重要的環(huán)節(jié),是學(xué)生進(jìn)一步鞏固基礎(chǔ)理論知識(shí),培養(yǎng)學(xué)生編程思維,提高學(xué)生分析問題、解決問題、實(shí)踐創(chuàng)新能力的重要環(huán)節(jié)。
(1)構(gòu)建以實(shí)用型設(shè)計(jì)性實(shí)驗(yàn)、階梯性實(shí)驗(yàn)和課程設(shè)計(jì)為實(shí)戰(zhàn)手段,設(shè)計(jì)重點(diǎn)培養(yǎng)學(xué)生的編程思想和計(jì)算思維的實(shí)踐教學(xué)項(xiàng)目。根據(jù)這一理念,實(shí)踐教學(xué)中遵循從簡單到復(fù)雜,再將大的實(shí)驗(yàn)項(xiàng)目模塊化、簡單化,使實(shí)驗(yàn)題目與實(shí)踐應(yīng)用有機(jī)結(jié)合,培養(yǎng)學(xué)生的編程技巧、編程思維、計(jì)算思維和創(chuàng)新思維,提高了學(xué)生的編程能力和利用計(jì)算機(jī)語言解決問題的能力。
(2)加強(qiáng)考核,確保實(shí)踐教學(xué)效果。在C程序設(shè)計(jì)考核上,采用了以實(shí)踐創(chuàng)新能力為核心的“多維認(rèn)證”考核方式,即由傳統(tǒng)的筆試考試改革為課堂表現(xiàn)成績、實(shí)驗(yàn)成績、課程設(shè)計(jì)項(xiàng)目考核成績、與C語言程序設(shè)計(jì)有關(guān)的科技競賽、全國計(jì)算機(jī)二級(jí)C考試等社會(huì)實(shí)踐成績和筆試成績相結(jié)合的多維考核模式,突出了對(duì)學(xué)生編程能力、實(shí)踐創(chuàng)新能力的培養(yǎng)。
5 結(jié)語
本課程是一門應(yīng)用實(shí)踐性非常強(qiáng)的課程,對(duì)學(xué)生實(shí)踐創(chuàng)新能力的培養(yǎng)具有十分重要的意義。C語言程序設(shè)計(jì)課程作為德州學(xué)院的校級(jí)精品課程,并通過在我校理工科專業(yè)的改革實(shí)施,教學(xué)實(shí)踐證明,從教學(xué)內(nèi)容側(cè)重培養(yǎng)學(xué)生編程思維和計(jì)算思維、教學(xué)方法與學(xué)生認(rèn)知過程相結(jié)合和實(shí)踐教學(xué)注重培養(yǎng)學(xué)生編程技巧和編程能力等三個(gè)方面對(duì)C程序設(shè)計(jì)課程的教學(xué)改革,增強(qiáng)了學(xué)生的編程能力,提高了教學(xué)效果。
參考文獻(xiàn):
[1]謝中科.《C語言程序設(shè)計(jì)》的教學(xué)改革與實(shí)踐[J].理工高教研究, 2004(3).
[2][美]H M DEITEL,P J DEITEL.C程序設(shè)計(jì)教程[M].薛萬鵬,譯.北京:機(jī)械工業(yè)出版社,2000.
[3]李學(xué)會(huì).C程序設(shè)計(jì)教學(xué)改革與實(shí)踐[J].實(shí)驗(yàn)室科學(xué),2010(2).
關(guān)鍵詞:《C語言程序設(shè)計(jì)》;教學(xué)改革;案例教學(xué);師生互動(dòng);多媒體
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)25-7182-02
Practicing on Teaching of "C Programming"
QIAO Zheng-hong
(Sci. & Tech., Institute of Science, PLA University, Nanjing 211101, China)
Abstract: C Programming is a basic course in public, it is also a practical course with highly experimental demand. Old measure of teaching in C do not adapt the student' s need, the measure of reforming teaching is introducted, such as Case Study, Teacher-student interaction, Rational use of multimedia, which gets rather good response.
Key words: C Programming; reform of teaching; case study; Teacher-student interaction; multimedia
1 引言
我校為非計(jì)算機(jī)專業(yè)的學(xué)生設(shè)置了兩門計(jì)算機(jī)公共基礎(chǔ)課程:一是“大學(xué)計(jì)算機(jī)基礎(chǔ)”,二是“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)”,要求所有學(xué)生必須選修。其中“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)”課程選用目前流行的C語言作為教學(xué)語言。
C語言是我校學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門語言,學(xué)生分析問題、解決問題的能力和程序設(shè)計(jì)思想的形成都與C語言有著密切的聯(lián)系。C語言既具有高級(jí)語言的優(yōu)點(diǎn),又具有低級(jí)語言的許多特點(diǎn),既可以用來編寫系統(tǒng)軟件,又可以用來編寫應(yīng)用軟件。C語言語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大,在使用時(shí)會(huì)出現(xiàn)一些“副作用”,再加上現(xiàn)行在教學(xué)過程中存在的一些弊端,所以在學(xué)習(xí)中學(xué)生普遍反映“難學(xué)”、“不懂”、“沒興趣”,這也是在C語言教學(xué)中普遍遇到的問題。
2 現(xiàn)行教學(xué)過程中存在的問題
2.1 以書本為中心,忽視學(xué)生能力的培養(yǎng)
以書本為中心的教學(xué)模式,采用從概念到概念的注入式教學(xué),偏重于C語言語法知識(shí)的詳細(xì)講解,而對(duì)程序設(shè)計(jì)思想、程序設(shè)計(jì)方法和程序設(shè)計(jì)風(fēng)格的介紹很少,對(duì)編程能力的培養(yǎng)不足,導(dǎo)致學(xué)生學(xué)不深、學(xué)不透、學(xué)不精,不會(huì)編寫和調(diào)試程序,不會(huì)測試程序的正確性,編寫的程序可讀性很差,遇到稍微復(fù)雜的程序就讀不懂,更不用說運(yùn)用學(xué)到的概念去解決實(shí)際問題了。
2.2 以教師為主體,忽視學(xué)生的能動(dòng)作用
以教師為主體的教學(xué)方法中,由于片面強(qiáng)調(diào)和突出教師的主導(dǎo)作用,忽視和壓抑了學(xué)生的能動(dòng)作用;片面地強(qiáng)調(diào)知識(shí)的傳授和灌輸,忽視了學(xué)生創(chuàng)新能力的培養(yǎng);注重“知識(shí)型”人才,忽略了“智能型”人才的培養(yǎng)。在教學(xué)的過程中,教師只注重講解概念、語法和程序,不注意調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情,學(xué)生被動(dòng)接受灌輸?shù)闹R(shí),學(xué)習(xí)熱情低,即使掌握了這些內(nèi)容,也不能靈活運(yùn)用,達(dá)不到舉一反三的目的。
2.3 多媒體教學(xué)過分強(qiáng)調(diào)表現(xiàn)形式,忽略了內(nèi)容本身
在現(xiàn)代化的教學(xué)過程中,利用投影儀、計(jì)算機(jī)、網(wǎng)絡(luò)等現(xiàn)代設(shè)備開展多媒體輔助教學(xué),具有較好的教學(xué)效果。但是在課件制作上過分強(qiáng)調(diào)表現(xiàn)形式,忽略了內(nèi)容本身,往往造成喧賓奪主,達(dá)不到預(yù)期的效果;另外在課堂上,教師過分依賴課件演示,忽視與學(xué)生溝通,影響學(xué)生參與教學(xué)活動(dòng)的積極性。
針對(duì)以上存在的不足,我們?cè)趯?duì)C 語言教學(xué)過程中,開展了一系列的教學(xué)改革,在教學(xué)中采用案例教學(xué)法,強(qiáng)化師生互動(dòng),積極培養(yǎng)學(xué)生學(xué)習(xí)興趣,并合理使用現(xiàn)代教育手段,取得了良好的教學(xué)效果。
3 教學(xué)改革方法
3.1 采用實(shí)例教學(xué),突出能力培養(yǎng)
為了改變以書本為中的注入式教學(xué)方式,我們探索采用了實(shí)例教學(xué)法,以程序設(shè)計(jì)的需要帶動(dòng)語言知識(shí)的學(xué)習(xí),在每個(gè)知識(shí)點(diǎn)上以引例開頭,激發(fā)學(xué)生的好奇心和求知欲,從而促進(jìn)學(xué)生成為教學(xué)主體,引導(dǎo)學(xué)生進(jìn)行自主學(xué)習(xí)、合作學(xué)習(xí)、研究性學(xué)習(xí),增強(qiáng)學(xué)生的綜合應(yīng)用能力,從而提高了教學(xué)質(zhì)量,取得了良好的效果。
在實(shí)際教學(xué)實(shí)施過程中,我們采用了項(xiàng)目遞進(jìn)驅(qū)動(dòng)教學(xué)法,改變滿堂灌的做法,將學(xué)生的眼手腦全部調(diào)動(dòng)起來。精心設(shè)計(jì)實(shí)例,給學(xué)生一個(gè)比較實(shí)際的切入點(diǎn),通過教師的演示使學(xué)生感覺能夠入手,然后再將此實(shí)例不斷修改、擴(kuò)充,引導(dǎo)學(xué)生參與到程序的編寫過程中,并將學(xué)生設(shè)計(jì)的程序展示,讓學(xué)生來評(píng)判優(yōu)劣、吸收優(yōu)點(diǎn)、修改錯(cuò)誤,引導(dǎo)學(xué)生進(jìn)行程序優(yōu)化。比如在進(jìn)行if語句的教學(xué)時(shí),針對(duì)符號(hào)函數(shù)的求解,我們給出多種可能實(shí)現(xiàn)的程序段,讓學(xué)生分析哪些程序段能夠完成計(jì)算,哪些不能完成計(jì)算,對(duì)不能完成計(jì)算的程序段如何進(jìn)行修正等。通過這些程序的分析,使他們加深了對(duì)if語句的理解,掌握了if與else的配對(duì)關(guān)系,并靈活運(yùn)用去解決其他問題。
3.2 強(qiáng)化師生互動(dòng),激發(fā)學(xué)習(xí)學(xué)習(xí)熱情,發(fā)揮學(xué)生主觀能動(dòng)性
在C語言教學(xué)中,我們大力強(qiáng)化師生互動(dòng),充分發(fā)揮學(xué)生的主觀能動(dòng)性,注重培養(yǎng)學(xué)生獨(dú)立學(xué)習(xí)、獨(dú)立思考、勇于創(chuàng)新的能力。師生互動(dòng)教學(xué)我們采用了“問答式”、“討論式”等多種形式。每一種方式都有其特點(diǎn)和特定的適用范圍,在實(shí)際教學(xué)中我們根據(jù)具體情況加以靈活運(yùn)用。
“問答式”就是教師事先設(shè)計(jì)好問題,啟發(fā)學(xué)生思考,引導(dǎo)學(xué)生在問題解決中構(gòu)造算法進(jìn)而掌握相關(guān)的概念、語法、功能及應(yīng)用。例如:要求學(xué)生編程實(shí)現(xiàn)輸入三角形的三條邊a,b,c,計(jì)算以這三個(gè)數(shù)為邊長的三角形面積。我們可以適當(dāng)進(jìn)行提示提問:①輸入的三條邊能否構(gòu)成三角形?②已知三邊長,三角形面積該如何求呢?這就要結(jié)合中學(xué)時(shí)的數(shù)學(xué)知識(shí),對(duì)于問題①用數(shù)學(xué)語言來描述為:兩邊之和大于第三邊。那么用程序語言該如何描述呢,應(yīng)該采用哪一種程序結(jié)構(gòu)?順序、選擇還是循環(huán)?程序結(jié)構(gòu)知道了,下一步就是根據(jù)數(shù)學(xué)公式計(jì)算面積。這樣,逐步對(duì)學(xué)生進(jìn)行提示和引導(dǎo),可以使學(xué)生的思維一直處于活躍狀態(tài)。
“討論式”就是教師預(yù)先設(shè)定討論題目和要求,由學(xué)生分組討論的一種互動(dòng)教學(xué)方式。它適用于課程中的重點(diǎn)難點(diǎn)問題。如在鏈表的教學(xué)中,我們就如何利用鏈表實(shí)現(xiàn)棧、隊(duì)列,用鏈表實(shí)現(xiàn)與用數(shù)組實(shí)現(xiàn)各有什么優(yōu)劣等問題時(shí)就采用“討論式”教學(xué)方法。課前教師將問題提出來,讓學(xué)生自己去思考。學(xué)生自由組合形成若干各小組,每個(gè)小組應(yīng)有一位秘書,負(fù)責(zé)全程記錄討論過程,最后每個(gè)小組要出一份討論報(bào)告,然后由每個(gè)小組推選一位學(xué)生上臺(tái)講解本組的實(shí)現(xiàn)方案,其他組的同學(xué)可自由提問,最后由教師對(duì)方案的可行性、是否有創(chuàng)新、須改進(jìn)之處一一進(jìn)行分析講評(píng)。這種方式有利于培養(yǎng)學(xué)生的思維能力和協(xié)作能力,激發(fā)學(xué)生學(xué)習(xí)熱情。
3.3 合理使用多媒體,提高教學(xué)效率
在教學(xué)中結(jié)合形象直觀的事例或圖形講解概念,可以充分發(fā)揮學(xué)生的形象思維能力,不但易于理解和掌握,而且印象深刻,能有效地提高學(xué)習(xí)效率。因此在C語言教學(xué)中我們可利用多媒體代替?zhèn)鹘y(tǒng)的板書,將文本、圖像、聲音、動(dòng)畫結(jié)合起來,使抽象的內(nèi)容變得形象生動(dòng),學(xué)生通過多種感官來獲取知識(shí),形成相關(guān)的概念。但是濫用多媒體教學(xué),不但達(dá)不到預(yù)期的教學(xué)效果,反而會(huì)分散學(xué)生的注意力,削弱教師在教學(xué)過程中的主導(dǎo)作用,甚至影響學(xué)生的學(xué)習(xí)積極性。在C語言多媒體教學(xué)實(shí)踐中,我們著重解決好以下問題。
3.3.1 課件內(nèi)容與形式的關(guān)系
在制作C語言課件時(shí),我們要根據(jù)課程的教學(xué)內(nèi)容的性質(zhì)和特點(diǎn)選擇恰當(dāng)?shù)募夹g(shù)手段和表現(xiàn)形式,充分利用了各種媒體信息為教學(xué)內(nèi)容服務(wù)。在課件制作上,不需要花時(shí)間、花精力對(duì)課件進(jìn)行包裝,刻意追求特技效應(yīng)。在課堂教學(xué)中,過多的畫面切換,容易造成學(xué)生在學(xué)習(xí)過程中應(yīng)接不暇,對(duì)所學(xué)內(nèi)容生吞活剝,能力的培養(yǎng)無從談起。實(shí)踐證明,附加信息和無關(guān)信息過多,雖然從心里上加深刺激了學(xué)生的感知能力,但卻顯得主次部分,容易分散學(xué)生的注意力。因此我們要求課件制作要?jiǎng)?wù)實(shí),不必特別美觀,也不必有很高的技術(shù)含量,涵蓋的知識(shí)點(diǎn)也不必很多,只要能使抽象、難懂的內(nèi)容變得直觀、易懂,有利于學(xué)生更好地接受所學(xué)的知識(shí)就夠了。
3.3.2 注意發(fā)揮教師的主導(dǎo)作用
雖然教學(xué)課件事先已經(jīng)做好,但不是說在課堂上教師只充當(dāng)“解說員”、“演示員”就可以了,這樣可能會(huì)出現(xiàn)學(xué)生看了很多,聽了很多,卻不知道要學(xué)什么,什么是重點(diǎn)難點(diǎn),而事與愿違。其實(shí),多媒體輔助教學(xué)作為一種現(xiàn)代化的教學(xué)手段,是用來提高課堂教學(xué)效率、突破重難點(diǎn)、解決一些傳統(tǒng)板書教學(xué)不容易理解的問題。作為教師應(yīng)把握住自己在教學(xué)中的主導(dǎo)地位和作用,通過教學(xué)過程的設(shè)計(jì)和靈活多變的操作,使多媒體發(fā)揮最佳教學(xué)功能。
4 結(jié)束語
采用這些教學(xué)方法,有提出問題、解決問題、擴(kuò)展問題、再解決問題、對(duì)解決問題方法的評(píng)價(jià)、優(yōu)化等幾個(gè)環(huán)節(jié),實(shí)際上是一個(gè)螺旋式滾動(dòng)向前的過程,在這個(gè)螺旋式不斷向前的過程中,能夠非常自然地調(diào)動(dòng)學(xué)生參與的積極性,而且通過問題的擴(kuò)展,通過一個(gè)問題的多種解決方法,使學(xué)生在課堂上真正地成為“主體”,教師扮演“主導(dǎo)”角色。當(dāng)然,在改進(jìn)和探索教學(xué)方法的同時(shí),我們還要充分利用機(jī)房、網(wǎng)絡(luò)和課外環(huán)境,啟發(fā)和調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,培養(yǎng)和提高學(xué)生的自學(xué)能力。
參考文獻(xiàn):
[1] 中國高等院校計(jì)算機(jī)基礎(chǔ)教育改革課題研究組.中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系2006[M]. 北京:清華大學(xué)出版社,2006.
關(guān)鍵詞:程序設(shè)計(jì);教學(xué)方法;案例教學(xué)
作者簡介:陳軍(1975-),男,福建福州人,福建江夏學(xué)院電子信息科學(xué)系,講師。(福建?福州?350108)
基金項(xiàng)目:本文系福建江夏學(xué)院2012年度教育教學(xué)改革非資助項(xiàng)目“《計(jì)算機(jī)程序設(shè)計(jì)》與《程序設(shè)計(jì)課程設(shè)計(jì)》實(shí)驗(yàn)教學(xué)整合研究”的研究成果。
中圖分類號(hào):G642.0?????文獻(xiàn)標(biāo)識(shí)碼:A?????文章編號(hào):1007-0079(2012)25-0067-02
全面推進(jìn)素質(zhì)教育,培養(yǎng)學(xué)生的創(chuàng)新能力、協(xié)作精神和實(shí)踐能力是當(dāng)前我國教育改革和發(fā)展的方向,也是高等學(xué)校辦學(xué)的根本宗旨。有別于研究型本科教育的精英教育思想,應(yīng)用型本科教育更加注重學(xué)術(shù)性教育與職業(yè)性教育之間的平衡,要求從未來的人才市場需求出發(fā),培養(yǎng)學(xué)生良好的知識(shí)、能力和素質(zhì),滿足就業(yè)市場需要。
“計(jì)算機(jī)程序設(shè)計(jì)”是目前國內(nèi)大多數(shù)高等院校為本科生開設(shè)的計(jì)算機(jī)基礎(chǔ)課程,是理論與實(shí)驗(yàn)同步開展教學(xué)的課程,具有較強(qiáng)的理論性和實(shí)踐性。學(xué)生不僅要學(xué)習(xí)一定的語法知識(shí),而且還要通過一系列的編程實(shí)踐練習(xí),才能熟練掌握程序設(shè)計(jì)的技巧。這是一個(gè)培養(yǎng)學(xué)生思維能力、分析能力、實(shí)踐能力和創(chuàng)新能力的過程。
筆者從教學(xué)實(shí)踐出發(fā),對(duì)“計(jì)算機(jī)程序設(shè)計(jì)”課程的教學(xué)進(jìn)行分析和探討。
一、“計(jì)算機(jī)程序設(shè)計(jì)”教學(xué)實(shí)踐
1.教學(xué)背景
福建江夏學(xué)院(以下簡稱“我?!保┦且凰聲x本科院校,“計(jì)算機(jī)程序設(shè)計(jì)”課程是我校在本科教學(xué)中第一次采用“16+2”的教學(xué)模式進(jìn)行授課的課程。“計(jì)算機(jī)程序設(shè)計(jì)”安排在教學(xué)的第1到第16周;程序設(shè)計(jì)課程設(shè)計(jì)是計(jì)算機(jī)程序設(shè)計(jì)的補(bǔ)充和延伸,安排在教學(xué)的第17到第18周,集中進(jìn)行設(shè)計(jì)實(shí)踐。電子信息科學(xué)系組織教師,成立備課小組,準(zhǔn)備各種教學(xué)素材;學(xué)校督導(dǎo)組全程監(jiān)督和指導(dǎo)。這次實(shí)踐可以為后續(xù)采用“16+2”的教學(xué)模式的課程及時(shí)提供實(shí)踐材料和經(jīng)驗(yàn)總結(jié)。
2.教學(xué)過程
“計(jì)算機(jī)程序設(shè)計(jì)”課程安排64學(xué)時(shí),理論和實(shí)驗(yàn)課比例為3:1。理論課安排在多媒體教室,通過PPT授課,講解語法知識(shí),并結(jié)合課堂實(shí)例,分析程序運(yùn)行結(jié)果;實(shí)驗(yàn)課安排在機(jī)房,安排章節(jié)的上機(jī)測試,給出具體題目,要求學(xué)生通過閱讀教材及相關(guān)資料,編寫程序并通過調(diào)試運(yùn)行。每個(gè)章節(jié)都有相應(yīng)的作業(yè)和課后輔助測試習(xí)題;重點(diǎn)章節(jié)還要提交上機(jī)實(shí)驗(yàn)報(bào)告。教師通過修改作業(yè)和實(shí)驗(yàn)報(bào)告,及時(shí)掌握學(xué)生的學(xué)習(xí)情況。
另外,教師通過互聯(lián)網(wǎng)環(huán)境(學(xué)校的VPN網(wǎng)絡(luò)、FTP、QQ等),各種學(xué)習(xí)資源,比如:課件、預(yù)習(xí)實(shí)驗(yàn)任務(wù)、作業(yè)和實(shí)驗(yàn)結(jié)果等,并且在線和離線為學(xué)生輔導(dǎo)答疑。
3.教學(xué)結(jié)果
在成績考核中,期中考試成績和平常成績占30%,期末閉卷筆試成績占70%。經(jīng)過一個(gè)學(xué)期的學(xué)習(xí),絕大多數(shù)學(xué)生通過課程考核。但是,學(xué)生實(shí)際編程能力和水平較低,并沒有為后續(xù)課程的學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。
二、“計(jì)算機(jī)程序設(shè)計(jì)”教學(xué)存在的問題分析
傳統(tǒng)的教學(xué)模式是以教師為中心,常采用“填鴨式”教學(xué)方法,學(xué)生被動(dòng)接受,很少主動(dòng)思維,難以形成自己的知識(shí)體系。教師循規(guī)蹈矩,認(rèn)真教學(xué),履行職責(zé),付出大量精力;學(xué)生用心聽課,努力做練習(xí),花費(fèi)大量時(shí)間。但是,雖然教學(xué)過程不乏實(shí)例,卻難以吸引學(xué)生;雖然教師在課后認(rèn)真批改作業(yè),卻難以避免學(xué)生抄襲應(yīng)付。結(jié)果是一代又一代的大學(xué)生,畢業(yè)之后還是不會(huì)編程。目前“計(jì)算機(jī)程序設(shè)計(jì)”課程教學(xué)的主要問題表現(xiàn)在五個(gè)方面。
第一,教學(xué)面面俱到,在有限的課堂授課時(shí)間內(nèi)難以實(shí)現(xiàn)突出重點(diǎn)難點(diǎn),學(xué)生感覺聽流水賬一樣,逐漸失去學(xué)習(xí)興趣。
第二,理論課教學(xué),以教為主,側(cè)重語法。雖然有利于系統(tǒng)傳授與掌握編程知識(shí),但是束縛了學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。
第三,實(shí)驗(yàn)課教學(xué),實(shí)驗(yàn)內(nèi)容多為驗(yàn)證型和章節(jié)某個(gè)知識(shí)點(diǎn)的簡單設(shè)計(jì)型。學(xué)生通過驗(yàn)證書本程序,編寫簡單代碼,但只是鞏固所學(xué)章節(jié)的語法,不利于發(fā)揮學(xué)生的創(chuàng)造性,不利于快速、有效地提高應(yīng)用能力。
第四,考核方式不合理,筆試成績所占比重過大。學(xué)生可能采用背書、背題的方法通過考核,拿高分,不能真正地培養(yǎng)和提高學(xué)生的編程能力和水平。
第五,課后輔導(dǎo)費(fèi)時(shí)、效果差。學(xué)生通過網(wǎng)絡(luò)通信工具聯(lián)系教師答疑,時(shí)間上有一定的滯后性,效果上有一定的個(gè)別性,教輔過程缺少一個(gè)良好的平臺(tái)。
三、“計(jì)算機(jī)程序設(shè)計(jì)”課程教學(xué)改革措施
為了適應(yīng)應(yīng)用型本科“計(jì)算機(jī)程序設(shè)計(jì)”課程的教學(xué)改革需求,應(yīng)該融合教師的“主導(dǎo)性”和學(xué)生的“主體性”,進(jìn)行“雙主”的教學(xué)設(shè)計(jì)。教師有效組織學(xué)習(xí)活動(dòng),實(shí)施教學(xué)目標(biāo)控制,設(shè)置學(xué)習(xí)情境,提出問題;學(xué)生不再被動(dòng)接受,而是開展自主學(xué)習(xí),團(tuán)隊(duì)協(xié)作,提交學(xué)生的學(xué)習(xí)積極性和創(chuàng)造性。下面結(jié)合筆者在“計(jì)算機(jī)程序設(shè)計(jì)”課程方面的教學(xué)體會(huì),探討優(yōu)化教學(xué)的具體方法。
1.開編點(diǎn)題,明確目標(biāo)
關(guān)鍵詞:Visual Basic;程序設(shè)計(jì);教學(xué)改革;實(shí)踐
中圖分類號(hào):G64: 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2010) 05-0000-02
Reform and Practice of Visual Basic Programming Course
Ma Zongmei,Qi Hui,Zhu Yansong
(Zhongyuan University of Technology,Zhengzhou450007,China)
Abstract:In view of the existing problem of Visual Basic programming course for the non-computer major,reform and exploration has been done on content of courses,teaching method,computer practice and assessment method.Practice has proved that these methods exert positive effects on enhancing the teaching quality.
KeyWords:Visual basic;Programming;Teaching reform;Practice
一、引言
目前,計(jì)算機(jī)技術(shù)已經(jīng)應(yīng)用到各個(gè)行業(yè),掌握計(jì)算機(jī)應(yīng)用基本技能成為新世紀(jì)人才不可缺少的基本素質(zhì)之一?!禫isual Basic程序設(shè)計(jì)》作為一門高級(jí)語言程序設(shè)計(jì)課程,在培養(yǎng)學(xué)生嚴(yán)密的邏輯思維、培養(yǎng)非計(jì)算機(jī)專業(yè)學(xué)生利用計(jì)算機(jī)解決本專業(yè)問題的能力方面有著非常重要的作用。VB(Visual Basic的簡稱)繼承了BASIC語言簡單易學(xué)的優(yōu)點(diǎn),同時(shí)又支持面向?qū)ο蟮某绦蛟O(shè)計(jì)思想和提供可視化的編程環(huán)境。因此,《Visual Basic程序設(shè)計(jì)》是我校面對(duì)非計(jì)算機(jī)專業(yè)類學(xué)生開設(shè)的一門程序設(shè)計(jì)基礎(chǔ)課,在大學(xué)一年級(jí)的第二學(xué)期開設(shè)。
本課程具有理論性、實(shí)踐性強(qiáng)的特點(diǎn)。在此之前,多數(shù)學(xué)生對(duì)程序設(shè)計(jì)的思維方式還不適應(yīng),分析和解決問題的能力還處于一個(gè)較低的水平,因此很多學(xué)生反應(yīng)程序設(shè)計(jì)是一門難學(xué)、難懂的課程。
多年來,我們《Visual Basic程序設(shè)計(jì)》課程組教師根據(jù)程序設(shè)計(jì)語言課程的特點(diǎn),結(jié)合學(xué)生的基礎(chǔ),在教學(xué)內(nèi)容、課堂教學(xué)方法、上機(jī)實(shí)踐和考核方式等方面同時(shí)進(jìn)行了研究,提出了VB課程教學(xué)方法的改革措施并進(jìn)行實(shí)踐,取得了較好的成效。
二、教學(xué)改革與實(shí)踐
(一)培養(yǎng)學(xué)習(xí)興趣,激發(fā)學(xué)習(xí)熱情
我國古代教育家程頤先生曾經(jīng)說過:“教人未見其趣,必不樂學(xué)?!焙茱@然興趣是最好的老師。只有學(xué)生對(duì)學(xué)習(xí)的內(nèi)容感興趣,才能激發(fā)其學(xué)習(xí)的動(dòng)力和創(chuàng)造力。
怎樣才能提高學(xué)生的學(xué)習(xí)興趣呢?往往第一節(jié)課對(duì)學(xué)生認(rèn)識(shí)本門課程起著很重要的作用,因此上好第一堂課對(duì)提高學(xué)生的學(xué)習(xí)興趣至關(guān)重要。第一堂課首先介紹本課程的特點(diǎn)、教學(xué)目標(biāo)、教學(xué)重點(diǎn)、教學(xué)安排和考核方式等,以便讓學(xué)生對(duì)本課程有個(gè)初步的了解。教師還可以設(shè)計(jì)與生活密切相關(guān)的一些案例給學(xué)生演示,讓學(xué)生知道VB到底能做什么,VB與自己的生活到底有多近,以此來激發(fā)學(xué)生學(xué)習(xí)本門課程的積極性。
其次,在教學(xué)過程中,要注意保持學(xué)生的學(xué)習(xí)興趣,可根據(jù)章節(jié)內(nèi)容設(shè)計(jì)相關(guān)的實(shí)例。如在講授文本框和命令按鈕控件時(shí),可制作一個(gè)用戶登錄界面;講授數(shù)組時(shí),可制作成“計(jì)算器”;講授文件系統(tǒng)控件時(shí),可制作成“圖像瀏覽器”等等。通過這些和日常生活相關(guān)的實(shí)例,學(xué)生從中可見VB的價(jià)值和實(shí)用性,使其產(chǎn)生自己動(dòng)手編程的想法,自然就有了學(xué)習(xí)的自發(fā)主動(dòng)性。
(二)課堂教學(xué)內(nèi)容和教學(xué)方法改革
教學(xué)內(nèi)容和教學(xué)方法的設(shè)計(jì)對(duì)教學(xué)效果的影響至關(guān)重要。教學(xué)內(nèi)容的選取必須按照VB課程教學(xué)大綱的要求,適當(dāng)安排學(xué)時(shí)。而適宜的方法能夠自然地引導(dǎo)學(xué)生從感性認(rèn)識(shí)升華到理性認(rèn)識(shí),掌握相應(yīng)的知識(shí)點(diǎn),并提高實(shí)際編程能力。
1.教學(xué)內(nèi)容要輕重有分
VB課程為60學(xué)時(shí),包括理論教學(xué)和上機(jī)實(shí)踐。教師在授課的過程中,應(yīng)該強(qiáng)化編程思想和算法設(shè)計(jì),淡化語言,做到輕重有分。這樣才能讓學(xué)生在有限的學(xué)時(shí)內(nèi)掌握VB程序設(shè)計(jì)的精髓。
例如,要著重強(qiáng)調(diào)面對(duì)對(duì)象的程序設(shè)計(jì)思想,VB中引入了類、對(duì)象、屬性、方法、事件等許多新的概念,這些概念是理解和使用面向?qū)ο蠹夹g(shù)的基礎(chǔ)和關(guān)鍵。講解時(shí)可以先從現(xiàn)實(shí)世界中的對(duì)象引入,如桌子、汽車等,然后轉(zhuǎn)到VB實(shí)例里的類和對(duì)象[1]。還有結(jié)構(gòu)化程序設(shè)計(jì)思想也是比較重要內(nèi)容,要多用一些時(shí)間和例子來講解。而對(duì)于語言規(guī)則方面,比如相似運(yùn)算符之間的區(qū)別等知識(shí)點(diǎn)可以弱化,知道就行,避免學(xué)生鉆牛角尖的問題出現(xiàn)。
學(xué)生一旦掌握了VB的編程思想的精髓,對(duì)其它程序設(shè)計(jì)語言的學(xué)習(xí)會(huì)有借鑒作用,也就變得輕松起來。
2.案例教學(xué)法
VB提供了可視化的開發(fā)環(huán)境,控件的使用及其屬性和事件過程的設(shè)計(jì)是本課程的重要組成部分,講解中應(yīng)注意突出控件的主要屬性、事件、方法。這些理論會(huì)讓學(xué)生覺得很枯燥,也不容易理解。如果能夠結(jié)合相關(guān)知識(shí),設(shè)計(jì)一些恰當(dāng)例子,就能解決這些問題。因此,VB程序設(shè)計(jì)語言要以案例為中心來組織教學(xué),才能真正達(dá)到激發(fā)興趣、鞏固知識(shí)、培養(yǎng)能力、提高全面索質(zhì)的目的,從而使教學(xué)質(zhì)量得到提升[2]。
例如,在實(shí)例中讓學(xué)生來理解什么是事件驅(qū)動(dòng),在實(shí)例中讓學(xué)生掌握如何設(shè)置控件的屬性、如何設(shè)計(jì)控件的事件過程;通過典型的算法和案例使學(xué)生掌握結(jié)構(gòu)化程序設(shè)計(jì)思想,提高編程能力。
案例教學(xué)可以使學(xué)生全面了解VB的基本風(fēng)貌,從而盡快的掌握基本的程序設(shè)計(jì)技能;可以使學(xué)生從案例設(shè)計(jì)中得到有益的啟示,為應(yīng)用程序的開發(fā)積累更多的經(jīng)驗(yàn),可以說案例教學(xué)法的采用是提高VB教學(xué)效果的重要手段。
案例教學(xué)可以從以下幾步進(jìn)行。
(1)問題的提出
根據(jù)要講授的內(nèi)容,事先設(shè)計(jì)好問題,啟發(fā)學(xué)生思考。引出要講解的內(nèi)容。
(2)程序的分析
和學(xué)生一起分析,如何應(yīng)用所學(xué)理論知識(shí)來解決問題。分析中應(yīng)多引導(dǎo)學(xué)生積極思考、一題多解,尋求最佳解題方案。
(3)程序的代碼
將解決問題的方法轉(zhuǎn)換成VB代碼行。書寫程序代碼時(shí)必須按照編程規(guī)范來書寫,以提高代碼的可讀性。如代碼行采用縮進(jìn)格式、變量名的命名規(guī)范和程序的注釋等。
(4)程序的運(yùn)行
編寫好代碼后,在VB中運(yùn)行。在驗(yàn)證程序正確性的同時(shí),及時(shí)處理程序中的錯(cuò)誤,并學(xué)會(huì)如何選取測試數(shù)據(jù)等。
3.上機(jī)實(shí)踐
VB是一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)踐課作為與課堂理論教學(xué)的配套,是一個(gè)重要的教學(xué)環(huán)節(jié)。它要求學(xué)生利用所學(xué)知識(shí),實(shí)際上機(jī)編程,解決一些具體的問題。它既鞏固學(xué)生所學(xué)的理論知識(shí),又提高學(xué)生的動(dòng)手能力。這一部分我們要求學(xué)生完成以下三個(gè)方面的作業(yè),并對(duì)完成情況進(jìn)行檢查和統(tǒng)計(jì)。
(1)上機(jī)前作業(yè)。上機(jī)前根據(jù)章節(jié)內(nèi)容精心設(shè)計(jì)相應(yīng)的題目,包括選擇、填空、編程等題型。為了避免學(xué)生上機(jī)毫無準(zhǔn)備,浪費(fèi)時(shí)間,并要求學(xué)生必須在上機(jī)前在作業(yè)本上完成。上機(jī)過程中教師都要進(jìn)行檢查,作為平時(shí)成績考核的一部分。
(2)上機(jī)課內(nèi)容。我們把每次上機(jī)的作業(yè)題做成題庫的形式,學(xué)生在上機(jī)課上通過考試系統(tǒng)做練習(xí)。學(xué)生必須在考試系統(tǒng)規(guī)定的時(shí)間內(nèi)容完成上機(jī)作業(yè)并通過考試系統(tǒng)提交。上機(jī)過程中,學(xué)生可以對(duì)自己事先編好的程序在VB的環(huán)境中進(jìn)行調(diào)試,發(fā)現(xiàn)錯(cuò)誤并進(jìn)行修改,直到正確為止,并在作業(yè)本上進(jìn)行更正。
(3)上機(jī)后反饋。上機(jī)結(jié)束后,學(xué)生通過考試系統(tǒng)提交自己的答卷。教師將在改卷系統(tǒng)中對(duì)學(xué)生的作業(yè)進(jìn)行批閱,了解學(xué)生對(duì)知識(shí)的掌握情況,同時(shí)記錄每個(gè)學(xué)生的作業(yè)情況,作為平時(shí)成績考核的一部分。對(duì)于學(xué)生普通出現(xiàn)的問題,在課堂上集中講解并強(qiáng)調(diào)。
4.改變現(xiàn)有的考核方式
期末每個(gè)學(xué)生VB課程的成績由課堂考勤、作業(yè)情況、上機(jī)實(shí)驗(yàn)和期末考試四部分決定,其比例分別為:10%、10%、10%和70%。以往期末考試采取的是筆試的方式。為提高學(xué)生的興趣和實(shí)際動(dòng)手能力,從08-09-2學(xué)期開始,我們將期末考試方式改為機(jī)試,并在平時(shí)的上機(jī)課中使用考試系統(tǒng)進(jìn)行練習(xí),以避免學(xué)生由于對(duì)考試系統(tǒng)的不熟練造成的失誤。經(jīng)過一學(xué)期的實(shí)踐,通過對(duì)比發(fā)現(xiàn),這種方式既能夠提高學(xué)生的積極性和實(shí)際動(dòng)手能力,也使學(xué)生的成績中有很大的提高。
三、總結(jié)
教學(xué)有法,教無定法。教師要根據(jù)VB課程的特點(diǎn),找出學(xué)生的興趣所在,按照他們的認(rèn)知規(guī)律組織教學(xué)。這就要求教師,不僅掌握扎實(shí)的專業(yè)技術(shù),還應(yīng)注意教學(xué)方法的改進(jìn)、充分利用現(xiàn)有教學(xué)資源,了解學(xué)生的特點(diǎn),堅(jiān)持不懈地激發(fā)學(xué)生自主學(xué)習(xí)熱情,了解和幫助他們解決在編程中遇到的難題,努力提高他們分析問題和解決問題的能力。這樣才能使他們輕松地學(xué)好VB程序設(shè)計(jì)語言課程,達(dá)到預(yù)期的教學(xué)效果。
參考文獻(xiàn):
[1]朱國華.Visual Basic程序設(shè)計(jì).北京:中國鐵道出版社,2009.4-5
關(guān)鍵詞:C++語言;面向?qū)ο蟪绦蛟O(shè)計(jì);實(shí)踐教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913 (2007) 24-0003-02
1引言
“C++程序設(shè)計(jì)”課程是高校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門重要的專業(yè)基礎(chǔ)課,也是“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)庫”、“軟件工程”等專業(yè)必修課的先修課程,在整個(gè)專業(yè)的教學(xué)體系中占有非常重要的地位。但是由于本課程的學(xué)習(xí)對(duì)象一般是大學(xué)低年級(jí)的學(xué)生,他們對(duì)計(jì)算機(jī)語言、計(jì)算機(jī)編程還很陌生,加之C++語言、面向?qū)ο蟪绦蛟O(shè)計(jì)本身的抽象性和復(fù)雜性,使之成為一門比較難教和難學(xué)的課程。因此,如何提高本課程的教學(xué)效果一直是計(jì)算機(jī)專業(yè)教師比較關(guān)注的研究課題。
“C++程序設(shè)計(jì)”課程不僅有較強(qiáng)的理論性,更有較強(qiáng)的實(shí)踐性,是一門實(shí)踐性非常強(qiáng)的課程,其實(shí)踐教學(xué)環(huán)節(jié)的效果將直接影響著理論教學(xué)的效果。因此,本文就教學(xué)過程中如何在較短的教學(xué)時(shí)間內(nèi),以簡單易懂的方式,使學(xué)生能較快而扎實(shí)地掌握“C++程序設(shè)計(jì)”課程的內(nèi)容,并具有面向?qū)ο蟪绦蛟O(shè)計(jì)的實(shí)踐能力,結(jié)合校級(jí)教改課題――“計(jì)算機(jī)專業(yè)程序設(shè)計(jì)系列課的建設(shè)與改革”,主要針對(duì)實(shí)踐教學(xué)的幾個(gè)主要方面進(jìn)行了探討,以期能進(jìn)一步提高本課程的教學(xué)效果,整體提升本課程的教學(xué)質(zhì)量。
2實(shí)踐環(huán)境
目前,在本課程的教學(xué)實(shí)踐中大多選用的是比較流行且較為成熟的Visual C++ 6.0作為程序的集成開發(fā)環(huán)境。需要注意的是,C++語言本身的開發(fā)平臺(tái)是DOS的,而不是Windows的。Windows平臺(tái)提供了一個(gè)很好的程序框架,但是初學(xué)者的注意力很容易被吸引到程序框架上去,從而很難學(xué)好C++的基礎(chǔ)知識(shí),因此在C++語言的實(shí)踐過程中,應(yīng)該采用Visual C++ 6.0中的控制臺(tái)方式,在學(xué)習(xí)MFC編程的時(shí)候,再使用Visual C++ 6.0中的Windows程序框架。
3實(shí)踐內(nèi)容的安排原則
在實(shí)踐內(nèi)容的安排上,要注意把握以下幾個(gè)方面:
(1) 應(yīng)少一些驗(yàn)證性的實(shí)踐內(nèi)容,多一些設(shè)計(jì)性、綜合性的實(shí)踐內(nèi)容。
(2) 實(shí)踐的內(nèi)容不僅要有針對(duì)性,更要能緊密聯(lián)系實(shí)際。實(shí)踐決不僅僅是為了掌握語法而設(shè)計(jì),更重要的是解決實(shí)際問題。
(3) 實(shí)踐的內(nèi)容盡可能要求學(xué)生能夠獨(dú)立設(shè)計(jì)、編程,教師在實(shí)踐中僅起引導(dǎo)和輔導(dǎo)的作用。進(jìn)一步增強(qiáng)學(xué)生獨(dú)立分析問題、解決問題的能力。
(4) 通過實(shí)踐,不但對(duì)于課堂學(xué)過的內(nèi)容進(jìn)一步鞏固,而且還可以進(jìn)行一定程度的創(chuàng)新,培養(yǎng)學(xué)生的創(chuàng)新能力。
4實(shí)踐內(nèi)容的三個(gè)層次
對(duì)于本課程的實(shí)驗(yàn)指導(dǎo)書,從以往的驗(yàn)證性實(shí)驗(yàn)居多的情況下,應(yīng)逐步改進(jìn)為將本課程實(shí)驗(yàn)分為三個(gè)層次,即驗(yàn)證性實(shí)驗(yàn)、設(shè)計(jì)性實(shí)驗(yàn)和綜合性實(shí)驗(yàn)。
驗(yàn)證性實(shí)驗(yàn)是學(xué)生根據(jù)實(shí)驗(yàn)指導(dǎo)書的要求,在教師指導(dǎo)下,按照既定的實(shí)驗(yàn)步驟,完成全部實(shí)驗(yàn)過程,以驗(yàn)證課堂教學(xué)的理論,深化理論學(xué)習(xí),培養(yǎng)學(xué)生基本實(shí)驗(yàn)?zāi)芰Γ箤W(xué)生獲得實(shí)驗(yàn)基礎(chǔ)訓(xùn)練。如,熟悉C++程序的運(yùn)行環(huán)境、運(yùn)行一個(gè)C++程序的方法、數(shù)據(jù)類型與表達(dá)式等。
設(shè)計(jì)性實(shí)驗(yàn)是由教師給定題目和要求,學(xué)生根據(jù)已掌握的基礎(chǔ)知識(shí)、基本理論,選擇相應(yīng)的數(shù)據(jù)結(jié)構(gòu)和算法,獨(dú)立完成實(shí)驗(yàn),寫出實(shí)驗(yàn)報(bào)告,并進(jìn)行綜合分析,培養(yǎng)學(xué)生動(dòng)手能力、分析解決問題和創(chuàng)新思維的能力。同時(shí),在實(shí)驗(yàn)過程中,使學(xué)生初步了解編程的基本要求和一般程序,培養(yǎng)學(xué)生實(shí)事求是的科研態(tài)度和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng),為將來從事實(shí)際工作打下基礎(chǔ)。整個(gè)實(shí)驗(yàn)過程中,學(xué)生都處于主動(dòng)學(xué)習(xí)的狀態(tài),學(xué)習(xí)的目的非常明確,獨(dú)立思考,特別是創(chuàng)造性思維比較活躍,學(xué)生主動(dòng)學(xué)習(xí)的積極性可以得到充分調(diào)動(dòng)。如,程序的控制結(jié)構(gòu)、函數(shù)的使用等。
綜合性實(shí)驗(yàn)是指學(xué)生在學(xué)習(xí)和掌握一定的基礎(chǔ)性實(shí)驗(yàn)原理、編程過程和實(shí)驗(yàn)技能的基礎(chǔ)上,運(yùn)用本課程的綜合知識(shí)或與本課程相關(guān)的課程知識(shí),對(duì)所學(xué)知識(shí)進(jìn)行優(yōu)化組合、綜合應(yīng)用的實(shí)驗(yàn)。此過程不僅使學(xué)生能夠更深刻的理解所學(xué)知識(shí),而且在一定程度上也培養(yǎng)了學(xué)生運(yùn)用已學(xué)知識(shí)解決各種實(shí)際問題的綜合能力。這對(duì)于培養(yǎng)創(chuàng)新人才、培養(yǎng)學(xué)生運(yùn)用不同的思維方式和不同的編程方法綜合分析問題、解決問題的能力大有裨益。比如將類和對(duì)象、封裝、繼承和多態(tài)性的思想集成在一個(gè)綜合的與實(shí)際緊密結(jié)合的實(shí)驗(yàn)中完成。
其中,驗(yàn)證性的實(shí)驗(yàn)盡量少一些,可以設(shè)在開始的1~2個(gè)實(shí)驗(yàn)中,每個(gè)實(shí)驗(yàn)中給出詳細(xì)的操作步驟,讓學(xué)生有章可循的進(jìn)行實(shí)驗(yàn);設(shè)計(jì)性的實(shí)驗(yàn)居多,只給出問題的描述和重要知識(shí)點(diǎn)的分析,由學(xué)生獨(dú)立設(shè)計(jì)并完成相應(yīng)的任務(wù);綜合性的實(shí)驗(yàn)可以設(shè)在最后的1~2個(gè)實(shí)驗(yàn)中,將本課程中重要的知識(shí)點(diǎn)進(jìn)行綜合,完成一個(gè)綜合性實(shí)驗(yàn)。
另外,在每次實(shí)驗(yàn)結(jié)束時(shí),對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行驗(yàn)收,并將實(shí)驗(yàn)的完成情況記入平時(shí)成績中,這樣做不僅會(huì)提高學(xué)生學(xué)習(xí)的效率,同時(shí)也會(huì)激發(fā)學(xué)生學(xué)習(xí)的積極性。
4課程設(shè)計(jì)
在本課程的實(shí)踐環(huán)節(jié)中,除了設(shè)置20學(xué)時(shí)的實(shí)驗(yàn)外,還針對(duì)Windows應(yīng)用程序安排了1周的課程設(shè)計(jì)。對(duì)于這1周的課程設(shè)計(jì),我們采用的是研究型學(xué)習(xí)方法,由學(xué)生在老師的輔導(dǎo)下,針對(duì)老師給定的題目或自選題目,進(jìn)行相關(guān)的調(diào)研工作,進(jìn)而完成相應(yīng)的系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)以及測試的相關(guān)任務(wù),強(qiáng)調(diào)學(xué)生參與程序開發(fā)的全過程,并實(shí)現(xiàn)對(duì)所學(xué)知識(shí)的系統(tǒng)的總結(jié)和真正的融會(huì)貫通。
在這個(gè)環(huán)節(jié)中一定要注意是不要在整個(gè)課程設(shè)計(jì)完成之后才讓學(xué)生提交一份綜合的報(bào)告書,這樣一方面同學(xué)不注意積累階段性的成果和文檔,最終造成實(shí)習(xí)報(bào)告書的不完整;另一方面,有些同學(xué)會(huì)在整個(gè)設(shè)計(jì)的過程中沒有計(jì)劃性,前松后緊,以致最終敷衍了事,沒有真正達(dá)到課程設(shè)計(jì)的目的。因此,在整個(gè)課程設(shè)計(jì)的過程中要嚴(yán)格按照軟件工程的要求,分階段布置任務(wù),并讓學(xué)生分階段地提交相應(yīng)的文檔和實(shí)習(xí)成果,督促學(xué)生保質(zhì)保量地按時(shí)完成課程設(shè)計(jì)的任務(wù),真正實(shí)現(xiàn)課程設(shè)計(jì)的目的。
5改革的效果
對(duì)于本次“C++程序設(shè)計(jì)”課程的實(shí)踐教學(xué)的改革,在北京林業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)05級(jí)1、2、3、4班中進(jìn)行了實(shí)踐,實(shí)踐后達(dá)到了以下的效果:
(1) 通過本課程的學(xué)習(xí),學(xué)生不僅僅是掌握了語法,更重要的是掌握了常見的程序設(shè)計(jì)的算法,并能通過算法來進(jìn)一步理解語法。
(2) 進(jìn)一步激發(fā)了學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣,增強(qiáng)了學(xué)生學(xué)習(xí)的主動(dòng)參與性,減少了學(xué)生對(duì)編程的恐懼心理和畏難情緒。
6結(jié)束語
本次“C++程序設(shè)計(jì)”課程實(shí)踐環(huán)節(jié)的教學(xué)改革只是一個(gè)初步的成果,在今后的教學(xué)過程中還需要不斷地實(shí)踐、不斷地積累。在本課程的教學(xué)過程中,一定要注意激發(fā)學(xué)生學(xué)習(xí)的興趣和主觀能動(dòng)性;加強(qiáng)學(xué)生的實(shí)踐能力,尤其是主動(dòng)參與實(shí)踐的意識(shí)的培養(yǎng);使學(xué)生不僅掌握理論知識(shí)的學(xué)習(xí),還具有較強(qiáng)的獨(dú)立的程序設(shè)計(jì)的能力。
參考文獻(xiàn)
[1] 陳志泊,王春玲. 面向?qū)ο蟮某绦蛟O(shè)計(jì)語言―C++[M]. 北京:人民郵電出版社,2002.
[2] 周立章. C++面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)探索與實(shí)踐[J]. 西華大學(xué)學(xué)報(bào)(哲學(xué)社會(huì)科學(xué)版), 2005, 增刊: 257-258.
作者簡介
【關(guān)鍵詞】程序設(shè)計(jì);教學(xué)改革;項(xiàng)目教學(xué);
非計(jì)算機(jī)專業(yè)目前,絕大多數(shù)高等院校已經(jīng)把計(jì)算機(jī)程序設(shè)計(jì)課程作為非計(jì)算機(jī)專業(yè)的一門公共基礎(chǔ)課,這是與培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)解決實(shí)際問題能力的人才培養(yǎng)基本要求相適應(yīng)的,也是社會(huì)人才需求的選擇。但是,從多年計(jì)算機(jī)程序設(shè)計(jì)教學(xué)經(jīng)驗(yàn)發(fā)現(xiàn),學(xué)生對(duì)程序設(shè)計(jì)課程的學(xué)習(xí)積極性、主動(dòng)性不強(qiáng),甚至很多學(xué)生對(duì)這門課程開設(shè)存在質(zhì)疑。如何高質(zhì)量的完成非計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)課程教學(xué),是筆者一直關(guān)注的問題。
1程序設(shè)計(jì)教學(xué)在非計(jì)算機(jī)專業(yè)中存在的問題
1.1學(xué)習(xí)目的模糊。學(xué)習(xí)目的不明確是非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計(jì)課程的主要障礙。很多非計(jì)算機(jī)專業(yè)特別是文科、管理類等專業(yè)學(xué)生認(rèn)為學(xué)好本專業(yè)知識(shí)就夠了,程序設(shè)計(jì)課程應(yīng)該是選修課,對(duì)編程有興趣的就選修,沒興趣的就可以不選。這種認(rèn)識(shí)的不足直接導(dǎo)致其在學(xué)習(xí)過程中缺乏主動(dòng)性和積極性,對(duì)計(jì)算機(jī)程序產(chǎn)生畏懼甚至厭惡心理。
1.2知識(shí)跨度大,學(xué)習(xí)困難。盡管有計(jì)算機(jī)文化基礎(chǔ)作為入門,但兩門課程在邏輯思維上有著很大差別。計(jì)算機(jī)文件基礎(chǔ)屬于應(yīng)用層面,程序設(shè)計(jì)課程是以某種程序設(shè)計(jì)語言為工具,通過分析、設(shè)計(jì)、編碼、測試等不同階段給出這種語言下的程序以達(dá)到解決特定問題的目的。程序設(shè)計(jì)需要建立程序設(shè)計(jì)思想,逐步深入到軟件本身的學(xué)習(xí)內(nèi)容,進(jìn)而達(dá)到熟練運(yùn)用這種語言解決實(shí)際問題。程序設(shè)計(jì)課程在學(xué)習(xí)和理解上難度顯然比計(jì)算機(jī)文化基礎(chǔ)要大得多。
1.3教學(xué)方法陳舊。很多院校的這門課程仍以課堂講授為主,教師在講授過程中過于注重知識(shí)的傳授,如語法、語句、結(jié)構(gòu)等概念性內(nèi)容,算法設(shè)計(jì)、程序編寫、邏輯思維和抽象思維等能力方面的培養(yǎng)在教學(xué)內(nèi)容中沒有充分體現(xiàn),課堂教學(xué)沒能體現(xiàn)計(jì)算機(jī)在專業(yè)領(lǐng)域中的應(yīng)用。
1.4缺乏綜合能力的培養(yǎng)。計(jì)算機(jī)程序設(shè)計(jì)是一門綜合性、實(shí)踐性很強(qiáng)的課程,由于課時(shí)的限制,學(xué)生的實(shí)踐課程更多的是驗(yàn)證課堂上學(xué)過的知識(shí)和程序,而對(duì)包括邏輯思維能力、獨(dú)立思考能力、動(dòng)手能力等學(xué)生綜合能力培養(yǎng)關(guān)注不夠,學(xué)生編程思想不能很好的建立起來,程序無從編起,出現(xiàn)“聽得懂,編不出”現(xiàn)象。
2程序設(shè)計(jì)課程在非計(jì)算機(jī)專業(yè)改革中的前期準(zhǔn)備
2.1適應(yīng)專業(yè)需求,選擇適合的程序設(shè)計(jì)語言。
選擇適合的程序設(shè)計(jì)語言對(duì)于非計(jì)算機(jī)專業(yè)學(xué)生而言至關(guān)重要。程序設(shè)計(jì)課程有面向?qū)ο蟪绦蛟O(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)。目前,絕大多數(shù)高校都會(huì)選取一門結(jié)構(gòu)化語言作為程序設(shè)計(jì)課程,而且基本上是C語言。結(jié)構(gòu)化程序設(shè)計(jì)語言具有自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼等特點(diǎn),是一門實(shí)用又好用的程序設(shè)計(jì)語言。面向?qū)ο蟪绦蛟O(shè)計(jì)語言在概念的理解和編程思想上有很大的不同,相對(duì)學(xué)習(xí)起來也困難些。筆者認(rèn)為選擇程序設(shè)計(jì)語言不能跟風(fēng),圖一時(shí)的省事,不同的學(xué)校有不同的特點(diǎn),同一個(gè)學(xué)校還有不同專業(yè),所以選擇使用哪種語言作為程序設(shè)計(jì)課程使用第一要?jiǎng)?wù)是適合專業(yè)需要,同時(shí)兼顧社會(huì)需求。嘗試像Java這樣的面向?qū)ο蟪绦蛟O(shè)計(jì)語言也不失為一個(gè)很好的選擇,對(duì)于偏文科、管理類的專業(yè)可以選擇Visual Basic程序設(shè)計(jì)語言。
2.2做好教學(xué)設(shè)計(jì),編制教學(xué)一體化設(shè)計(jì)方案。
依據(jù)對(duì)學(xué)習(xí)者學(xué)習(xí)需要的分析,采用項(xiàng)目引領(lǐng)教學(xué),使教學(xué)效果達(dá)到最優(yōu)化,教學(xué)設(shè)計(jì)提出解決問題的最佳方案。在開課之前做好教學(xué)設(shè)計(jì)方案至關(guān)重要。
課程教學(xué)一體化設(shè)計(jì)方案編制體現(xiàn)優(yōu)化組合原則、因材施教的原則,按照項(xiàng)目引領(lǐng)教學(xué),通過多種媒體教學(xué)資源和多種教學(xué)手段、方法的優(yōu)化組合,體現(xiàn)“以學(xué)生為主體”的教學(xué)思想。課程教學(xué)一體化設(shè)計(jì)方案的基本內(nèi)容包括:課程性質(zhì)、地位及課程教學(xué)目的等;課程的基本內(nèi)容、各部分內(nèi)容之間的關(guān)系、課程的主線、各主要知識(shí)點(diǎn)在教學(xué)上的要求等;課程媒體的數(shù)量、內(nèi)容及在教學(xué)中的作用、媒體在自學(xué)和教學(xué)輔導(dǎo)中的分工、如何使用等;教學(xué)過程的組織、監(jiān)督與管理;教學(xué)安排建議包括面授輔導(dǎo)的次數(shù)、內(nèi)容、形式及時(shí)間,討論、作業(yè)的安排等。
3程序設(shè)計(jì)課程在非計(jì)算機(jī)專業(yè)的改革思路
3.1以學(xué)生為中心,上好第一堂課。
為消除學(xué)習(xí)程序設(shè)計(jì)的為難情緒,激發(fā)學(xué)習(xí)熱情,提高學(xué)習(xí)興趣,我們認(rèn)為第一節(jié)不僅需要給學(xué)生一個(gè)課程內(nèi)容的概要介紹,更需要貫穿“以學(xué)生為中心”的教學(xué)理念,培養(yǎng)學(xué)生自主學(xué)習(xí)能力。
在課程內(nèi)容安排上,我們會(huì)簡單講解程序設(shè)計(jì)是什么,它能完成什么任務(wù),讓學(xué)生有一個(gè)基本而清晰的認(rèn)識(shí)。重點(diǎn)結(jié)合實(shí)例講解對(duì)程序設(shè)計(jì)專業(yè)學(xué)習(xí)的促進(jìn)作用,哪些方面要求大家具有使用計(jì)算機(jī)及編程語言解決問題的能力,還有國家二級(jí)計(jì)算機(jī)等級(jí)證書在多數(shù)用人單位招聘時(shí)會(huì)獲優(yōu)先錄用等實(shí)用信息內(nèi)容。由于這些內(nèi)容和大學(xué)學(xué)習(xí)以及就業(yè)緊密關(guān)聯(lián),學(xué)生聽起來非常專注。在了解本專業(yè)對(duì)計(jì)算機(jī)能力的需求以及社會(huì)對(duì)專業(yè)人才計(jì)算機(jī)能力的要求后,學(xué)生往往會(huì)產(chǎn)生強(qiáng)烈的學(xué)習(xí)熱情,最起碼不質(zhì)疑不排斥了。
3.2以項(xiàng)目為驅(qū)動(dòng),加強(qiáng)實(shí)踐教學(xué)。
程序設(shè)計(jì)是一門實(shí)踐性特別強(qiáng)的課程,學(xué)生只有在實(shí)際編程中不斷總結(jié)經(jīng)驗(yàn),不斷理解編程思想,經(jīng)過長時(shí)間的積累才能自由運(yùn)用語言達(dá)到編程程序解決實(shí)際問題的能力。在教學(xué)過程中增加更多的實(shí)踐環(huán)節(jié),根據(jù)各階段教學(xué)的教學(xué)目標(biāo),設(shè)計(jì)合理可行的實(shí)踐項(xiàng)目,并對(duì)項(xiàng)目開展中出現(xiàn)的問題進(jìn)行分析,解答主要問題,引導(dǎo)學(xué)生按照專業(yè)的開發(fā)流程開展項(xiàng)目。
3.2.1學(xué)生分組,確定項(xiàng)目負(fù)責(zé)人。改變傳統(tǒng)的課堂教學(xué)實(shí)驗(yàn)只是為了驗(yàn)證課本上或教師準(zhǔn)備的實(shí)例的做法,注重項(xiàng)目的系統(tǒng)性和知識(shí)的綜合性。培養(yǎng)學(xué)生團(tuán)隊(duì)合作意識(shí),調(diào)動(dòng)學(xué)生的主觀能動(dòng)性出發(fā),采用項(xiàng)目組長負(fù)責(zé)制的分組方式。每組成員一般在3到5人,組長一人,負(fù)責(zé)項(xiàng)目設(shè)計(jì)的總體運(yùn)行和任務(wù)分配。
3.2.2搭建開發(fā)平臺(tái),選擇適合的開發(fā)工具。在搭建開發(fā)平臺(tái)時(shí)考慮將開發(fā)工具、數(shù)據(jù)庫、Web服務(wù)器等集成在一起的可視化開發(fā)環(huán)境,框架結(jié)構(gòu)部分已由開發(fā)工具自動(dòng)生成,減少不必要的編碼,又有“所見即所得”的效果。學(xué)生有了一定的程序設(shè)計(jì)基礎(chǔ)后,再使用非可視化的開發(fā)環(huán)境,鍛煉學(xué)生的程序設(shè)計(jì)能力。
3.2.3設(shè)計(jì)用戶界面,引入評(píng)價(jià)機(jī)制。為了學(xué)生容易上手可以先安排界面設(shè)計(jì),這種先易后難、循序漸進(jìn)的方法使學(xué)生產(chǎn)生滿足感、成就感,激發(fā)進(jìn)一步學(xué)習(xí)的熱情。用戶界面設(shè)計(jì)出來后,首先各小組選派一人闡述設(shè)計(jì)思想,然后各小組互評(píng),最后選出優(yōu)勝者,可以設(shè)計(jì)一些評(píng)價(jià)機(jī)制和鼓勵(lì)辦法,使學(xué)生不僅學(xué)會(huì)還要優(yōu)化。
3.2.4編寫程序代碼,建立程序設(shè)計(jì)思想。根據(jù)學(xué)生的實(shí)際接受能力,教師按照事先劃分好的任務(wù),用實(shí)例對(duì)每一個(gè)知識(shí)點(diǎn)進(jìn)行講解。教學(xué)過程中應(yīng)避免面面俱到,貪多求全,像玩游戲一下盡可能讓枯燥的編碼充滿樂趣。對(duì)于學(xué)生,充分發(fā)揮項(xiàng)目組的作用,從軟件工程的角度出發(fā),適當(dāng)使用一些其他的輔助工具,提高綜合運(yùn)行能力,建立程序設(shè)計(jì)思想。
3.3 以人才培養(yǎng)為導(dǎo)向,改革考核方式。
以往的考核方式基本采用筆試+機(jī)考的方式進(jìn)行。筆試和機(jī)考的內(nèi)容、題型相對(duì)固定,特別是受考試時(shí)間的限制,基本沒有綜合項(xiàng)目設(shè)計(jì)方面的考核,考試成績不能反映學(xué)生的綜合能力,這樣就偏離了程序設(shè)計(jì)課程考核的本質(zhì),因此,提出以人才培養(yǎng)為導(dǎo)向的考核方式改革思路。
跟蹤學(xué)生的整個(gè)學(xué)習(xí)過程,通過教學(xué)過程中項(xiàng)目的完成情況考核學(xué)生的學(xué)習(xí)態(tài)度、知識(shí)的掌握程度和解決實(shí)際問題的能力。授課教師可以采用形成性考核方式+終結(jié)性考核兩種方式,形成性考核主要依據(jù)項(xiàng)目的完成情況,每完成一個(gè)項(xiàng)目考核一次作為平時(shí)成績;終結(jié)性考核安排在期末,要求學(xué)生選一個(gè)綜合類的項(xiàng)目進(jìn)行演示,并回答由相關(guān)學(xué)科的教師組成評(píng)審組的問題,教師對(duì)項(xiàng)目評(píng)分形成期末成績,平時(shí)成績和期末成績的匯總就是這門課程的總成績。這種考核方式避免了學(xué)生平時(shí)不學(xué)習(xí),期末突擊復(fù)習(xí)的弊端,達(dá)到了人才培養(yǎng)的目的。
參考文獻(xiàn)
[1]羅湛,鄧朝霞.非計(jì)算機(jī)專業(yè)C 語言教學(xué)改革探討[J].裝備制造技術(shù).2013年第12 期:202-204.
[2]陸金鈺,秦慶東.面向土木專業(yè)人才培養(yǎng)的《計(jì)算機(jī)程序設(shè)計(jì)》課程改革實(shí)踐與探索.教育教學(xué)論壇.2014年第四期:213-215.