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