李紅曉,李瑋
摘要:課程教學(xué)的目的在于使學(xué)生掌握和理解知識,并且能夠?qū)⒅R靈活應(yīng)用于實際解決問題的過程中。本文通過實例介紹了案例遞進(jìn)在任務(wù)驅(qū)動教學(xué)法中的設(shè)計與應(yīng)用,使教師的教與學(xué)生的學(xué)在循序漸進(jìn)的過程中進(jìn)行,由淺入深,讓學(xué)生能夠系統(tǒng)掌握理論知識,同時,不斷在實踐中思考和提高。
關(guān)鍵詞:VB;項目驅(qū)動;案例遞進(jìn)
中圖分類號:G642.0???? 文獻(xiàn)標(biāo)志碼:A???? 文章編號:1674-9324(2014)41-0189-03
VB即Visual Basic,是由微軟公司開發(fā)的一款“面向?qū)ο蟆钡氖录?qū)動編程語言,也包含了協(xié)助開發(fā)環(huán)境。目前,VB是使用人數(shù)最多的一款計算機軟件開發(fā)語言,在大部分本科院校的計算機專業(yè)或非計算機專業(yè)都普遍開設(shè)了《VB程存設(shè)計》課程,主要是提高學(xué)生的計算機應(yīng)用能力和邏輯思維能力,并且能夠逐漸與自己的專業(yè)相結(jié)合,更有效地解決專業(yè)問題,強化專業(yè)創(chuàng)新與專業(yè)研究效果。但是,要想達(dá)到課程開設(shè)的預(yù)期效果,首先要改革課程教學(xué)方法,提高學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)效果?!叭蝿?wù)”與“案例”就是讓學(xué)生身在任務(wù)中和實際案例中,能夠變被動為主動,不斷學(xué)習(xí),逐步提高,在思考中不斷創(chuàng)新和發(fā)展。
一、任務(wù)驅(qū)動與案例遞進(jìn)
1.任務(wù)驅(qū)動。任務(wù)驅(qū)動教學(xué)法是建構(gòu)主義理論的一個實際應(yīng)用,將課程的教學(xué)目標(biāo)設(shè)計為一個或多個任務(wù)或問題去解決,讓學(xué)生明白自己要干什么,也就是學(xué)習(xí)的目標(biāo)是什么,然后在完成任務(wù)的過程中掌握知識、應(yīng)用知識,從而真正實現(xiàn)學(xué)習(xí)的目標(biāo)。在任務(wù)驅(qū)動教學(xué)中,教學(xué)的組織與設(shè)計必須以學(xué)生為中心。教師所起的作用主要是“設(shè)置任務(wù)”、“布置任務(wù)”、“引導(dǎo)學(xué)生”、“指導(dǎo)學(xué)生”,而學(xué)生要做的主要是“接受任務(wù)”、“分析任務(wù)”、“設(shè)計方案”、“驗證方案”。
2.案例遞進(jìn)。案例遞進(jìn)是指在任務(wù)驅(qū)動過程中所設(shè)計的案例要有遞進(jìn)性,即一個案例與下一個案例之間要有知識的層次遞進(jìn),將我們所設(shè)置的任務(wù)中的知識點能夠循序漸進(jìn)、由淺入深、步步為營的蘊含在遞進(jìn)的案例當(dāng)中。案例的選擇需要考慮到知識點的銜接性,在講案例的過程中,把各個知識點逐一融入進(jìn)去。在由一個知識點引入下一個知識點的過程中要留給學(xué)生思考的空間,盡量讓學(xué)生提出方案和方法,然后由教師提供“技術(shù)”,即新的知識點。這樣,為了解決問題和完成任務(wù),學(xué)生就會主動的去學(xué)習(xí)和研究,從而提高學(xué)習(xí)的效果。
二、任務(wù)與案例的設(shè)計策略和過程
1.任務(wù)的設(shè)置。本文設(shè)置的任務(wù)是設(shè)計一個兩位數(shù)的算術(shù)運算測試軟件,具體要求如下:①能夠隨機給出兩位數(shù)(1~100)加、減、乘、除測試題。②由用戶填入自己的答案后,能夠判斷其正確與否,并且顯示“√”或“×”。③在用戶答題完畢后,顯示答題情況,并根據(jù)答題情況給出成績。④用戶可以反復(fù)測試?;谝陨先蝿?wù),我們將設(shè)置4個案例,案例中涵蓋以下知識點:①VB環(huán)境及布局;②簡單程序設(shè)計步驟;③類、對象、屬性、事件等基本概念;④RND()函數(shù)的使用;⑤變量、常量;⑥賦值語句;⑦SELECT語句、IF語句;⑧CLS方法;等等。
2.案例設(shè)置。案例設(shè)置前要充分考慮任務(wù)中所涵蓋的知識點、需要設(shè)置多少案例、先講哪個案例、案例之間如何銜接等問題。案例中可以再包含有子任務(wù)。子任務(wù),即對應(yīng)案例要解決的問題或達(dá)到的目標(biāo),可以看作是總?cè)蝿?wù)中的一個子任務(wù),或者是為完成總?cè)蝿?wù)做的基礎(chǔ)工作。案例也即任務(wù),在案例中完成任務(wù),引導(dǎo)學(xué)生設(shè)計方案、填加對象和編寫程序。知識點是指本案例中所涉及到的課程知識點,在設(shè)計案例的時候就要把要講的知識點考慮在內(nèi)。案例是完成任務(wù)驅(qū)動的關(guān)鍵所在,而在案例之間建立銜接問題又是各個案例能否有效完成驅(qū)動的關(guān)鍵,所以我們在設(shè)計案例時必須考慮到案例遞進(jìn)和銜接問題的關(guān)系。在這里,銜接問題是案例遞進(jìn)的橋梁,更是知識點自然過渡和更新的主要環(huán)節(jié)。
三、教學(xué)過程與效果
任務(wù)和案例的設(shè)置是整個教學(xué)過程的基礎(chǔ)。無論教師還是學(xué)生,都要提前構(gòu)建一個需要完成的目標(biāo)框架。在每一案例學(xué)習(xí)的過程中,都要考慮到其與任務(wù)的關(guān)聯(lián)所在,并不斷向目標(biāo)任務(wù)靠攏。
案例1:教師布置任務(wù):要求學(xué)生建立一個兩位數(shù)求和的加法器。學(xué)生分析任務(wù):在分析任務(wù)的同時設(shè)計方案,最少需要三個TEXTBOX分別用于輸入加數(shù)、被加數(shù)、兩數(shù)之和;需要兩個LABEL分別用于標(biāo)識“+”和“=”;一個按鈕COMMAND用于觸發(fā)求和的運算事件。教師指導(dǎo):如何添加控件、編寫代碼、保存程序;同時,講述類、對象、屬性、事件等概念并通過案例演示。驗證方案:在完成以上案例時,教師主要以“引導(dǎo)”、“指導(dǎo)”為主,學(xué)生主動參與分析、設(shè)計并完成。一般在驗證的過程中會出現(xiàn)“錯誤”,比如學(xué)生按照以前的數(shù)學(xué)表達(dá)式,要在TEXT3中得到TEXT1和TEXT2中的數(shù)值的和應(yīng)該為TEXT1+TEXT2=TEXT3,而在VB中這是一種語法錯誤。其實在驗證中出現(xiàn)以上的“錯誤”屬于正常現(xiàn)象,這時,教師就要及時給予講解并引入新的知識點——“賦值語句”。這樣不僅使知識點自然過渡,也增強了學(xué)生的學(xué)習(xí)效果,使其認(rèn)知更深刻、更鞏固。有些“錯誤”是潛藏在案例中的,有些“錯誤”也可以提前設(shè)置,目的都是為了鞏固和加深學(xué)生的認(rèn)知、記憶和對不同知識的辨別。例如在講述賦值語句的結(jié)構(gòu)以后,讓學(xué)生更正以上“錯誤”,正確書寫為TEXT3=TEXT1+TEXT2。按照賦值語句的格式要求以上表達(dá)式是正確的,然后需要進(jìn)一步進(jìn)行驗證:在TEXT1中輸入“123”,在TEXT2中輸入“456”,按照我們的預(yù)期設(shè)計其答案應(yīng)該為“579”,但是在點擊“求和”按鈕后,TEXT3中顯示“123456”,為什么會出現(xiàn)這樣的情況呢?由出現(xiàn)的又一個“錯誤”引起學(xué)生的注意和思考,然后教師可以再給出提示并引入下一個知識點——“數(shù)據(jù)類型”。這樣,在一個案例中可以“故意”設(shè)置一些“錯誤”,使其將本案例中的知識更好的聯(lián)系起來,也使學(xué)生時刻保持注意力,能夠主動提出問題并思考。endprint
案例2:教師布置任務(wù):如何實現(xiàn)“加數(shù)”和“被加數(shù)”由計算機隨機給出,范圍在1~100之間的整數(shù)。學(xué)生分析任務(wù):以上任務(wù)即是如何在TEXT1和TEXT2里面隨機得到兩個1~100之間的整數(shù)。需要由程序或函數(shù)解決隨機問題,并且需要由一個“事件”觸發(fā),可以再添加一個按鈕COMMAND3用于“事件”觸發(fā),但是如何解決“隨機”問題呢?教師指導(dǎo):VB中有隨機函數(shù)RND,可以隨機產(chǎn)生0,1)之間的一個隨機數(shù),讓學(xué)生思考10*RND的值是多少,并進(jìn)一步促使學(xué)生考慮1~100之間的隨機整數(shù)如何得到。有了RND函數(shù),就可以解決隨機數(shù)的問題,那么如何使隨機數(shù)分別在TEXT1和TEXT2中顯示,可以提示學(xué)生應(yīng)用賦值語句。驗證方案:大部分學(xué)生會直接通過賦值語句將RND產(chǎn)生的隨機數(shù)賦值給TEXT1、TEXT2,通過驗證可以達(dá)到任務(wù)要求。為了不斷向目標(biāo)任務(wù)靠攏,需要進(jìn)一步提出問題:能否使運算符(+、-、×、÷)也由計算機隨機產(chǎn)生,這樣就可以由計算機自動出題了。
案例3:教師布置任務(wù):在案例2的基礎(chǔ)上如何實現(xiàn)隨機給出運算符?學(xué)生分析任務(wù):首先,要明確現(xiàn)在的目標(biāo)是讓計算機隨機的給出一個運算表達(dá)式,不僅兩個數(shù)是隨機的,而且運算符也是隨機的。案例2已經(jīng)實現(xiàn)了兩個數(shù)的隨機,現(xiàn)在主要的問題是要實現(xiàn)運算符的隨機產(chǎn)生??梢远x兩個個變量NOp、Op,通過NOp使用隨機函數(shù)RND實現(xiàn)隨機得到1~4四個整數(shù),通過判斷使Op獲得“+、-、×、÷”中的一個運算符。但是,怎樣讓計算機判斷,并且使1~4四個整數(shù)分別對應(yīng)四個運算符呢?教師指導(dǎo):給出SELECT語句結(jié)構(gòu)。方案驗證:使用RND實現(xiàn)隨機加數(shù)、被加數(shù)以及1~4四個整數(shù),使用SELECT語句實現(xiàn)1~4四個整數(shù)與“+、-、×、÷”的對應(yīng)。其中,需要重新定義的兩個整型變量Num1和Num2,用于存放兩個隨機數(shù);SExp是定義的一個字符串類型的變量,用于存放隨機運算表達(dá)式;Label1用于顯示最終得到的隨機運算表達(dá)式SExp。因此,我們?nèi)サ袅税咐?中原有的TEXT1和TEXT2。
案例4:教師布置任務(wù):在案例3的基礎(chǔ)上,如何使計算機判斷答題者的結(jié)果是否正確,同時,在結(jié)束答題時給出成績。學(xué)生分析任務(wù):可以讓計算機在隨機給出運算試題的同時保存一個正確答案Result,答題者給出答案時與其比較,如果一致表示正確,如果不一致表示錯誤。另外,再定義兩個變量NOk、NError分別統(tǒng)計正確與錯誤的數(shù)量,這樣在答題結(jié)束時就可以給出答題者成績了。對于正確答案,我們可以在案例3中得到某一運算符時,由Result得到一個相對應(yīng)于運算符的正確答案。那么,如何去判斷答題者的答案是否與Result一致,如何使用NOk、NError來統(tǒng)計正確與錯的答案數(shù)量呢?教師指導(dǎo):給出IF條件語句結(jié)構(gòu)。驗證案例:應(yīng)用IF語句編寫代碼。
案例1~4是完成預(yù)定任務(wù)的一個階梯,給學(xué)生一定的時間和空間,讓他們逐漸認(rèn)識VB,遞進(jìn)式汲取知識、積累知識。整個教學(xué)過程保持以學(xué)生為中心,給學(xué)生任務(wù),讓學(xué)生思考,引導(dǎo)學(xué)生,指導(dǎo)學(xué)生,最終完成任務(wù)。
對于一門課程,可以設(shè)置多個任務(wù),每個任務(wù)完成不同的教學(xué)目標(biāo);對于一個任務(wù),又可以設(shè)置多個案例,每個案例涵蓋不同的知識點。一個任務(wù)內(nèi)的案例之間,應(yīng)該是具有遞進(jìn)關(guān)系的,由淺入深、由簡到繁,做好知識點的銜接,這樣才能更有效地提高學(xué)生的學(xué)習(xí)情趣和學(xué)習(xí)效果。在本文設(shè)置的任務(wù)中,通過案例1的學(xué)習(xí)后,90%以上的學(xué)生都可以獨自熟練的建立一個“兩位數(shù)的加法器”,這樣一個很簡單的程序就可以使學(xué)生對VB的學(xué)習(xí)充滿自信,而且能在案例遞進(jìn)的學(xué)習(xí)中不斷思考,主動學(xué)習(xí)。在任務(wù)驅(qū)動教學(xué)中,任務(wù)和案例是相輔相成的關(guān)系,任務(wù)為案例制定了目標(biāo)框架,案例又以任務(wù)為中心收集知識點,并不斷向任務(wù)靠攏。所以,沒有了任務(wù),案例就沒有了目標(biāo);沒有了案例,任務(wù)也就失去了動力。
參考文獻(xiàn):
[1]袁媛.“案例-任務(wù)驅(qū)動”教學(xué)法在《VB程序設(shè)計》教學(xué)中的研究與應(yīng)用[J].西北成人教育學(xué)報,2013,(3).
[2]金林櫵.基于項目教學(xué)法的VB課程教學(xué)改革與實踐[J].浙江樹人大學(xué)學(xué)報,2012,(1).
[3]張小衛(wèi),謝巧玲.VB課程項目化教學(xué)改革的探索與實踐[J].河南科技,2013,(9).
基金項目:2013年山西省高等學(xué)校教學(xué)改革項目(J2013081);山西中醫(yī)學(xué)院專業(yè)建設(shè)與教學(xué)改革第三批立項項目(2013107、2013110)
作者簡介:李紅曉(1980-),男,山西文水人,碩士,講師,研究方向:計算機應(yīng)用技術(shù);李瑋(1982-),男,山西交口人,碩士,講師,研究方向:計算機軟件與理論。endprint