文章編號(hào):1672-5913(2008)10-0067-02
摘要:本文就如何在本科程序設(shè)計(jì)類課程教學(xué)中培養(yǎng)學(xué)生的創(chuàng)新能力進(jìn)行了初步的探討,提出了實(shí)施開放式教學(xué)的思路和實(shí)施方案。
關(guān)鍵詞:創(chuàng)新型人才培養(yǎng);開放式教學(xué);程序設(shè)計(jì)
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1引言
大學(xué)的課程教學(xué)在創(chuàng)新型人才培養(yǎng)中起著無(wú)可替代的關(guān)鍵作用。我們?cè)陂L(zhǎng)期教學(xué)實(shí)踐中,對(duì)培養(yǎng)創(chuàng)新型人才思想如何具體地在程序設(shè)計(jì)類課程教學(xué)中實(shí)施進(jìn)行了一些有益的探討和嘗試。針對(duì)程序設(shè)計(jì)類課程的特點(diǎn),在教學(xué)理念、教學(xué)內(nèi)容組織、教學(xué)過(guò)程各環(huán)節(jié)的實(shí)施中都滲透了培養(yǎng)學(xué)生創(chuàng)新能力的新思想。本文總結(jié)了我們的思路和做法,提出實(shí)施開放式教學(xué),有利于培養(yǎng)學(xué)生的創(chuàng)新能力。
程序設(shè)計(jì)類課程是計(jì)算機(jī)專業(yè)的基礎(chǔ)課程,在計(jì)算機(jī)及其相關(guān)專業(yè)培養(yǎng)計(jì)劃中占有重要的地位,它們既重視培養(yǎng)程序設(shè)計(jì)的基本理論、基本概念,又重視培養(yǎng)程序設(shè)計(jì)與開發(fā)的技能技巧,最終體現(xiàn)為培養(yǎng)學(xué)生用程序解決實(shí)際問(wèn)題的能力。學(xué)生解決問(wèn)題的能力可以總結(jié)為能否清晰的提煉問(wèn)題,進(jìn)行形式化的表達(dá),再用規(guī)范的計(jì)算機(jī)程序?qū)懗鼋鉀Q方案。在北京工業(yè)大學(xué),我們將開放式的教學(xué)理念和教學(xué)方法應(yīng)用于程序設(shè)計(jì)類課程,對(duì)培養(yǎng)學(xué)生創(chuàng)新能力進(jìn)行了嘗試。本文總結(jié)了我們的一些思路和做法,涉及的程序設(shè)計(jì)類課程有:高級(jí)語(yǔ)言程序設(shè)計(jì)(或稱C語(yǔ)言程序設(shè)計(jì))、C++程序設(shè)計(jì)、Windows編程基礎(chǔ)等。
2傳統(tǒng)教學(xué)過(guò)程中的問(wèn)題與不足
要進(jìn)行教學(xué)改革與創(chuàng)新,首先要研究以前的教學(xué)經(jīng)驗(yàn)與教訓(xùn)。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科雖然年輕,但也有約50年的歷史,對(duì)程序設(shè)計(jì)類課程教學(xué)法的研究一刻也沒(méi)有停止過(guò),已經(jīng)積累了非常多的教學(xué)經(jīng)驗(yàn),有了成熟的課程和教學(xué)體系,這是我們必須繼承和發(fā)揚(yáng)的。但是,我們?cè)趯W(xué)習(xí)繼承這些經(jīng)驗(yàn)的同時(shí)也體會(huì)到諸多傳統(tǒng)教學(xué)系統(tǒng)中的問(wèn)題與不足,我們總結(jié)歸納為以下幾點(diǎn):
⑴ 教學(xué)內(nèi)容安排和教材側(cè)重語(yǔ)言規(guī)范,輕視程序設(shè)計(jì)規(guī)律。目前絕大多數(shù)教材根據(jù)語(yǔ)言規(guī)范的內(nèi)在邏輯層次分為若干章節(jié),每章節(jié)對(duì)語(yǔ)言規(guī)范力求面面俱到,求全責(zé)備。這種方式確有其優(yōu)點(diǎn),層次分明,條理清晰,內(nèi)容詳盡,對(duì)于已經(jīng)有程序語(yǔ)言基礎(chǔ)的讀者看來(lái)確實(shí)合理清晰,但對(duì)于完全沒(méi)有程序設(shè)計(jì)概念的初學(xué)者卻有很多弊端。例如有些C語(yǔ)言程序設(shè)計(jì)教材中,講解數(shù)據(jù)類型語(yǔ)法知識(shí),僅整數(shù)類型就列出了六種之多;講解各種運(yùn)算符和表達(dá)式,占用相當(dāng)?shù)钠?,而這些章節(jié)的學(xué)習(xí)者對(duì)編程幾乎還沒(méi)有什么體驗(yàn)。反之,對(duì)程序設(shè)計(jì)方法的學(xué)習(xí),對(duì)程序設(shè)計(jì)整體的把握和對(duì)編程思維習(xí)慣的培養(yǎng)卻明顯不足。過(guò)分糾纏語(yǔ)言細(xì)節(jié)的布局,使得學(xué)習(xí)難度增加,需要盲目記憶的內(nèi)容過(guò)多。由于沒(méi)有編程的成功體驗(yàn),死記硬背的東西越多,學(xué)生越易產(chǎn)生厭學(xué)情緒。這種面面俱到的方法貌似基礎(chǔ)扎實(shí),實(shí)則浪費(fèi)時(shí)間,并且越是強(qiáng)調(diào)細(xì)節(jié),越是難以把握程序設(shè)計(jì)技巧,僵化學(xué)習(xí)頭腦,不利于學(xué)生提升學(xué)習(xí)的廣度和深度,不利于創(chuàng)新能力的培養(yǎng)。
⑵ 例題和習(xí)題注重解釋和練習(xí)語(yǔ)法問(wèn)題,忽視程序設(shè)計(jì)方法。由于死記硬背語(yǔ)法帶來(lái)的學(xué)習(xí)難度,使得教師需要相當(dāng)數(shù)量的例題和習(xí)題幫助學(xué)生理解語(yǔ)法,大量的實(shí)踐時(shí)間糾纏在語(yǔ)法上,不利于培養(yǎng)學(xué)生掌握程序設(shè)計(jì)方法,從全局角度把握程序;不利于提高分析問(wèn)題解決問(wèn)題的能力;也沒(méi)有時(shí)間、精力和興趣自己查閱資料,擴(kuò)展知識(shí)面。這對(duì)創(chuàng)新能力的培養(yǎng)顯然是不利的。
⑶ 考試試題側(cè)重語(yǔ)言細(xì)節(jié)??荚噷?dǎo)向是不可忽視的學(xué)習(xí)指揮棒,特別是對(duì)于剛剛經(jīng)過(guò)高考的低年級(jí)學(xué)生。目前我們看到很多C語(yǔ)言程序設(shè)計(jì)課程的考試題太多的關(guān)注了語(yǔ)法細(xì)節(jié),而非程序設(shè)計(jì)。我們認(rèn)為在學(xué)習(xí)用語(yǔ)言進(jìn)行程序設(shè)計(jì)的過(guò)程中,忽視一些語(yǔ)法細(xì)節(jié)問(wèn)題,能夠使學(xué)生從更高的層次、更全面的把握知識(shí),學(xué)生可以在編程過(guò)程中自行學(xué)習(xí)講課中忽略的語(yǔ)法細(xì)節(jié)。這樣可以更好的培養(yǎng)學(xué)生的探索意識(shí)、自學(xué)能力,使學(xué)生勤于思考、勤于鍛煉創(chuàng)新能力。
為了克服這些弊端,培養(yǎng)學(xué)生創(chuàng)新能力,結(jié)合程序設(shè)計(jì)類課程的特點(diǎn),我們提出“開放”式的教學(xué)思路和方法,并在我們的課程教學(xué)中實(shí)踐,初步取得較好的成果。本文在下面幾個(gè)方面介紹我們的想法和做法,供大家參考。
3開放式教學(xué)的思路與實(shí)踐
⑴ 安排開放式課堂教學(xué)內(nèi)容,提高課堂效率
在高等學(xué)校,每門課程的課時(shí)是有限的,以C語(yǔ)言程序設(shè)計(jì)課程為例,許多教師抱怨課時(shí)少,難度大。我們?cè)谧鹬氐痪心嘤诮滩牡幕A(chǔ)上,采用了開放式的思路安排教學(xué)內(nèi)容。教學(xué)內(nèi)容安排的指導(dǎo)思想是根據(jù)程序設(shè)計(jì)的需要來(lái)學(xué)習(xí),以作業(yè)和課程設(shè)計(jì)為驅(qū)動(dòng),減少單純枯燥的語(yǔ)法學(xué)習(xí)?!伴_放式”教學(xué)內(nèi)容安排主要體現(xiàn)在下面兩個(gè)方面:
① 教材之內(nèi)的內(nèi)容開放。
不墨守成規(guī),大膽對(duì)教材內(nèi)容進(jìn)行取舍,恰當(dāng)選擇,以前必講的語(yǔ)法細(xì)節(jié)少講,甚至不講,有利于提高程序設(shè)計(jì)能力的內(nèi)容多講、細(xì)講。課上不講的細(xì)節(jié)留待學(xué)生在完成作業(yè)和程序設(shè)計(jì)題目時(shí)自行學(xué)習(xí)和補(bǔ)充。例如C語(yǔ)言程序設(shè)計(jì)課程,數(shù)據(jù)類型講解,重用途輕語(yǔ)法細(xì)節(jié);順序、選擇、循環(huán)三種基本結(jié)構(gòu)的講解,以案例推動(dòng),注重程序設(shè)計(jì)中的應(yīng)用,以循環(huán)為例,for、while、do-while三種基本語(yǔ)句用一個(gè)案例,一起講解,節(jié)省課時(shí),并且對(duì)程序循環(huán)也有更深的理解,學(xué)生能夠當(dāng)堂編寫循環(huán)程序片段。再如,盡早講解函數(shù),因?yàn)榻Y(jié)構(gòu)化程序設(shè)計(jì)即以函數(shù)為基礎(chǔ),這樣可以更好的滲透結(jié)構(gòu)化程序設(shè)計(jì)的概念。函數(shù)參數(shù)是C語(yǔ)言程序設(shè)計(jì)教學(xué)中的重點(diǎn)和難點(diǎn)內(nèi)容,在編程解決實(shí)際問(wèn)題中也十分重要,需要占用更多的課時(shí),要按教材安排細(xì)致講解,并且還要在課程的后期再進(jìn)行總結(jié)提高,歸納值參數(shù)、地址參數(shù)等用法的不同特點(diǎn),引導(dǎo)學(xué)生體會(huì)應(yīng)用的情況,比如地址做參數(shù)常用于返回函數(shù)的結(jié)果等。
② 教材之外的內(nèi)容開放。
在課程設(shè)計(jì)和大型作業(yè)的驅(qū)動(dòng)下,大力鼓勵(lì)學(xué)生提高學(xué)習(xí)深度和廣度,突破課堂教學(xué)的局限。引導(dǎo)學(xué)生提出自己感興趣的編程需求,再自己查閱資料,補(bǔ)充知識(shí),形成自己的解決方案,最后成功完成編程實(shí)踐。例如,課程設(shè)計(jì)題目要求學(xué)生完成一個(gè)小游戲的設(shè)計(jì),學(xué)生為了將游戲設(shè)計(jì)的更逼真漂亮,自行學(xué)習(xí)C語(yǔ)言的圖形顯示方式的相關(guān)知識(shí)。再如,學(xué)生開始編程時(shí)沒(méi)有結(jié)構(gòu)化程序設(shè)計(jì)的經(jīng)驗(yàn),使得程序越寫越龐大混亂,這時(shí)教師適時(shí)引導(dǎo),可使學(xué)生對(duì)結(jié)構(gòu)化程序設(shè)計(jì)有親身的體驗(yàn)和認(rèn)識(shí)。學(xué)生在這樣有意安排的教學(xué)過(guò)程中有了成功的體驗(yàn),極大增加了學(xué)習(xí)的興趣,挖掘了學(xué)生的學(xué)習(xí)潛力,激活了發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的創(chuàng)新意識(shí)。
⑵ 選擇經(jīng)典案例,熏陶學(xué)生良好的編程習(xí)慣
對(duì)于初學(xué)者,模仿是最好的老師。在課程教學(xué)中我們突破課程的局限,選擇了有一定實(shí)用價(jià)值,有一定難度的經(jīng)典案例供學(xué)生研讀模仿。這樣使學(xué)生在學(xué)習(xí)之初就看到程序的威力與精妙,養(yǎng)成良好的編程思維和編程習(xí)慣,也使學(xué)生對(duì)程序設(shè)計(jì)有更準(zhǔn)確的理解。例如Windows程序設(shè)計(jì)課程,這門課程的大部分內(nèi)容要學(xué)習(xí)MFC類庫(kù)。大家知道,MFC的經(jīng)典而龐大的應(yīng)用程序架構(gòu)在短短的課程教學(xué)時(shí)間內(nèi)是很難讓學(xué)生理解清楚的,因此這門課程采用開放式教學(xué)就尤為重要。教材的案例多趨于簡(jiǎn)單,盡管有些教師認(rèn)為已經(jīng)比較難了,但我們認(rèn)為這種局限于局部細(xì)節(jié)的難度不利于提高學(xué)生的程序設(shè)計(jì)能力。我們的想法是越是陷于局部越是難以看清框架,學(xué)習(xí)越枯燥,不利于激發(fā)創(chuàng)造力,不利于程序設(shè)計(jì)能力提高。我們的做法是課上介紹框架和學(xué)習(xí)的方法,課后精選了MSDN中的經(jīng)典案例,布置類似作業(yè)供學(xué)生模仿。這一過(guò)程使學(xué)生有了很大的成就感,興趣大增,自信心大增,對(duì)于在課上不易弄懂的程序架構(gòu)問(wèn)題也開始有了深的思考。
⑶ 設(shè)計(jì)開放式的課程設(shè)計(jì)題目,激活學(xué)生的創(chuàng)作激情
課程設(shè)計(jì)是開放式教學(xué)體系中激活學(xué)生參與激情的關(guān)鍵環(huán)節(jié)。我們選擇的課程設(shè)計(jì)題目通常有實(shí)際的應(yīng)用背景,有一定趣味性,運(yùn)用知識(shí)點(diǎn)的難度略高于課上內(nèi)容。課程設(shè)計(jì)題目是開放的,給出的課程設(shè)計(jì)題目要求只是課程設(shè)計(jì)的基本要求,明確告知學(xué)生,完成基本要求只能獲得70分的成績(jī),基本內(nèi)容之外的功能可由學(xué)生任意的想像發(fā)揮。這樣的安排激活了學(xué)生的潛能和競(jìng)爭(zhēng)意識(shí),促使學(xué)生大量閱讀參考資料,學(xué)習(xí)課內(nèi)、特別是課外的知識(shí)。當(dāng)他們最終完成課程設(shè)計(jì)時(shí),就獲得了很好的“頂峰體驗(yàn)”。而這種“頂峰體驗(yàn)”正是培養(yǎng)創(chuàng)新型人才不可缺少的。
⑷ 利用好網(wǎng)絡(luò)媒體,建立活躍的網(wǎng)絡(luò)論壇
網(wǎng)絡(luò)的發(fā)展給教學(xué)活動(dòng)帶來(lái)了新的空間,很多學(xué)校也已開始大量借助網(wǎng)絡(luò)輔助教學(xué)。除了通常方法使用網(wǎng)路媒體輔助教學(xué),我們?cè)陂_放式教學(xué)中充分利用答疑和論壇的環(huán)節(jié),教師和學(xué)生均可以在網(wǎng)上提出問(wèn)題和回答問(wèn)題。特別提倡學(xué)生之間的相互答疑,從政策上配合以“積分”等形式,對(duì)提問(wèn)多回答問(wèn)題多的同學(xué)給予獎(jiǎng)勵(lì)。
⑸ 控制考試的導(dǎo)向作用,提高學(xué)生的程序設(shè)計(jì)能力
考試在學(xué)習(xí)中的導(dǎo)向作用是毋庸置疑的,針對(duì)開放式教學(xué)的實(shí)施過(guò)程,結(jié)合程序設(shè)計(jì)類課程的特點(diǎn),我們?cè)诳荚嚸}時(shí)側(cè)重考查程序設(shè)計(jì)能力,盡量避免死記硬背的知識(shí)環(huán)節(jié)??荚囶}型多為程序閱讀題,程序填空題和綜合的設(shè)計(jì)題,避免更適于考查單個(gè)語(yǔ)法點(diǎn)的選擇題和簡(jiǎn)單填空題等。
⑹ 建立開放的師生關(guān)系,做學(xué)生的良師益友
開放的師生關(guān)系是實(shí)施開放式教學(xué)的保證。建立開放式的師生關(guān)系首先要求教師的心靈應(yīng)該是開放的,教師要用自己的真心平等地對(duì)待和熱愛(ài)自己的學(xué)生。既要愛(ài)護(hù)基礎(chǔ)好、學(xué)習(xí)上進(jìn)的學(xué)生,指導(dǎo)他們帶領(lǐng)其他同學(xué)使課程學(xué)習(xí)更上一層樓;還要不歧視基礎(chǔ)差、學(xué)習(xí)等各方面有問(wèn)題的學(xué)生。另一方面,指導(dǎo)學(xué)生開放自己的心靈,克服畏難情緒,增強(qiáng)自信心,樹立正確的、嚴(yán)謹(jǐn)?shù)目茖W(xué)研究的態(tài)度,充分與老師和同學(xué)交流,培養(yǎng)良好的團(tuán)隊(duì)合作精神。學(xué)生的心態(tài)開放了,他們才能大膽地與教師同學(xué)進(jìn)行互動(dòng),才能更好地培養(yǎng)創(chuàng)新能力。
4結(jié)語(yǔ)
培養(yǎng)創(chuàng)新型人才是一個(gè)重大的、緊迫的、長(zhǎng)期的、困難的任務(wù),培養(yǎng)創(chuàng)新型人才就要從今天做起,從我們教師每個(gè)日常工作做起。實(shí)施開放式的教學(xué)就是要開放師生的教學(xué)思想,開放教學(xué)的內(nèi)容和組織形式,在開放的思維和環(huán)境下,學(xué)生的創(chuàng)造力和潛能得到更好的發(fā)揮,使學(xué)生在成功體驗(yàn)中培養(yǎng)創(chuàng)新的意識(shí)和能力。
參考文獻(xiàn)
[1] 楊冬等. 任務(wù)驅(qū)動(dòng)的高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)[J]. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2005,(8):29-31.
[2] 張麗靜,潘衛(wèi)華. 高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)改革研究與實(shí)踐[J]. 中國(guó)電力教育,2007,(11):48-49.