文章編號:1672-5913(2008)05-0059-04
摘要:針對Visual Basic程序設(shè)計(jì)教學(xué)的現(xiàn)狀和問題,本文將循序漸進(jìn)的教育規(guī)律和軟件的工程化開發(fā)方法相融合,提出了大案例教學(xué)法,并全面地討論了如何將其運(yùn)用于Visual Basic程序設(shè)計(jì)的教學(xué)中,從而在教學(xué)中把理論與實(shí)踐緊密結(jié)合起來,充分調(diào)動學(xué)生的主動性和積極性,提高學(xué)生用計(jì)算機(jī)語言解決實(shí)際問題的綜合能力。
關(guān)鍵詞:大案例教學(xué)法;Visual Basic程序設(shè)計(jì);五步教學(xué)法
中圖分類號:G64
文獻(xiàn)標(biāo)識碼:B
1 引言
Visual Basic程序設(shè)計(jì)課程是很多大學(xué)生的第一門程序設(shè)計(jì)課程,是繼“計(jì)算機(jī)文化基礎(chǔ)”之后高校計(jì)算機(jī)基礎(chǔ)教育的第二個(gè)層次。該課程的教學(xué)目的包括讓學(xué)生掌握VB語言的基本知識和運(yùn)用這些知識進(jìn)行程序設(shè)計(jì)以解決問題的思想、方法與技能兩個(gè)方面。傳統(tǒng)的“Visual Basic程序設(shè)計(jì)”(以下簡稱VB)教學(xué)方式是,“提出概念―解釋概念―舉例說明”,課程一開始要引進(jìn)程序設(shè)計(jì)的思想和大量的新概念,再加上教學(xué)方式為“填鴨式”,學(xué)生感覺學(xué)習(xí)這門課既“苦”又“枯”?!翱唷钡氖且獙W(xué)的東西多,學(xué)習(xí)是被動接受,不會學(xué)以致用;“枯”的是學(xué)生剛開始時(shí)對學(xué)這門課感興趣,但學(xué)著學(xué)著就沒興趣了。同時(shí),由于學(xué)時(shí)少,在課程講授時(shí),只能舉一些零碎的例子,學(xué)生在學(xué)完這門課程后僅會孤立地做一些簡單的小程序、小例題,而不會開發(fā)一個(gè)較完整的應(yīng)用軟件。另外,很多學(xué)生學(xué)VB僅僅傾向于應(yīng)試而淡化實(shí)際應(yīng)用與開發(fā),這也導(dǎo)致學(xué)生在學(xué)習(xí)過程中只是一味模仿課本上的實(shí)例,知識點(diǎn)零散,對系統(tǒng)開發(fā)認(rèn)識模糊,不能形成軟件開發(fā)的整體概念。另外,教學(xué)中理論與實(shí)踐聯(lián)系不密切,學(xué)生對“學(xué)習(xí)這門課意義何在”感到茫然。
針對上述問題,筆者將循序漸進(jìn)的教學(xué)規(guī)律與軟件工程中的軟件開發(fā)方法相結(jié)合,提出了在VB教學(xué)中采用大案例教學(xué)法的思想。實(shí)踐表明,這種教學(xué)方法的運(yùn)用能有效地解決上述問題。
2 大案例教學(xué)法
2.1大案例教學(xué)法
案例教學(xué)法是通過對一個(gè)案例或者一個(gè)情景的描述進(jìn)行思考以掌握基本知識和培養(yǎng)學(xué)生能力的一種教學(xué)方法。在程序設(shè)計(jì)課程的教學(xué)中,一個(gè)案例一般就是一個(gè)軟件項(xiàng)目,案例教學(xué)法是師生通過共同實(shí)施一個(gè)完整的軟件項(xiàng)目而進(jìn)行的教學(xué)活動。本文提出的大案例教學(xué)法是用一個(gè)較大規(guī)模的軟件項(xiàng)目來覆蓋或貫穿課程教學(xué)內(nèi)容,采取逐步擴(kuò)張法進(jìn)行項(xiàng)目的開發(fā),將項(xiàng)目開發(fā)與課程教學(xué)交叉融合、相輔相成,從而實(shí)現(xiàn)教學(xué)目標(biāo)并培養(yǎng)學(xué)生形成完整的軟件開發(fā)的概念。
與其他的案例教學(xué)法相比,大案例教學(xué)法具有下面的特點(diǎn):一是用一個(gè)較完整的軟件項(xiàng)目貫穿課程始終,而不是舉一個(gè)個(gè)零碎的例題去說明各知識點(diǎn)。二是課程教學(xué)與軟件項(xiàng)目的開發(fā)相互融合,相輔相成。作為教學(xué)案例的項(xiàng)目被劃分成一個(gè)個(gè)小的子項(xiàng)目,它是通過在教學(xué)中完成一個(gè)個(gè)子項(xiàng)目而逐步得到完成的,而每個(gè)子項(xiàng)目又是隨著應(yīng)用的需求逐步提出來的,由此引進(jìn)新的概念和新的教學(xué)內(nèi)容。它的設(shè)計(jì)和實(shí)現(xiàn)又增進(jìn)了學(xué)生對新概念、新知識的理解和運(yùn)用。三是通過恰當(dāng)設(shè)計(jì)子項(xiàng)目的開發(fā)順序來最大程度地保持原有教學(xué)內(nèi)容的順序不變。
2.2大案例教學(xué)法的教學(xué)過程
大案例教學(xué)法的完整教學(xué)過程如圖1所示。這是一個(gè)以教師為主導(dǎo), 以學(xué)生為主體的雙主模式的教學(xué)。下面就這一方法在VB教學(xué)中的運(yùn)用進(jìn)行探析。
圖1 逐步增長案例教學(xué)法的完整教學(xué)過程
2.2.1課前準(zhǔn)備
要使教學(xué)達(dá)到預(yù)期效果,選擇合適的項(xiàng)目作為教學(xué)案例是關(guān)鍵。這就需要事先熟悉課程教學(xué)大綱,明確教學(xué)目標(biāo),吃透教學(xué)內(nèi)容,找出教學(xué)難點(diǎn)和重點(diǎn);還要了解學(xué)生的基礎(chǔ)等情況。弄清上述問題后,教師就要根據(jù)自己的觀察和平常積累的素材,分析學(xué)生所學(xué)專業(yè)在社會和行業(yè)中的應(yīng)用情況,選擇或提出合適的軟件項(xiàng)目作為教學(xué)案例。選定案例后,就要進(jìn)行備課,把軟件項(xiàng)目劃分成一個(gè)個(gè)子項(xiàng)目,將循序漸進(jìn)的教學(xué)規(guī)律和軟件工程中逐步擴(kuò)張等軟件開發(fā)策略結(jié)合起來,確定好該項(xiàng)目中各個(gè)子項(xiàng)目的提出順序。對每一子項(xiàng)目,將其設(shè)計(jì)任務(wù)分成課上和課下兩部分,學(xué)生必須在課下自主或分組完成“課下設(shè)計(jì)”任務(wù)和子項(xiàng)目的全部編碼任務(wù),在上機(jī)課上調(diào)試通過,以此發(fā)揮學(xué)生的主動性,激發(fā)其進(jìn)行探究式學(xué)習(xí)、培養(yǎng)創(chuàng)新精神。
恰當(dāng)?shù)剡x取或設(shè)計(jì)案例項(xiàng)目需遵循如下原則:
(1) 針對性、層次性
所選取的項(xiàng)目案例涉及的知識要能夠覆蓋VB教學(xué)大綱的各知識點(diǎn),滿足教學(xué)要求;難度要適宜,要能夠?yàn)榻^大多數(shù)同學(xué)接受,并盡量與學(xué)生所學(xué)的專業(yè)相聯(lián)系。
此外,還要考慮學(xué)生的差異,給一個(gè)子項(xiàng)目設(shè)計(jì)不同的難度,以滿足不同基礎(chǔ)和能力學(xué)生的學(xué)習(xí)需要。
(2) 實(shí)用性
項(xiàng)目案例最好來源于實(shí)際,具有實(shí)用價(jià)值,這是案例教學(xué)趣味性和吸引力產(chǎn)生的基礎(chǔ)。它能激起學(xué)生的成就感,調(diào)動學(xué)生的學(xué)習(xí)積極性,維持學(xué)生的學(xué)習(xí)興趣。
(3) 簡化性、可擴(kuò)展性
一般的軟件項(xiàng)目設(shè)計(jì)要考慮到各種可能發(fā)生的情況,問題十分復(fù)雜,不宜直接拿來用作教學(xué)案例,而應(yīng)先結(jié)合教學(xué)需要進(jìn)行加工。這樣可使重點(diǎn)突出、脈絡(luò)清晰,利于教學(xué);同時(shí)也使項(xiàng)目具有了可擴(kuò)展性,為學(xué)生留下了在課下擴(kuò)展軟件項(xiàng)目的空間。
(4) 創(chuàng)新性
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展和教學(xué)對象的不斷改變,所設(shè)置的項(xiàng)目案例也應(yīng)該不斷改進(jìn)、完善以至更新;隨著教學(xué)內(nèi)容的更新,項(xiàng)目所采用的技術(shù)和解決方案也要相應(yīng)升級。教師在課后要及時(shí)反思案例教學(xué)的過程還存在哪些需要改善的地方,總結(jié)在案例教學(xué)過程中有哪些成功的經(jīng)驗(yàn),不斷改進(jìn)案例教學(xué)。
按上述原則選定項(xiàng)目案例后,教師應(yīng)在課前多了解有關(guān)該項(xiàng)目的知識,把整個(gè)軟件項(xiàng)目劃分成一個(gè)個(gè)較小的易于實(shí)現(xiàn)的軟件模塊,并完成教學(xué)方案的設(shè)計(jì)。本文選取“學(xué)生成績管理信息系統(tǒng)”軟件項(xiàng)目作為教學(xué)案例,表1給出了該項(xiàng)目的主要模塊與教學(xué)內(nèi)容的對應(yīng)關(guān)系。
2.2.2大案例教學(xué)法的教學(xué)實(shí)施
在緒論課中演示完整的項(xiàng)目案例
在學(xué)習(xí)一門新課程之前,學(xué)生最關(guān)心的問題是學(xué)習(xí)這門課有什么實(shí)際用處。在課程的緒論中,可先對VB語言及課程教學(xué)目的任務(wù)等進(jìn)行概述,再利用多媒體來演示、介紹“學(xué)生成績信息管理系統(tǒng)”及其各子模塊的功能,并向?qū)W生說明如此美觀、標(biāo)準(zhǔn)的Windows應(yīng)用程序界面、強(qiáng)大的數(shù)據(jù)處理以及簡便的操作在他們學(xué)習(xí)了“VB程序設(shè)計(jì)”以后完全能夠做出來。待演示結(jié)束后,教師還要明確指出,演示的系統(tǒng)也是在VB課程教學(xué)中師生要共同完成的軟件項(xiàng)目,對學(xué)有余力的同學(xué),可在此基礎(chǔ)上進(jìn)一步擴(kuò)展,使其實(shí)際價(jià)值更高。這樣就使學(xué)生清楚了學(xué)習(xí)該課程的意義并激發(fā)起學(xué)生的求知欲。
按“五步曲”實(shí)施每一單元的教學(xué)
在緒論課以后的每一教學(xué)單元的教授過程,一般可分為五步。第一步是教師創(chuàng)設(shè)教學(xué)情景,提出項(xiàng)目子任務(wù)。在這一步,教師通過展現(xiàn)和講述教學(xué)情景,使學(xué)生了解項(xiàng)目的背景、實(shí)際意義和應(yīng)用需求,提出子項(xiàng)目設(shè)計(jì)任務(wù)。第二步是分析任務(wù),引出新教學(xué)內(nèi)容。在這一步教師通過對子項(xiàng)目設(shè)計(jì)任務(wù)進(jìn)行分析,暴露出既有知識的局限,繼而自然地引出本次課的教學(xué)內(nèi)容,亦即子項(xiàng)目開發(fā)需要的新概念、新知識。第三步是講授新概念、新知識,設(shè)計(jì)子項(xiàng)目。這是學(xué)生接受和掌握新概念、新知識的階段,是教學(xué)進(jìn)程中很重要的一個(gè)環(huán)節(jié),在這一階段宜采用講授為主的教學(xué)方法。在教學(xué)過程中,要向?qū)W生介紹本次課的教學(xué)目的、任務(wù)、要求、重點(diǎn)難點(diǎn),講授時(shí)要采取切合實(shí)際的教學(xué)方法,提高教學(xué)效果;講授完以后,要將新知識應(yīng)用到子項(xiàng)目的設(shè)計(jì)中去,以增進(jìn)學(xué)生對新知識的理解與運(yùn)用。這時(shí)可采用教師主導(dǎo)的討論式教學(xué)法,鼓勵學(xué)生積極思考,平等參與討論和設(shè)計(jì)。依據(jù)實(shí)踐教學(xué)進(jìn)展情況,教師可引導(dǎo)學(xué)生提出多種設(shè)計(jì)方法或補(bǔ)充例題,或擴(kuò)展子項(xiàng)目,使學(xué)生從多角度理解所學(xué)知識。第四步是總結(jié)評價(jià),布置課下任務(wù)。經(jīng)過上述教學(xué)過程,同學(xué)們對子項(xiàng)目的設(shè)計(jì)方案已基本清晰了,教師及時(shí)對本次課的教學(xué)內(nèi)容進(jìn)行總結(jié),對解題思路進(jìn)行梳理。同時(shí),從滿足實(shí)際需求、用戶界面友好、系統(tǒng)的完整性、可靠性等多角度指出課堂上給出的子項(xiàng)目設(shè)計(jì)方案可能存在的待改進(jìn)和完善之處,提出需增加的功能,將它們布置為課下作業(yè)來完成。第五步是動手完成,評比交流階段。學(xué)生在課下要對課上師生共同完成的任務(wù)的設(shè)計(jì)思路進(jìn)行梳理,寫出實(shí)驗(yàn)報(bào)告,將子項(xiàng)目的其他設(shè)計(jì)任務(wù)在課下完成,并將其與課上完成的子項(xiàng)目集成為一個(gè)整體,在上機(jī)課上調(diào)試通過。這一步可對學(xué)生分組,每位學(xué)生先獨(dú)立思考,設(shè)計(jì)方案,然后在小組交流、討論,形成小組方案;老師則對各組的實(shí)現(xiàn)方案進(jìn)行評價(jià),每次選一組的實(shí)現(xiàn)方案在全班交流。這一步將課堂教學(xué)與課下練習(xí)緊密聯(lián)系起來,將理論教學(xué)與上機(jī)實(shí)習(xí)緊密結(jié)合起來,將學(xué)生的能力培養(yǎng)過程延伸到課下。
上述“五步曲”是一個(gè)較完整的教學(xué)過程,它實(shí)現(xiàn)了理論教學(xué)與軟件開發(fā)實(shí)踐的有機(jī)結(jié)合。
進(jìn)行課程小結(jié)
在前面各單元教學(xué)中,是將“Visual Basic 語言程序設(shè)計(jì)”課程的教學(xué)內(nèi)容“化整為零”,分解到各單元進(jìn)行教學(xué)。在課程教學(xué)任務(wù)結(jié)束時(shí),就應(yīng)再將其“化零為整”,結(jié)合項(xiàng)目案例的脈絡(luò),為同學(xué)們重構(gòu)出完整的課程知識體系,將前面軟件項(xiàng)目開發(fā)中采用的方法策略上升到理論,使學(xué)生對與其相應(yīng)的軟件工程化開發(fā)方法獲得一個(gè)“理性”的認(rèn)識。然后,以這種理性認(rèn)識再回去審視前面的項(xiàng)目開發(fā)過程,使同學(xué)們所形成的軟件開發(fā)完整概念得到強(qiáng)化和升華(信息隱蔽原理,提高模塊的內(nèi)聚度,降低模塊間的耦合度)。
3 大案例教學(xué)法的注意事項(xiàng)
3.1該方法的適用性
在應(yīng)用該方法時(shí),要根據(jù)具體情況,與其他優(yōu)秀方法結(jié)合,發(fā)揮不同方法的長處。例如,在“應(yīng)用新知識完成子項(xiàng)目任務(wù)”等教學(xué)環(huán)節(jié),教師要創(chuàng)造平等參與氛圍,鼓勵學(xué)生積極參與“子項(xiàng)目設(shè)計(jì)”的討論;在采用討論法的教學(xué)過程中,同學(xué)們的問題和答案會偏離甚至完全背離教學(xué)目的,這時(shí)教師要及時(shí)進(jìn)行調(diào)控,引導(dǎo)討論朝著既定目標(biāo)前進(jìn)。
該教學(xué)方法對教師也提出了新的要求:教師要在平常的科研和教學(xué)中不斷積累軟件項(xiàng)目案例和項(xiàng)目開發(fā)經(jīng)驗(yàn),并對項(xiàng)目案例按層次性和專業(yè)適用性進(jìn)行分類整理。這樣,在接受教學(xué)任務(wù)時(shí),就能很容易地選出適合新的教學(xué)對象、教學(xué)目的等要求的軟件項(xiàng)目進(jìn)行案例教學(xué)。
3.2教學(xué)過程要緊湊、明快,具有美感
在項(xiàng)目教學(xué)法中,每一子項(xiàng)目任務(wù)的提出,要象生物的生長一樣,隨著項(xiàng)目的應(yīng)用需求自然地提出,根據(jù)軟件開發(fā)的需要引進(jìn)新的教學(xué)知識點(diǎn)。這樣,各個(gè)子教學(xué)任務(wù)的提出與完成井井有條、前后相承,整個(gè)教學(xué)過程給人一種緊湊、明快的美感。以開發(fā)“記事本”程序?yàn)槔?,一系列問題自然引入:“記事本”程序的文字輸入功能,需要加“文本框”控件實(shí)現(xiàn);為方便編輯操作,應(yīng)添加編輯控制“按鈕”;為使界面友好,需添加下拉“菜單”,甚至再添加“工具欄”;為進(jìn)一步增強(qiáng)編輯功能,要添加查找替換、文字統(tǒng)計(jì)和幫助功能;最后過渡到“編制一個(gè)多文檔界面的字處理程序”,形成一個(gè)比較完善實(shí)用的字處理程序。整個(gè)實(shí)現(xiàn)過程是按照學(xué)生熟悉應(yīng)用的需求來設(shè)計(jì)的,不是老師生硬“灌輸”的,學(xué)生學(xué)起來自然會感覺順暢、有滋有味,從而在愉快的情景下思考和學(xué)習(xí),并從中獲得成就感。
在教學(xué)目標(biāo)和教學(xué)任務(wù)確定之后, 教師應(yīng)對教材結(jié)構(gòu)做到心中有數(shù),將軟件項(xiàng)目開發(fā)和教學(xué)任務(wù)相揉合,合理地安排各子項(xiàng)目的推進(jìn)次序和教學(xué)的順序。對本文介紹的項(xiàng)目案例,可以先講開發(fā)環(huán)境、界面設(shè)計(jì)和一些基本的控件(包括菜單、多窗體界面等內(nèi)容),接著講解Visual Basic程序設(shè)計(jì)語言的基礎(chǔ)知識,之后進(jìn)入程序流程控制、過程、數(shù)組等部分的講授,然后是其他高級界面、文件、圖形操作、數(shù)據(jù)庫等部分的教學(xué)內(nèi)容。
參考文獻(xiàn)
[1] 馮華.程序設(shè)計(jì)類課程教學(xué)研究[J].大學(xué)計(jì)算機(jī)基礎(chǔ)課程報(bào)告論壇論文集2005,高等教育出版社,2006.
[2] 黃新枝.程序設(shè)計(jì)案例教學(xué)法的探討[J].天津城市建設(shè)學(xué)院學(xué)報(bào),2006,(9).
[3] 秦杭抗.案例教學(xué)法在新時(shí)期高校思想政治課中的運(yùn)用[J].河北農(nóng)業(yè)大學(xué)學(xué)報(bào)(農(nóng)林教育版),2007,(3).
[4] 苗 . 任務(wù)驅(qū)動法在Visual Basic課程中的應(yīng)用[J].電腦知識與技術(shù),2005,(12).
[5] 鄭麗.“計(jì)算機(jī)程序設(shè)計(jì)”課程教學(xué)改革與實(shí)踐[J].電腦知識與技術(shù),2007,(6).