胡旭飛 張書妍
摘? 要:文章首先針對軟件工程課程內(nèi)涵,對當(dāng)前課程教學(xué)中的難點以及“自主學(xué)習(xí)任務(wù)單”的應(yīng)用價值等進(jìn)行綜合分析。“自主學(xué)習(xí)任務(wù)單”是能夠解決軟件工程課程教學(xué)缺少實踐、學(xué)生融入度不足等問題的學(xué)習(xí)模式,具有重大的應(yīng)用價值。其次按照“自主學(xué)習(xí)任務(wù)單”教學(xué)的實施步驟,對包括任務(wù)單制定、基礎(chǔ)知識掌握、合作交流探討、實踐知識演練、任務(wù)單展示與知識內(nèi)化階段、任務(wù)完成評價等多個階段逐一進(jìn)行分析,對其中實施的細(xì)節(jié)之處進(jìn)行重點說明,以期為提升軟件工程教學(xué)質(zhì)量、培養(yǎng)更優(yōu)秀的人才提供參考價值。
關(guān)鍵詞:軟件工程;自主學(xué)習(xí)任務(wù)單;課程改革
中圖分類號:G642? ? 文獻(xiàn)標(biāo)識碼:A? ? 文章編號:1673-7164(2022)23-0141-04
軟件工程是計算機相關(guān)專業(yè)課程必修的一門核心課程,隨著社會發(fā)展的需求增加,各大院校紛紛開設(shè)計算機相關(guān)專業(yè),力爭培養(yǎng)出具有計算機思維和編程能力的學(xué)生,能走入社會迅速適應(yīng)崗位需求。但目前軟件工程課程教學(xué)存在一些問題,學(xué)生難以深入融入課程教學(xué)之中,體會不到軟件工程學(xué)習(xí)的樂趣,課堂上以教師講授為主,學(xué)生只能被動接受,導(dǎo)致教學(xué)效果不足。針對這種情況,采用“自主學(xué)習(xí)任務(wù)單”教學(xué)方法,在任務(wù)單中體現(xiàn)理論知識和實踐演練,嘗試讓學(xué)生成為課堂的主人,依據(jù)學(xué)習(xí)任務(wù)單上的任務(wù)展開學(xué)習(xí),深度融入教學(xué)之中,其和項目式教學(xué)有著異曲同工之妙,都是將教學(xué)的重點從教師轉(zhuǎn)移到學(xué)生身上。
一、軟件工程教學(xué)難點以及課程改革價值
(一)軟件工程
軟件工程是計算機相關(guān)專業(yè)必修的一門核心課程,它是理論知識和實踐應(yīng)用的綜合性課程,講解計算機組成原理、操作系統(tǒng)原理、編譯原理、java、算法設(shè)計與分析、軟件管理、C、C++等匯編原理,實踐性較強,旨在讓學(xué)生通過實踐演練將理論知識融會貫通,掌握計算機工具的應(yīng)用方法。
(二)軟件工程課程教學(xué)難點
軟件工程課程教學(xué)存在一定的難點,主要在于教學(xué)形式過于單一,雖然軟件工程課程是理論和實踐性并重的課程,但是理論課程往往占比較多,教師多采用傳統(tǒng)大課教學(xué)的模式,教學(xué)效果不佳。由于軟件工程課程綜合性較強,學(xué)生很容易在學(xué)習(xí)中遇到困惑,思維陷入僵局,教師匆匆講解一遍也顧不上學(xué)生的困惑與不解,很多時候困惑就此遺留了下來,影響接下來的知識學(xué)習(xí),導(dǎo)致學(xué)生對軟件工程學(xué)習(xí)興趣減退,在軟件工程教學(xué)中出現(xiàn)兩極分化的態(tài)勢:學(xué)習(xí)好的學(xué)生遺留問題較少,學(xué)習(xí)比較順利,原理理解較為清晰;學(xué)習(xí)差的學(xué)生遺留的問題較多,學(xué)習(xí)不順利,并形成惡性循環(huán)。綜合來說,軟件工程課程教學(xué)效果不佳,迫切需要對課程教學(xué)進(jìn)行改革[1]。
(三)“自主學(xué)習(xí)任務(wù)單”教學(xué)的意義
“自主學(xué)習(xí)任務(wù)單”式教學(xué)(以下簡稱“任務(wù)單教學(xué)”),即教師設(shè)置學(xué)生所需要學(xué)習(xí)的任務(wù)清單,學(xué)生拿到任務(wù)清單后,能夠?qū)σ獙W(xué)什么形成一定認(rèn)知。用學(xué)習(xí)任務(wù)單引導(dǎo)學(xué)生學(xué)習(xí),做到由淺入深、由易到難,逐步解析軟件工程問題,從而收獲知識經(jīng)驗。其主要意義有以下幾方面:
一是實現(xiàn)了教育機制的蛻變和創(chuàng)新,凸顯了學(xué)生在課堂上的主體地位。傳統(tǒng)教學(xué)模式是“教師多教學(xué)生少學(xué)”,任務(wù)單教學(xué)則是“教師少教學(xué)生多學(xué)”,傳統(tǒng)教學(xué)模式是“教師先教學(xué)生后學(xué)”,而任務(wù)單教學(xué)則是“學(xué)生先學(xué)教師后教”,通過教學(xué)機制的轉(zhuǎn)變激發(fā)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生自發(fā)地去探究相關(guān)軟件工程知識,學(xué)生對軟件工程知識點理解是自己觀察、思考、分析、總結(jié)規(guī)律得來的,任務(wù)也是自己解決的,對軟件工程知識點的理解勢必會更加深刻。
二是為學(xué)生指明了學(xué)習(xí)方向。學(xué)習(xí)清單上羅列的內(nèi)容,不管是問題還是測試,還是一次實踐應(yīng)用,都是在向?qū)W生說明這就是軟件工程學(xué)習(xí)的知識重點,任務(wù)單教學(xué)規(guī)劃好了學(xué)生的學(xué)習(xí)方法,也凸顯了教學(xué)知識的主次性,這會讓學(xué)生事半功倍地展開學(xué)習(xí),教師創(chuàng)設(shè)的核心教學(xué)問題能啟發(fā)學(xué)生思維,深度激發(fā)學(xué)生的學(xué)習(xí)潛力。
三是能用來檢查學(xué)生學(xué)情,教師可以通過學(xué)習(xí)任務(wù)清單,及時了解學(xué)生的學(xué)習(xí)狀況和學(xué)習(xí)進(jìn)度,深入講解學(xué)生未懂的知識,對學(xué)生已經(jīng)了解的基礎(chǔ)知識則可以適當(dāng)減少講解,這樣無疑提高了教學(xué)的針對性。
四是依托于學(xué)習(xí)任務(wù)清單,加強學(xué)生間的交流互動,通過互動來找出最優(yōu)的知識理解。綜合來說,任務(wù)單教學(xué)符合現(xiàn)代教育培養(yǎng)應(yīng)用型人才的需求,符合提高學(xué)生課堂主體性的倡導(dǎo)[2]。
二、任務(wù)單教學(xué)的應(yīng)用措施和建議
任務(wù)單教學(xué)在軟件工程課程內(nèi)的應(yīng)用,大致可分為準(zhǔn)備學(xué)習(xí)任務(wù)單、學(xué)生準(zhǔn)備并自主學(xué)習(xí)、實踐探索實施、任務(wù)清單完成及探討交流、任務(wù)演示內(nèi)化階段、教學(xué)評價與反饋等多個階段,下面逐一進(jìn)行分析。
(一)準(zhǔn)備任務(wù)清單
這個階段主要是教師的工作,教師根據(jù)下一個階段的教學(xué)內(nèi)容,總結(jié)出教學(xué)重點和難點,將其凝練成問題、測試或者實踐等任務(wù),制作自主學(xué)習(xí)任務(wù)單,將其傳輸給學(xué)生。任務(wù)清單可以一節(jié)課為單位,也可以一周的學(xué)習(xí)量為單位,還可以更長的學(xué)習(xí)量為單位,應(yīng)根據(jù)具體情況制定。
教師設(shè)計自主學(xué)習(xí)任務(wù)單應(yīng)注意以下幾個方面:一是準(zhǔn)備的學(xué)習(xí)任務(wù)單應(yīng)全面,針對某一軟件工程知識點設(shè)計多角度的問題,引導(dǎo)學(xué)生從多個方面去學(xué)習(xí)。一般來說,任務(wù)單具有以下特征:1.具有應(yīng)掌握的知識點;2.提供自主學(xué)習(xí)路徑以及學(xué)生展示路徑;3.進(jìn)階要求,比如知識串聯(lián)的問題;4.學(xué)習(xí)疑問任務(wù),學(xué)生將自己在學(xué)習(xí)中出現(xiàn)的困惑和問題記錄下來;5.實踐演練,上文提到,軟件工程課程是理論性與實踐性并存的課程,涉及實踐探索的知識時應(yīng)設(shè)計實踐任務(wù);6.學(xué)習(xí)總結(jié)任務(wù),讓學(xué)生將自己在學(xué)習(xí)中的思考和收獲簡單記錄下來。二是準(zhǔn)備的學(xué)習(xí)任務(wù)單應(yīng)難易適中,如果準(zhǔn)備的任務(wù)太過復(fù)雜,學(xué)生探究太過困難,那么學(xué)生很可能畏難退卻,積極性不強。因此,教師應(yīng)設(shè)計難易適中的學(xué)習(xí)任務(wù)單,針對兩極分化的學(xué)生,如果條件允許,可以設(shè)計一些差異化的任務(wù),讓學(xué)習(xí)好的學(xué)生完成較難的任務(wù),深入研究軟件工程知識點,激發(fā)他們的學(xué)習(xí)潛力;對于學(xué)習(xí)差的學(xué)生,可讓他們?nèi)ネ瓿奢^簡單的任務(wù),逐步融入學(xué)習(xí)之中,提升他們的學(xué)習(xí)自信心[3]。
在學(xué)習(xí)“動態(tài)建模”時,給學(xué)生準(zhǔn)備自主任務(wù)清單,可全面引領(lǐng)學(xué)生進(jìn)行學(xué)習(xí)。也可以給學(xué)生布置一系列實踐性的自主學(xué)習(xí)任務(wù)單,比如給學(xué)生布置實踐任務(wù)“小組合作設(shè)計基于C/S的KTV點歌系統(tǒng)”“設(shè)計一個學(xué)生選課以及測評的系統(tǒng)”等等,實踐任務(wù)作業(yè)完成時間可以適當(dāng)調(diào)長,但需要學(xué)生準(zhǔn)備好實踐計劃,有的放矢地展開實踐,根據(jù)實踐過程任務(wù)的難度,具體是多少人參與,各自扮演什么角色,各自有哪些任務(wù)要展開、具體分為多少步驟、所有實踐的完成時間以及分個步驟的完成時間等等,構(gòu)建相對完善的執(zhí)行框架。
(二)學(xué)生準(zhǔn)備并自主學(xué)習(xí)
在教師準(zhǔn)備妥當(dāng)學(xué)習(xí)任務(wù)單后,應(yīng)將其在課程教學(xué)前推送給學(xué)生,可結(jié)合“項目式教學(xué)”“翻轉(zhuǎn)課堂教學(xué)”等教學(xué)形式來展開。學(xué)生接收到自主學(xué)習(xí)任務(wù)單后,應(yīng)對其進(jìn)行簡單的梳理,完成相應(yīng)預(yù)習(xí),避免因為對學(xué)習(xí)任務(wù)清單太陌生而跟不上課堂學(xué)習(xí)的情況,掌握基礎(chǔ)性的理論知識點。
在課堂教學(xué)中,教師應(yīng)盡可能給學(xué)生留下自主學(xué)習(xí)的空間和時間,將課堂交給學(xué)生。為了能夠讓學(xué)生更好地進(jìn)行自主學(xué)習(xí),教師應(yīng)營造良好的教學(xué)氛圍。一個良好的教學(xué)氛圍應(yīng)該是輕松的、和諧的、活躍的,學(xué)習(xí)沒有太多壓力,教師與學(xué)生成為朋友,積極互動,引導(dǎo)學(xué)生開動腦筋,思考如何最大化激發(fā)學(xué)生的好奇心和求知欲,從而讓學(xué)生圍繞學(xué)習(xí)任務(wù)單展開深入探究學(xué)習(xí)。學(xué)生可以通過查閱教材、咨詢教師、實踐探索、個案分析等方法來進(jìn)行自主學(xué)習(xí),在自主學(xué)習(xí)中必然會產(chǎn)生對軟件工程知識點的思考和理解,也會隨之產(chǎn)生不解和困惑,學(xué)生將理解和困惑都記錄下來,在解決困惑的過程中剝絲抽繭般地學(xué)習(xí)軟件工程知識[4]。
在這一階段學(xué)習(xí)中,教師要做的一方面是對學(xué)生進(jìn)行科學(xué)引導(dǎo),從主導(dǎo)者的角色轉(zhuǎn)變?yōu)橐龑?dǎo)者。這對教師提出了更高要求,當(dāng)學(xué)生學(xué)習(xí)紀(jì)律不好時,教師需及時規(guī)勸學(xué)生重視紀(jì)律,投入學(xué)習(xí);當(dāng)學(xué)生遇到學(xué)習(xí)困惑時,教師應(yīng)側(cè)面引導(dǎo)學(xué)生掌握未知知識、解決困惑,在科學(xué)引導(dǎo)的同時,要重點關(guān)注差生,適當(dāng)放松優(yōu)生。教師還可以通過提問互動了解學(xué)生的學(xué)習(xí)情況和完成任務(wù)清單的情況,保障學(xué)生能夠較好地完成自主學(xué)習(xí),回答相應(yīng)的任務(wù)或問題[5]。
(三)實踐探索實施
軟件工程是理論性和實踐性并存的課程,在任務(wù)單教學(xué)中,不僅需要學(xué)生學(xué)習(xí)理論知識回答任務(wù)單上的問題,也要通過實驗演練來讓學(xué)生提升實際動手能力,在實踐演練中將理論知識融會貫通,這一點與偏向于實踐演練的“項目式教學(xué)法”有相似之處。
依托于某一個實踐演練活動,往往比理論學(xué)習(xí)任務(wù)需要更長的時間,學(xué)生必須妥善完成學(xué)習(xí)任務(wù),將“STEM”理念融入其中,分析這一次實踐演練的關(guān)鍵技術(shù)是什么、需要哪些硬件或軟件、對應(yīng)哪些課程學(xué)習(xí)、需要花哪些步驟去完成、每個步驟需要多少時間,學(xué)生必須制定較為詳細(xì)的實踐演練計劃。通常來說,實踐演練的主要難點是學(xué)生還未掌握完成這一難題的知識和技術(shù),要讓學(xué)生自主地解決難題,有的實踐任務(wù)學(xué)生可以根據(jù)自己學(xué)習(xí)過的知識進(jìn)行分析推理,有的實踐任務(wù)則要讓學(xué)生學(xué)習(xí)新知識去解決,教師引導(dǎo)學(xué)生將實際演練的項目分為每一個小項目、小步驟,小的項目和每一個小課的教學(xué)內(nèi)容對應(yīng)起來,將一個大的問題拆分成多個小的問題,能減少實踐演練完成的難度,即學(xué)生拿到一個大的實踐演練后,分成多個小實踐演練項目進(jìn)行學(xué)習(xí),了解并掌握新的知識,逐一解決小的項目,再進(jìn)行下一堂課學(xué)習(xí),了解并掌握新的知識,再去解決剩下的小項目,最后全部完成[6]。
(四)任務(wù)清單完成及探討交流
學(xué)生在自主學(xué)習(xí)的過程中會逐步對學(xué)習(xí)任務(wù)單所表達(dá)的內(nèi)涵有所了解,思路會越來越清晰,很多原本看起來很復(fù)雜的問題會隨著進(jìn)一步學(xué)習(xí)而迎刃而解,整個過程以“任務(wù)”為主線,要求學(xué)生將自主學(xué)習(xí)所獲得的思考記錄下來,并且回答任務(wù)單上的學(xué)習(xí)問題,讓學(xué)生多看、多想、多猜,獨立解決難題,完成任務(wù)單上的所有任務(wù),這個過程會花費學(xué)生大量的時間和精力,也可能會出現(xiàn)錯誤的知識理解,導(dǎo)致任務(wù)難以完成,但錯誤也會給學(xué)生帶來啟示。計算機學(xué)習(xí)沒有捷徑可言,只有將所有結(jié)構(gòu)和類型以及用法都牢記于心,學(xué)生的編程性思維才能水到渠成,對代碼量也是如此,很多高校的計算機專業(yè)要求學(xué)生要有數(shù)千行的代碼量。整體學(xué)習(xí)后,學(xué)生最后填寫任務(wù)單,必須拿出一個較完善的任務(wù)清單完成表[7]。在個人獨立學(xué)習(xí)之后,則可以讓學(xué)生分成小組展開交流探討,合作學(xué)習(xí)是一種很好的學(xué)習(xí)方式,學(xué)生在小組內(nèi)可以踴躍發(fā)言,各抒己見,相互探討,把自己的學(xué)習(xí)過程和學(xué)習(xí)結(jié)果分享給同學(xué),也可以去合理質(zhì)疑他們的理解,小組成員之間相互分享,相互印證,相互指正,都會有助于學(xué)生深化知識理解,更好的完成學(xué)習(xí)任務(wù)單。也可以圍繞問題進(jìn)行說明,相互提出學(xué)習(xí)中出現(xiàn)的問題和困惑,愛因斯坦說過“提一個問題,往往此解決一個問題更重要”,學(xué)生解決困惑和不解,避免知識困惑遺留下來,反而影響接下來的學(xué)習(xí)。
(五)任務(wù)演示內(nèi)化階段
從最開始對任務(wù)單感到陌生,到通過學(xué)習(xí)逐漸掌握任務(wù)單相關(guān)的知識,再到掌握軟件工程知識、填寫任務(wù)單,再到小組成員相互分享交流,提出問題并解決,一系列過程下來,學(xué)生能獲得全面而正確的知識,最后繪制最終版本的任務(wù)單,進(jìn)行項目講解和答辯。教師應(yīng)留下特定的講解和答辯時間,讓學(xué)生上臺輪流對自主學(xué)習(xí)任務(wù)單的學(xué)習(xí)過程和學(xué)習(xí)結(jié)果進(jìn)行匯報,演示制作的軟件是否能夠運行,是否存在Bug,是否達(dá)到了目標(biāo)功能,其他學(xué)生在臺下聆聽,可進(jìn)行評分,也可相互提問。這個過程會讓學(xué)生將所學(xué)的知識內(nèi)化于心,達(dá)到融會貫通的目的,加強記憶,教師把控好項目答辯全局,及時指出學(xué)生存在的問題,對知識進(jìn)行后續(xù)講解,整體將知識過一遍,讓學(xué)生對照標(biāo)準(zhǔn)的軟件工程知識和自己的知識儲備深化理解[8]。
(六)教學(xué)評價與反饋
教學(xué)評價與反饋是非常重要的階段,對于任務(wù)單教學(xué)來說也是如此,傳統(tǒng)教學(xué)存在評價體系不完善的問題,一方面是評價內(nèi)容不完善,很多情況下只對學(xué)生的學(xué)習(xí)結(jié)果進(jìn)行了評價,而未能對學(xué)生學(xué)習(xí)過程進(jìn)行評價,評價也只是幾個單調(diào)的數(shù)字;一方面是評價主體不完善,多數(shù)情況下都是教師對學(xué)生表現(xiàn)進(jìn)行評價,主觀判斷性較強,不能真實反映學(xué)生完成這一任務(wù)清單學(xué)習(xí)的狀況。
因此,應(yīng)對教學(xué)評價與反饋進(jìn)行改革創(chuàng)新,提倡多元化評價,可以是教師對學(xué)生任務(wù)單學(xué)習(xí)的評價,也可以是學(xué)生之間的互相評價,不僅要對學(xué)生的學(xué)習(xí)結(jié)果進(jìn)行評價,也要對學(xué)生的學(xué)習(xí)過程進(jìn)行檢查。教師應(yīng)時刻關(guān)注、檢查學(xué)生任務(wù)單學(xué)習(xí)過程中的學(xué)習(xí)能力、學(xué)習(xí)進(jìn)度管理、資源搜索能力、實踐動手能力、應(yīng)對變故解決能力等,展開綜合性評價。
可以嘗試將對“自主學(xué)習(xí)任務(wù)單”教學(xué)的評價加入課程整體評價,并將其當(dāng)作重要指標(biāo),比如課程考核方式該為期末考試占比40%,期中考試成績占比20%,日??记诒憩F(xiàn)占比20%,自主學(xué)習(xí)任務(wù)單教學(xué)模式占比20%,通過考核方式的創(chuàng)新,讓學(xué)生重視日常任務(wù)單式教學(xué),并積極參與。
三、結(jié)語
綜上所述,任務(wù)單教學(xué)是先進(jìn)的教學(xué)模式,它大大地提升了學(xué)生在課堂上學(xué)習(xí)的主體性,將課堂盡可能留給學(xué)生,以“任務(wù)”為主線,學(xué)生在完成任務(wù)的過程中自然而然就學(xué)到了軟件工程知識。想要高效展開教學(xué),就需要在準(zhǔn)備學(xué)習(xí)任務(wù)單、學(xué)生準(zhǔn)備并自主學(xué)習(xí)、實踐探索實施、任務(wù)清單完成及探討交流、任務(wù)演示內(nèi)化、教學(xué)評價與反饋等多個階段注重教學(xué)方式,把握好教學(xué)細(xì)節(jié)。
參考文獻(xiàn):
[1] 楊微. 基于“自主學(xué)習(xí)任務(wù)單”的軟件工程課程教學(xué)改革[J]. 計算機教育,2017(06):118-121.
[2] 解紹詞,代勁. 基于任務(wù)與項目混合驅(qū)動的Java平臺課程改革探索[J]. 教育教學(xué)論壇,2014(42):124-126.
[3] 張海民,陶駿,伍岳. 基于項目的任務(wù)驅(qū)動式課程設(shè)計探討——以應(yīng)用型本科高?!毒W(wǎng)絡(luò)安全與實踐》課程為例[J]. 電腦知識與技術(shù):學(xué)術(shù)版,2020,16(01):153-156.
[4] 羅才華. 基于構(gòu)建主義和知識共享的Web前端技術(shù)課程“三段式”教學(xué)改革[J]. 職業(yè)教育研究,2020(04):62-66.
[5] 鄧兆虎. 基于工作過程系統(tǒng)化課程開發(fā)理念的《產(chǎn)品模型制作實訓(xùn)》課程改革與實踐[J]. 科技經(jīng)濟(jì)導(dǎo)刊,2020(31):101-102.
[6] 鐘艷. 基于“案例-任務(wù)”的線上線下混合式教學(xué)設(shè)計與應(yīng)用[J]. 山東電力高等??茖W(xué)校學(xué)報,2022,25(01):70-73.
[7] 劉征海,徐卓然,肖建田. 基于團(tuán)隊學(xué)習(xí)的軟件工程專業(yè)課程教學(xué)改革探索[J]. 課程教育研究,2013(22):218.
[8] 張睿,張艷花,張永梅,等. 基于“項目驅(qū)動,以賽促學(xué)”的軟件工程課程教學(xué)模式探索[J]. 電腦知識與技術(shù):學(xué)術(shù)版,2019,15(06):117-119.
(責(zé)任編輯:向志莉)