王晴
摘要:根據(jù)“程序設(shè)計(jì)”類課程的特點(diǎn),結(jié)合筆者多年的教學(xué)實(shí)踐,將“問題驅(qū)動(dòng)教學(xué)法”應(yīng)用于“程序設(shè)計(jì)”類課程中。并就一次《VB程序設(shè)計(jì)》課程的教學(xué)體驗(yàn),淺談“問題驅(qū)動(dòng)教學(xué)法”在實(shí)際教學(xué)中的應(yīng)用探索。
關(guān)鍵詞:?jiǎn)栴}驅(qū)動(dòng)法;程學(xué)設(shè)計(jì);教學(xué)方法;教學(xué)過程;教學(xué)效果
中圖分類號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)23-5659-02
Study on the Application of Question-driven Teaching Methodin Programming Design Courses
WANG Qing
(Xuzhou Radio and TV University, Xuzhou 221006, China)
Abstract: Combined with the programming coursescharacteristics and the authors teaching practice, this paper applies“question-driven teaching method”to the programming courses, and discusses the application of the question-driven approach from instructional design to instruction implementation with an example in the teaching of the Visual Basic program design course.
Key words: question driving teaching method; program design;teaching method;teaching process;teaching effect
“問題驅(qū)動(dòng)教學(xué)法”是將提出問題,分析問題,解決問題作為主要內(nèi)容和手段的教學(xué)法。它強(qiáng)調(diào)的是:學(xué)生的學(xué)習(xí)活動(dòng)必須與任務(wù)或問題相結(jié)合,以探索問題來引導(dǎo)和維持學(xué)生的學(xué)習(xí)興趣和動(dòng)機(jī),使學(xué)生主動(dòng)建構(gòu)自己的知識(shí)經(jīng)驗(yàn),通過新經(jīng)驗(yàn)和原有知識(shí)經(jīng)驗(yàn)的相互作用,充實(shí)和豐富自身的知識(shí)、能力。
筆者從事程序設(shè)計(jì)類課程的教學(xué)多年,在教學(xué)過程中多次嘗試將“問題驅(qū)動(dòng)教學(xué)法”應(yīng)用其中,教學(xué)效果顯著。該文通過《VB程序設(shè)計(jì)》中的一個(gè)教學(xué)案例,淺談“問題驅(qū)動(dòng)法”在程序設(shè)計(jì)類課程中的應(yīng)用。
1教學(xué)案例分析
控制結(jié)構(gòu)是程序設(shè)計(jì)類課程的必修內(nèi)容,為體現(xiàn)“問題驅(qū)動(dòng)法”在程序設(shè)計(jì)類課程中應(yīng)用的普遍性,故特針對(duì)這一部分作為案例進(jìn)行分析。
1.1教學(xué)內(nèi)容和教學(xué)目標(biāo)
通過本次課地學(xué)習(xí),使學(xué)生掌握構(gòu)成程序結(jié)構(gòu)的幾個(gè)基本語(yǔ)句;學(xué)習(xí)程序設(shè)計(jì)的基本方法,并能進(jìn)行綜合程序的設(shè)計(jì),解決實(shí)際應(yīng)用問題。
1.2教法分析
針對(duì)課程特點(diǎn),將“問題驅(qū)動(dòng)法”貫穿于整個(gè)教學(xué)過程中,精心設(shè)計(jì)各種問題情景,誘導(dǎo)學(xué)生思考,并配合講述法、示例教學(xué)法、直觀演示法?;o為動(dòng),激發(fā)學(xué)生的求知欲。使學(xué)生始終處于主動(dòng)探索問題的積極狀態(tài),從而培養(yǎng)學(xué)生的思維能力和學(xué)習(xí)能力。
1.3教學(xué)程序
教學(xué)過程歸納為這樣幾步:提出問題(概念的引入)→分析問題(各種流程結(jié)構(gòu)格式講解)→解決問題(綜合示例及實(shí)驗(yàn))。上述環(huán)節(jié)間及各環(huán)節(jié)內(nèi)部均使用“問題驅(qū)動(dòng)法”不斷引導(dǎo)學(xué)生思考,活躍課堂氣氛,調(diào)動(dòng)學(xué)生思考的積極性?,F(xiàn)將具體教學(xué)過程展示如下:
1.3.1概念的引入和講解(問題驅(qū)動(dòng)法+講述法):
提出問題:例1輸入三個(gè)數(shù),輸出其中最大的數(shù);例2輸入10個(gè)數(shù),輸出其中最大的數(shù)。
分析問題:引導(dǎo)學(xué)生使用自然語(yǔ)言及流程圖分別描述算法。并對(duì)學(xué)生的分析和描述適時(shí)進(jìn)行補(bǔ)充和評(píng)價(jià)。
設(shè)計(jì)意圖:由這兩個(gè)問題的提出引出流程控制結(jié)構(gòu),并引導(dǎo)學(xué)生從流程圖中初步認(rèn)識(shí)順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。引出概念:介紹流程控制結(jié)構(gòu)的概念和各種流程控制結(jié)構(gòu)的功能。
1.3.2 VB中的各種結(jié)構(gòu)格式講解(問題驅(qū)動(dòng)法+講述法+直觀演示法+示例教學(xué)法)
1)簡(jiǎn)單選擇結(jié)構(gòu)
提出問題:例1和例2若要實(shí)現(xiàn)如何編寫代碼?
設(shè)計(jì)意圖:引出選擇結(jié)構(gòu)的語(yǔ)法格式——單分支和雙分支兩種格式;及格式書寫方式——單行書寫和多行書寫。
程序舉例:例1編寫代碼,功能實(shí)現(xiàn)輸入三個(gè)數(shù),輸出其中最大的數(shù)。
提出問題:兩種格式有什么區(qū)別?條件判定結(jié)果若多余兩種,該如何處理?
設(shè)計(jì)意圖:通過問題一的提出,深入體會(huì)簡(jiǎn)單選擇結(jié)構(gòu)的語(yǔ)法構(gòu)成;通過問題二的提出引出下一內(nèi)容——嵌套結(jié)構(gòu)。
2)選擇嵌套結(jié)構(gòu)
提出問題:例3對(duì)分段函數(shù)編程求解,實(shí)現(xiàn)輸入x的值,輸出y的值。
分析問題:使用簡(jiǎn)單選擇結(jié)構(gòu)應(yīng)對(duì)有三種情況的問題,引導(dǎo)學(xué)生使用選擇嵌套來完成編程。
代碼展示:在VB環(huán)境中演示代碼的書寫過程,并展示運(yùn)行的結(jié)果。要求學(xué)生注意:每組if語(yǔ)句的關(guān)鍵詞互相對(duì)應(yīng)。養(yǎng)成縮進(jìn)的習(xí)慣可以避免出錯(cuò)。
提出問題:例4輸入一學(xué)生成績(jī),評(píng)定其等級(jí)。原則是:90~100分為優(yōu)秀,80~89分為良好,70~79分為中等,60~69分為及格,60分以下為不及格。
設(shè)計(jì)意圖:該例起到承上啟下的作用,即可復(fù)習(xí)上面的選擇嵌套,使學(xué)生能夠靈活應(yīng)用所學(xué),通過對(duì)選擇嵌套的代碼分析,還可引出多分支結(jié)構(gòu)。
3)多分支結(jié)構(gòu)
概念分析:多分支結(jié)構(gòu)語(yǔ)法格式——Elseif形式和Select Case形式。
代碼展示:將例3和例4的代碼用以上兩種格式實(shí)現(xiàn)。
4)循環(huán)結(jié)構(gòu)
提出問題:例2算法回顧。
引出概念:do循環(huán)結(jié)構(gòu)語(yǔ)法格式——While循環(huán)和Until循環(huán)。
程序舉例:利用同一個(gè)例子(例5求1~10十個(gè)數(shù)的和)分析四種結(jié)構(gòu)的異同點(diǎn)。在VB環(huán)境中逐語(yǔ)句運(yùn)行程序,觀察循環(huán)結(jié)構(gòu)的執(zhí)行次序。
提出問題:使用while和until關(guān)鍵詞,后面的循環(huán)條件有什么區(qū)別?如果循環(huán)條件一次都不成立,那么語(yǔ)句組執(zhí)不執(zhí)行?
設(shè)計(jì)意圖:通過上述問題的提出和分析,深入體會(huì)do循環(huán)四種形式的功能和用法。
提出引導(dǎo)性問題:使用Do循環(huán)需要注意的問題是,循環(huán)體中一定有一條語(yǔ)句可以改變循環(huán)條件,否則將造成死循環(huán)。而另一種循環(huán)語(yǔ)句——for語(yǔ)句恰巧可以避免因這個(gè)問題而造成的死循環(huán)。
引出概念:for循環(huán)語(yǔ)法格式。
程序舉例:用for循環(huán)實(shí)現(xiàn)例5求1~10十個(gè)數(shù)的和。在VB環(huán)境中逐語(yǔ)句執(zhí)行程序,觀察循環(huán)結(jié)構(gòu)的執(zhí)行次序。并提出問題,當(dāng)退出循環(huán)時(shí),循環(huán)變量的值是多少?
設(shè)計(jì)意圖:同樣的例子,分別用do循環(huán)和for循環(huán)來實(shí)現(xiàn),使學(xué)生在熟悉語(yǔ)法結(jié)構(gòu)的同時(shí),體會(huì)for循環(huán)的便捷和嚴(yán)謹(jǐn)。
1.3.3綜合應(yīng)用舉例(問題驅(qū)動(dòng)法+直觀演示法+示例教學(xué)法)
1)綜合示例1
提出問題:代碼實(shí)現(xiàn)例2輸入10個(gè)數(shù),打印輸出其中最大的數(shù)。
設(shè)計(jì)意圖:首尾呼應(yīng),且該例綜合了三種流程控制結(jié)構(gòu),通過該例的代碼編寫及講解,能較好的總結(jié)本次課所學(xué)。2)綜合示例2
提出問題:在窗體上輸出九九乘法表。
設(shè)計(jì)意圖:通過學(xué)生所熟悉的示例,引導(dǎo)學(xué)生分析問題的方法、總結(jié)問題的規(guī)律,最終解決教學(xué)難點(diǎn)問題——循環(huán)嵌套。
1.3.4課后練習(xí)布置
編寫代碼,在窗體上打印輸出一些圖形(金字塔、倒金字塔等)。
設(shè)計(jì)意圖:通過有趣的圖形輸出,鞏固學(xué)生們對(duì)循環(huán)和循環(huán)嵌套這兩個(gè)重難點(diǎn)問題的理解,解決學(xué)生對(duì)循環(huán)語(yǔ)句的恐懼感。愉快地編程。
2結(jié)束語(yǔ)
“問題驅(qū)動(dòng)教學(xué)法”的特點(diǎn)是教師通過對(duì)教學(xué)過程的巧妙設(shè)計(jì),將要講授的知識(shí)通過問題展開,使學(xué)生通過回答或解決問題來達(dá)到掌握所學(xué)知識(shí)的目的。而對(duì)于程序設(shè)計(jì)類課程的教學(xué),不僅要注重知識(shí)的傳授,更要培養(yǎng)學(xué)生分析問題、解決問題的能力。因此,“問題驅(qū)動(dòng)教學(xué)法”應(yīng)廣泛的應(yīng)用在程序設(shè)計(jì)類課程中,這一應(yīng)用還需要更深入地探索和研究。該文僅做初步探討,以期能拋磚引玉。
參考文獻(xiàn):
[1]龔沛曾,楊志強(qiáng),陸慰民.《Visual Basic程序設(shè)計(jì)教程》(第三版)[M].高等教育出版社, 2007.
[2]夏承遺,李文杰,孫世溫.問題驅(qū)動(dòng)的“C++程序設(shè)計(jì)”教學(xué)方法研究[J].計(jì)算機(jī)教育, 2010(1):122-125.
[3]池瑜莉.問題驅(qū)動(dòng)法在高職《VB程序設(shè)計(jì)》課程教學(xué)中的應(yīng)用[J].環(huán)球市場(chǎng)信息導(dǎo)報(bào)(理論), 2011(7):139-139.
[4]鞏萃萃,王婧.《C語(yǔ)言程序設(shè)計(jì)》教學(xué)方法探討[J].黑龍江科技信息, 2012(3):157.
[5]李建晶,陳曉,張準(zhǔn).計(jì)算機(jī)專業(yè)程序設(shè)計(jì)類課程教學(xué)方法探討[J].信息技術(shù)教學(xué)與研究, 2012(25):100-101.
[6]蔣秋英.淺談任務(wù)驅(qū)動(dòng)教學(xué)法[J].電腦學(xué)習(xí), 2010(2):62-63.
[7]金秋春,童小利. C程序設(shè)計(jì)教學(xué)方法探索[J].科技信息, 2012(5):262-263.
[8]王窈珊. C語(yǔ)言編程教學(xué)方法探討[J].計(jì)算機(jī)光盤軟件與應(yīng)用, 2011(9):249.