摘要:為了提高學生學習積極性,充分體現(xiàn)“以學生發(fā)展為本”的理念,提高教學質(zhì)量,增強教學效果,培養(yǎng)適應時代和社會需求的軟件開發(fā)人才,提出了以任務為主線、教師為主導、學生為主體的教學模式——任務驅(qū)動教學法。對該教學法中的任務劃分與設計、課堂組織、任務驅(qū)動的實現(xiàn)過程及實施中應注意的一些問題進行了闡述。結(jié)合教學實踐中的經(jīng)驗對該教學方法的各個環(huán)節(jié)進行了分析和總結(jié)。
關鍵詞:任務驅(qū)動教學法;任務設置;課堂組織;教學方法
0 引言
軟件工程課是學生難學,教師難教的一門軟件工程專業(yè)的基礎課程,如何組織教學、提高教學質(zhì)量是個非常關鍵的問題。傳統(tǒng)教學采用按章組織教學,循序漸進地從基本概念開始,更多強調(diào)的是理論。這種教學方法讓學生覺得難以接受,概念枯燥無味,與實際結(jié)合不夠貼切,因此教學效果不理想。教學實踐表明,采用任務教學驅(qū)動法能使學生變被動學習為主動學習,一節(jié)課不是從枯燥的概念開始,而是始于一個任務,先布置任務,然后介紹完成任務需要具備的基礎知識,其余由學生完成,完成任務的過程中可以分組進行討論,或與教師交流。本文提出了任務教學方法的整體思路,同時對于軟件工程的任務劃分提出了自己的見解,旨在與同行交流,共同提高軟件工程課程的教學質(zhì)量,提高學生軟件開發(fā)的能力。
1 軟件工程課任務驅(qū)動教學法的概念與任務劃分
1.1 任務驅(qū)動法概念
軟件工程課任務驅(qū)動教學法是將軟件工程各階段的文檔作為任務展開教學,將所要學習的知識隱含在一個或幾個任務中,學生通過對任務的分析、討論,明確它大體涉及哪些知識,并找出哪些是舊知識,哪些是新知識,在老師的指導、幫助下找出解決問題的方法。使用這種教學方法首先要為學生創(chuàng)建真實的情景,讓學生帶著任務去學習,以激發(fā)學生的學習熱情,變被動學習為主動學習。在完成學習任務的過程中,教師引導學生從簡到繁,從易到難,循序漸進地學習,從而讓學生得到清晰的思路、方法和系統(tǒng)的知識。
1.2 任務的劃分
我們學校軟件工程課程理論教學為四十五課時,每次課三節(jié)連續(xù),這樣就分成了十五個教學單元,每一教學單元要設計一個任務,總共十五個任務。每個任務還要再進一步分解為更具體的任務。
任務1
可行性研究
任務2 需求分析之1—需求獲取
任務3
需求分析之2—需求建模
任務4
需求分析之3—需求描述
任務5
軟件設計之1—設計相關技術
任務6
軟件設計之2—總體設計
任務7
軟件設計之3—設計優(yōu)化
任務8
軟件設計之3—過程設計
任務9
編碼相關技術
任務10 軟件測試之1—黑盒測試法
任務11 軟件測試之2—白盒測試法
任務12 面向?qū)ο蠓治?/p>
任務13 面向?qū)ο笤O計
任務14 實例解析之1—可行性與需求分析
任務15 實例解析之2—軟件設計與測試
2 任務驅(qū)動教學法的教學過程
軟件工程任務驅(qū)動教學方法的教學過程大致可分為五個階段。第一階段是教師引導,第二階段是學生操作應用,第三階段是交流討論,第四階段是鞏固提高,第五個階段是總結(jié)。
第一階段,教師要在一次課結(jié)束前提出下一次課的具體任務和要求,并對如何完成這一任務作一些方法和工具上的闡述。然后給學生提供一些參考資料,并告訴學生從哪里入手做,要求學生在課后自己去做。這一階段的關鍵是教師引而不發(fā),充分調(diào)動學生的求知與操作欲望及好奇心。例如,上一個任務可行性分析完成后利用半節(jié)課左右的時間布置下一個任務需求分析:首先給出上一任務,例如教材購銷系統(tǒng)的系統(tǒng)流程圖,再講清下一任務需求分析的工具和使用方法,然后要求學生根據(jù)這個題目建立分析模型。
第二階段,以學生具體操作為主。教師引導后,課后讓學生大膽去試驗,使他們在使用中體會、感受和領悟。在下次上課時可讓學生上講臺講解自己的文檔,在寫文檔的過程中學生可能會遇到一些問題,教師對學生存在的共性問題,集中解決,對學生的個別問題進行單獨輔導。這是學生消化和吸收知識的階段,是學生由不會到會、由初識到熟練掌握的階段,也是學生充分調(diào)動各種感官、發(fā)揮各種能力的階段。例如,在分析階段畫出的數(shù)據(jù)流圖,教師可根據(jù)學生實際完成的情況,歸納總結(jié)出畫數(shù)據(jù)流圖采用自頂向下的分析方法,要求學生從功能結(jié)構(gòu)圖入手,按功能分解畫分層的數(shù)據(jù)流圖,同時按自后向前的定義系統(tǒng)的數(shù)據(jù)和加工。
第三階段,交流討論期。主要由教師查缺補漏,講解一些共同的難點和重點,并給出大量應用實例,進一步加深學生對所學知識的理解。這一階段以教師點評為輔,盡可能開展一些熱門問題的討論,還可以進行方法交流,教師可將做得比較好的文檔傳發(fā)給學生,讓學生在思路上得到一些啟發(fā),看一看其它同學是如何完成該任務的,在方法上和自己有什么不同。這一階段的特點是集思廣益,開拓思路,鼓勵創(chuàng)新。
第四階段,鞏固創(chuàng)新期。學生在看了別人的文檔或方法之后,又會涌起再度嘗試的欲望。在這一個階段,讓學生進一步鞏固所掌握的知識,進一步使掌握的知識得到熟練應用,同時提高創(chuàng)作水平。
第五階段,總結(jié)期。采用任務驅(qū)動教學模式,由于教師主要是在方法上進行引導,學生主要時間用在動手摸索上,這就使得學習能力不同的同學,在同一節(jié)課內(nèi)所掌握的知識多少也不同,容易造成學生成績兩極分化和教學知識點的疏漏。針對這些問題,就要求教師在采用任務驅(qū)動模式進行教學的同時,要加強課堂小結(jié)和知識點的回顧,使學習能力差的同學或操作有疏漏的同學能通過教師的回顧和總結(jié),跟上教師的教學進度,全面掌握知識點,達到教師的教學要求。
3 合理設計“任務”
在“任務驅(qū)動教學”中,“任務”的提出是最重要的,它決定這節(jié)課學生能否主動學習。提出的任務首先要有綜合性,它應該綜合學過的知識和即將要學的知識進去,這樣學生既學到了新知識又復習了舊知識,同時還學會了綜合運用知識;其次要具有實踐性,任務必須能夠通過實踐來完成,應盡量避免抽象和完全理論化的任務;再次要有吸引力,興趣對學生來說是最重要的,如果學生對提出的任務沒有興趣,任務就是失敗的;最后要有創(chuàng)新性,在設計任務的時候需要留給學生一定的創(chuàng)新空間,這樣才會有利于培養(yǎng)學生的創(chuàng)新意識??傊岢龅娜蝿找蠈W生的認知規(guī)律,融教學內(nèi)容于開放平等的教學環(huán)境中,引導學生去探求知識、獲取知識、運用知識。
“任務”設計要注意分散重點、難點?!叭蝿铡痹O計時要考慮“任務”的大小、知識點的含量、前后的聯(lián)系等多方面的因素。
“任務”設計要有明確的目標,要求教師在學習總體目標的框架上,把總目標細分成一個個小目標,并把每一個學習模塊的內(nèi)容細化為一個個容易掌握的“任務”,通過這些小的“任務”來體現(xiàn)總的學習目標。
4 任務驅(qū)動教學法需要注意的幾個問題
4.1 課堂教學用時分配
在任務驅(qū)動教學方法中共分成五個階段,如何分配教學用時是個關鍵問題。各階段所用時間不是平均的,所有任務各階段的用時分配也不是一成不變的,在分配過程中應主要考慮各階段的難易程度來確定各階段的用時,同時在教學過程中還要根據(jù)學生的學習和掌握情況適當加以調(diào)節(jié)。
4.2 任務要分層次
由于學生之間的差異和基礎的不同,我們在設計任務的時候要將任務分為不同的層次,力圖讓所有的學生在每次學習中都有所收獲,體驗到完成任務后的喜悅和成就感,以激發(fā)起學生的學習興趣和動力,使他們對自己有信心,從而一步步地提高。布置任務的時候最好能分為基礎和提高兩個任務,大部分學生可以完成基礎任務,學有余力的學生能夠做好提高任務。任務的分層是分層教學的一種形式。
4.3 任務要形成一個系統(tǒng)
任務的設置要注意各個知識點之間的聯(lián)系,讓學生的任務和知識形成一個系統(tǒng)。“軟件工程”課的每一章都有其完整的教學內(nèi)容,如可行性分析、需求分析、軟件設計及軟件測試等,都能夠設計成一個系統(tǒng)的子任務,而將這些子任務結(jié)合就能形成一個完整的系統(tǒng)的任務。教師在設計任務時要處理好局部和整體的關系,子任務服務于母任務,這樣才能保證很好地實現(xiàn)最終的教學目標。
4.4 教學組織
一堂課是否成功,其關鍵因素是課堂教學的組織。要將學生的積極性充分地調(diào)動起來,一方面取決于教師的教學功底,另一方面取決于課堂教學的組織策略。在課堂教學上要注意以下幾個方面。
(1)以“布置任務”的方式引入有關概念,展開教學內(nèi)容
在傳統(tǒng)的教法中,引入有關概念時,往往是按照“提出概念一解釋概念一舉例說明”的順序。在計算機教學中引入新概念、新知識時,應以學生的認知規(guī)律為依據(jù),以“布置任務一介紹完成任務的方法一歸納結(jié)論”的順序引入有關概念,展開教學內(nèi)容。
(2)成立聯(lián)合學習小組
將不同層次的學生(3-5人)組成一個學習小組,共同去完成一個任務,在合作學習中基礎好的同學幫助和輔導基礎一般的同學,實現(xiàn)共同提高。讓輔導的學生在輔導過程中有新的發(fā)現(xiàn)和提高,而被輔導的學生也能跟上學習進度,體會到成功的感覺。
(3)創(chuàng)設調(diào)動學生積極性的情景
興趣是最好的老師。教師要從教學的內(nèi)容、學生身邊的實際和當前的熱點問題出發(fā),去挖掘教材,創(chuàng)設一個好的教學的情景。注意問題的趣味性、參與性、競爭性。如在講解可行性研究時,可以假定一個情景是,給定一個軟件開發(fā)后每年可收到的利潤并給出貼現(xiàn)系統(tǒng),同時給定開發(fā)成本及動作成本,要求計算凈現(xiàn)值、投資回收期及投資回收率。這樣的教學非常的輕松活潑,可以使學生在學習過程中更加主動。
(4]處理好師生之間的角色關系
任務趨動的一個很重要的特點就是學生在完成任務這個目標的趨動下去探索學習從而達到完成技能培養(yǎng)的目的。所以,在教學中教師起主導作用,學生是教學的主體;教師是任務的提出者、學生實踐任務的指導者,學生是任務的主人。
(5)任務的評價
為了檢驗和促進學生達到預期的目標,發(fā)現(xiàn)教學中的問題,要對學生的任務進行評價。評價的內(nèi)容包括:對新知識的理解、掌握和熟練應用的程度;學生自主學習的能力;同學問相互協(xié)作的能力;創(chuàng)新的能力。評價應以學生在完成任務的過程中是否能夠真正的掌握新的知識和技能,是否能對新的知識和技能深刻理解和熟練應用為標準。同時評價要特別注意激發(fā)學生的興奮點和成就感。
5 實例分析
銀行計算機儲蓄系統(tǒng)工作過程是:儲戶填寫存款單或取款單并由業(yè)務員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址或電話號碼、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并打印存款單;儲戶是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并打印出利息清單給儲戶。
任務的劃分:
任務1 畫出功能結(jié)構(gòu)圖。
任務2 自頂向下畫出分層數(shù)據(jù)流圖。
任務3
自后向前建立數(shù)據(jù)字典和寫加工說明。
在布置任務3時,講解所需的分析工具,并給學生一些資料,讓學生自己在課后帶著問題去思考和建立系統(tǒng)分析模型。
在此后的上課時,首先讓學生展示一下各自的文檔,可以讓幾個學生演示一下自己的文檔,然后教師根據(jù)學生所做的組織討論,進行查缺補漏,最后做出總結(jié)。
6 結(jié)束語
所述教學方法通過引一試一做一看一創(chuàng)新的過程,使學生學習知識也經(jīng)歷了不會一會一熟練一鞏固一提高的過程。它在進度控制上遵循知識的連續(xù)性,令學生的學習有張有弛,符合學生生理和心理特點以及認識規(guī)律。這樣的教學,學生學得快,學得牢,其教學容量也遠遠超出了傳統(tǒng)教學在同等時間內(nèi)的知識量,既實現(xiàn)了大綱的基本要求,又能使每個學生依據(jù)自身能力獲得最大收益,充分挖掘了不同層次學生的潛力,貫徹了因材施教的教學原則。
筆者通過多年教學的嘗試取得了較好的教學效果,使原本枯燥的課變得活潑,令學生原本不愿意學的課變得愿學、愛學、樂學。
教無定法,貴在得法。真正使學生掌握所學知識的教學方法很多,本文提供的教學方法只是其中的一種,旨在與同行交流,共同提高,以達到提高教學質(zhì)量的目的。