李 強(qiáng)
(湖南師范大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,湖南 長(zhǎng)沙 410081)
自2012年以來(lái),大規(guī)模開(kāi)放在線課程(massive open online course,MOOC)的迅速發(fā)展深刻影響了全世界的高等教育[1]。隨之很快進(jìn)入了“后MOOC時(shí)代”——SPOC(Small Private Online Course,小規(guī)模限制性在線課程)[2]。SPOC使用MOOC的平臺(tái)資源和教學(xué)手段,限定課程準(zhǔn)入條件和學(xué)生人數(shù),針對(duì)性更強(qiáng),專業(yè)支持力度更大,可以實(shí)現(xiàn)MOOC與學(xué)校線下課堂教學(xué)的有效融合。MOOC/SPOC將對(duì)高等教育的課程教學(xué)方法帶來(lái)根本性的變革[3]。
軟件工程課程是軟件工程專業(yè)的核心必修課程,由于其兼具較強(qiáng)的理論性和實(shí)踐性,一直都是教學(xué)的難點(diǎn)[4]。長(zhǎng)期以來(lái),IT用人單位常常抱怨大學(xué)畢業(yè)生不具備從事軟件行業(yè)工作的基本技能,認(rèn)為學(xué)生在學(xué)校里并沒(méi)有為將來(lái)所從事的軟件開(kāi)發(fā)、測(cè)試等工作打下堅(jiān)實(shí)的基礎(chǔ)。一方面是由于軟件工程具有知識(shí)面廣、理論知識(shí)豐富、實(shí)踐性強(qiáng)的特點(diǎn);另一方面,目前的教學(xué)模式還是以課堂為中心、以教師為中心、以教材為中心,不能適應(yīng)軟件行業(yè)迅速發(fā)展所帶來(lái)的對(duì)軟件人才的需求變化。因此,對(duì)軟件工程及其相關(guān)課程教學(xué)進(jìn)行改革,將是一項(xiàng)十分重要又具有挑戰(zhàn)性的工作。
大多數(shù)高校開(kāi)設(shè)的軟件工程課程通常由軟件工程理論教學(xué)和軟件項(xiàng)目實(shí)踐兩部分構(gòu)成,實(shí)際執(zhí)行情況是以理論教學(xué)為主。從教學(xué)結(jié)果和學(xué)生反饋來(lái)看,一方面,大多數(shù)學(xué)生把軟件工程學(xué)成了一門死記硬背的課程,花大量的時(shí)間去記憶一些抽象的知識(shí)點(diǎn)以應(yīng)付理論考試,導(dǎo)致學(xué)生缺乏學(xué)習(xí)積極性并且喪失從事軟件工程相關(guān)工作的興趣;另一方面,軟件工程專業(yè)的授課教師很多都缺乏軟件開(kāi)發(fā)經(jīng)歷,并且較少涉及與軟件工程學(xué)科相關(guān)的科研工作,無(wú)法具體指導(dǎo)學(xué)生的軟件實(shí)踐。
MOOC/SPOC提供了優(yōu)質(zhì)的教學(xué)平臺(tái)、方法和工具。通過(guò)MOOC/SPOC課程,可以實(shí)現(xiàn)翻轉(zhuǎn)課堂和線上線下混合式教學(xué)[5],從而將以課堂為中心轉(zhuǎn)變?yōu)橐哉n下為中心,將以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生自主學(xué)習(xí)為主,將以教材知識(shí)點(diǎn)的期末考試為評(píng)價(jià)主體轉(zhuǎn)變?yōu)橐云綍r(shí)實(shí)踐過(guò)程評(píng)價(jià)結(jié)合為主。
中國(guó)大學(xué)從2013年開(kāi)始MOOC建設(shè),取得了長(zhǎng)足的進(jìn)步,清華大學(xué)、北京大學(xué)等高校紛紛推出自己的MOOC平臺(tái)并上線多門自建課程[6],然而,MOOC的發(fā)展建設(shè)也遇到了一些問(wèn)題。一是課程內(nèi)容建設(shè)成本比較高。一門MOOC課程需要教學(xué)設(shè)計(jì)、錄制教學(xué)視頻、設(shè)計(jì)并實(shí)現(xiàn)隨堂測(cè)試和自動(dòng)評(píng)分系統(tǒng)、上線運(yùn)行和維護(hù)等大量工作。目前,大多數(shù)國(guó)內(nèi)地方高校由于經(jīng)費(fèi)缺乏、師資力量不足等原因,無(wú)法像國(guó)內(nèi)外的著名大學(xué)那樣在公共平臺(tái)開(kāi)設(shè)自己的MOOC/SPOC課程,因此,借鑒使用已有著名MOOC平臺(tái)提供的共享優(yōu)質(zhì)資源為自己的課程教學(xué)服務(wù),是大多數(shù)地方高校的合理選擇。二是MOOC平臺(tái)缺乏自主控制性。以第三方平臺(tái)的MOOC課程為主進(jìn)行教學(xué),必然照搬該課程的固定模式、流程和內(nèi)容,授課教師無(wú)法根據(jù)學(xué)生實(shí)際的學(xué)習(xí)基礎(chǔ)和能力水平及所在學(xué)校的教學(xué)條件進(jìn)行課程調(diào)整。MOOC具有開(kāi)放性,為了迎合大量不同層次的學(xué)習(xí)人員,通常會(huì)對(duì)艱深知識(shí)進(jìn)行表面化和膚淺化解釋。授課教師需要對(duì)第三方的MOOC課程進(jìn)行相應(yīng)調(diào)整,并且需要一個(gè)平臺(tái)來(lái)整合MOOC資源和課堂教學(xué),從而提升混合式教學(xué)的質(zhì)量,因此,如何有效使用MOOC中的優(yōu)質(zhì)課程資源,將其合理地融入實(shí)際教學(xué)課程,是目前課程教學(xué)改革所面臨的重要問(wèn)題。
本課程采用的MOOC資源是加州大學(xué)伯克利分校在edX平臺(tái)上開(kāi)設(shè)的Engineering Software as a Service(ESaaS)課程[7],它是全世界最早的軟件工程MOOC課程,參與人數(shù)眾多并廣受好評(píng)。2013年,基于該課程又提出SPOC理念,將MOOC與學(xué)校教學(xué)進(jìn)行有機(jī)融合[8]。該課程共有12周內(nèi)容,每周課程包括若干個(gè)短時(shí)間的教學(xué)視頻、隨堂測(cè)驗(yàn)(quiz)和課后作業(yè)(以編程為主,設(shè)定提交期限);平臺(tái)對(duì)學(xué)生提交測(cè)驗(yàn)和編程作業(yè)的正確性進(jìn)行自動(dòng)驗(yàn)證并評(píng)分。
為了整合MOOC資源和課堂教學(xué),突出軟件工程的實(shí)踐教學(xué),本課程采用國(guó)防科學(xué)技術(shù)大學(xué)開(kāi)發(fā)的Trustie平臺(tái)[9]。Trustie是一個(gè)面向高校的開(kāi)放式協(xié)同實(shí)踐教學(xué)平臺(tái),高校教師和學(xué)生可以借助該平臺(tái)開(kāi)展在線協(xié)同教學(xué)、協(xié)同實(shí)踐、社區(qū)協(xié)作等活動(dòng)。另外,通過(guò)在Trustie上設(shè)置課程僅對(duì)課內(nèi)成員可見(jiàn)、學(xué)生使用課程口令加入課程、不同角色具有不同權(quán)限等,限定課程的準(zhǔn)入條件和參加課程的學(xué)生,可以較好地支撐SPOC的實(shí)踐。通過(guò)Trustie這種開(kāi)放式平臺(tái),可以擺脫MOOC平臺(tái)的完全控制,將MOOC資源和本地課堂教學(xué)進(jìn)行有效融合,提高課程的靈活性和自主性。
本課程基于edX和Trustie平臺(tái)采用翻轉(zhuǎn)課堂式教學(xué)模式,主要過(guò)程如下:
(1)教師在Trustie平臺(tái)上發(fā)布教學(xué)大綱、教學(xué)計(jì)劃、周教學(xué)目標(biāo)和內(nèi)容、本周學(xué)生線下在edX平臺(tái)上學(xué)習(xí)的視頻部分、教材內(nèi)容、通知、相關(guān)資源等。
(2)學(xué)生根據(jù)Trustie平臺(tái)發(fā)布的信息,課下在edX平臺(tái)上了解每周的教學(xué)內(nèi)容和目標(biāo),學(xué)習(xí)教材內(nèi)容,觀看教學(xué)視頻,進(jìn)行隨堂測(cè)驗(yàn)并檢查學(xué)習(xí)效果。
(3)學(xué)生根據(jù)自己的學(xué)習(xí)情況在Trustie平臺(tái)上提交學(xué)習(xí)和測(cè)驗(yàn)中遇到的問(wèn)題和難以掌握的內(nèi)容;教師對(duì)這些問(wèn)題和難點(diǎn)進(jìn)行收集、歸類和統(tǒng)計(jì)。
(4)教師在課堂上講解歸納出的問(wèn)題和重難點(diǎn),并和學(xué)生一起討論。在教師的指導(dǎo)下進(jìn)行教師和學(xué)生以及學(xué)生和學(xué)生之間的互動(dòng);教師將互動(dòng)討論的內(nèi)容進(jìn)行總結(jié)和整理后發(fā)布在Trustie上,以供學(xué)生參考復(fù)習(xí),進(jìn)一步鞏固和提高學(xué)習(xí)成果。
Trustie平臺(tái)還設(shè)有多種方式和手段支持和加強(qiáng)實(shí)踐人員間的協(xié)同合作,如教師、助教和學(xué)生使用線上討論區(qū)進(jìn)行交流,解決學(xué)生學(xué)習(xí)中產(chǎn)生的各類疑問(wèn)。討論區(qū)具有歸檔功能,學(xué)生可以查詢和瀏覽前面學(xué)期的討論區(qū)內(nèi)容,找到自己需要的資料,避免重復(fù)提問(wèn),從而提高學(xué)習(xí)效率。
實(shí)踐是軟件工程課程的重要組成部分,能鍛煉學(xué)生的動(dòng)手能力,讓學(xué)生在“做中學(xué)”(learning by doing)模式下掌握實(shí)用的軟件工程技能。ESaaS課程基于移動(dòng)互聯(lián)網(wǎng)和云計(jì)算平臺(tái),將Ruby on Rails框架作為開(kāi)發(fā)環(huán)境,采用敏捷開(kāi)發(fā)方法,是國(guó)內(nèi)外目前比較前沿的軟件開(kāi)發(fā)模式。ESaaS課程適合小規(guī)模的團(tuán)隊(duì)以用戶反饋為核心驅(qū)動(dòng)力來(lái)迭代開(kāi)發(fā)軟件項(xiàng)目,讓學(xué)生學(xué)習(xí)掌握版本控制、云平臺(tái)部署、行為驅(qū)動(dòng)開(kāi)發(fā)、測(cè)試驅(qū)動(dòng)開(kāi)發(fā)、結(jié)對(duì)編程等軟件工程的工具、方法和技能,從而具備一定的軟件開(kāi)發(fā)水平,以便求職時(shí)符合IT企業(yè)的技術(shù)和管理要求。
本課程提高了過(guò)程考核在總考核成績(jī)中的權(quán)重,其中過(guò)程考核占最終課程成績(jī)的比例不低于40%。過(guò)程考核包括:①在規(guī)定時(shí)間前完成每周的測(cè)驗(yàn)和作業(yè);②在課堂上以開(kāi)發(fā)小組為單位積極發(fā)言并參與討論;③以小組為單位對(duì)所要完成的軟件項(xiàng)目進(jìn)行講解和演示,交流實(shí)踐過(guò)程中的經(jīng)驗(yàn)。
為了分析實(shí)施課程改革的效果,我們分別收集了傳統(tǒng)課程和MOOC/SPOC課程的相關(guān)數(shù)據(jù)并進(jìn)行分析,通過(guò)對(duì)參與改革課程的學(xué)生進(jìn)行問(wèn)卷調(diào)查,了解他們的想法和學(xué)習(xí)情況。傳統(tǒng)課程的學(xué)習(xí)人數(shù)為54人,MOOC/SPOC課程的學(xué)習(xí)人數(shù)為57人,我們對(duì)學(xué)生的學(xué)習(xí)時(shí)間、工作量和自我評(píng)價(jià)進(jìn)行了對(duì)比,見(jiàn)表1??梢钥闯?,學(xué)生對(duì)MOOC/SPOC課程的興趣和參與程度明顯高于傳統(tǒng)課程,所投入的時(shí)間和精力也較多。學(xué)生編寫了更多的代碼,在一定程度上鍛煉了實(shí)踐動(dòng)手能力。
表1 學(xué)生對(duì)不同軟件工程課程的投入對(duì)比
為了總結(jié)經(jīng)驗(yàn),找出不足,我們對(duì)參與改革課程的學(xué)生進(jìn)行不記名的書面問(wèn)卷調(diào)查,統(tǒng)計(jì)結(jié)果見(jiàn)表2。調(diào)查表明,學(xué)生普遍認(rèn)為課程教學(xué)方法比較新穎,不同于傳統(tǒng)的軟件工程理論講述,學(xué)生在軟件實(shí)踐中能逐漸對(duì)軟件工程的基本理論、方法和工具有所理解,并且對(duì)后續(xù)相關(guān)課程和實(shí)習(xí)幫助較大;大多數(shù)學(xué)生對(duì)課程中涉及的內(nèi)容持認(rèn)同態(tài)度,認(rèn)為其能對(duì)自己將來(lái)從事軟件行業(yè)工作有所幫助。
此外,學(xué)生反映課程學(xué)習(xí)有一定的難度。一方面,教材和MOOC資源都是英文表述形式,學(xué)生在閱讀理解上障礙較大;另一方面,項(xiàng)目的編程作業(yè)多,學(xué)生需要在課后花費(fèi)大量的時(shí)間和精力完成。有些學(xué)生在其他先修課程中沒(méi)有得到足夠訓(xùn)練,基礎(chǔ)比較薄弱,教師需要循序漸進(jìn)地對(duì)這部分學(xué)生進(jìn)行引導(dǎo);在項(xiàng)目分組中,將基礎(chǔ)較好和基礎(chǔ)不好的學(xué)生混合搭配。項(xiàng)目初期,由基礎(chǔ)好、動(dòng)手能力強(qiáng)的學(xué)生完成主要工作,并指導(dǎo)幫助基礎(chǔ)差的學(xué)生,這樣也可以解決助教嚴(yán)重缺乏的問(wèn)題,減輕教師的輔導(dǎo)壓力。
大多數(shù)學(xué)生對(duì)MOOC/SPOC和翻轉(zhuǎn)課堂感興趣,學(xué)習(xí)積極性較高,學(xué)習(xí)結(jié)束后對(duì)學(xué)習(xí)效果也比較滿意,但是在課程實(shí)施過(guò)程中也出現(xiàn)一些問(wèn)題和不足,需要進(jìn)行反思和進(jìn)一步研究。
1)鼓勵(lì)學(xué)生自我學(xué)習(xí)和管理。
MOOC/SPOC課程將更多的學(xué)習(xí)控制權(quán)交給學(xué)生,需要學(xué)生在課外做更多的工作。學(xué)生除了傳統(tǒng)的預(yù)習(xí)和復(fù)習(xí)之外,還要觀看教學(xué)視頻、進(jìn)行線上發(fā)言與討論、完成編程作業(yè)等。如果學(xué)生不能積極主動(dòng)配合,那么課程效果就會(huì)大打折扣,因此激發(fā)學(xué)生的學(xué)習(xí)興趣和內(nèi)在的學(xué)習(xí)動(dòng)力是課程成功的關(guān)鍵。
首先要培養(yǎng)學(xué)生的學(xué)習(xí)成就感,讓他們有信心繼續(xù)進(jìn)行課程學(xué)習(xí)。軟件實(shí)踐項(xiàng)目的難度開(kāi)始要相對(duì)比較低,讓學(xué)生花費(fèi)較少的精力就可以實(shí)現(xiàn)一個(gè)能使用的軟件系統(tǒng),如Ruby on Rails框架可以讓學(xué)生編寫較少的代碼就能夠運(yùn)行一個(gè)Web應(yīng)用,展示一些基本頁(yè)面和功能,從而讓學(xué)生獲得信心和成就感,能夠?yàn)榱藢?shí)現(xiàn)更多的功能而主動(dòng)學(xué)習(xí)和工作。在軟件開(kāi)發(fā)中,要注重團(tuán)隊(duì)合作,團(tuán)隊(duì)中的歸屬感有助于學(xué)生提高積極性,激發(fā)學(xué)習(xí)動(dòng)力。
表2 MOOC/SPOC軟件工程課程問(wèn)卷調(diào)查統(tǒng)計(jì)
2)提高教師教學(xué)水平。
使用優(yōu)質(zhì)的MOOC資源支持本地教學(xué),可以減輕教師的負(fù)擔(dān)。課程實(shí)踐表明,采用開(kāi)放式協(xié)同教學(xué)實(shí)踐平臺(tái),讓其作為MOOC資源和課堂教學(xué)的黏合劑,是一種較好的解決方案,關(guān)鍵在于教師要具有MOOC資源的整合能力,讓MOOC資源能較好地與課堂教學(xué)融合,線上線下互為補(bǔ)充。教師要與時(shí)俱進(jìn),突破固有教學(xué)理念、模式和機(jī)制的束縛,積極跟進(jìn)和學(xué)習(xí)MOOC/SPOC,將傳統(tǒng)的以“教”為中心的教學(xué)模式逐漸轉(zhuǎn)變?yōu)橐浴皩W(xué)”為中心的教學(xué)模式,在教學(xué)實(shí)踐中不斷探索傳統(tǒng)高校課堂和MOOC的結(jié)合方式,把握兩者之間的平衡,因此,教師還需不斷提升水平從而經(jīng)受考驗(yàn)。
3)進(jìn)一步加強(qiáng)交互性,突出個(gè)性化學(xué)習(xí)。
MOOC的特點(diǎn)在于大規(guī)模而產(chǎn)生的低成本、易普及和高效率,但是從另一個(gè)角度來(lái)看,教師需要和成千上萬(wàn)的學(xué)生交流,這顯然無(wú)法實(shí)現(xiàn),因而產(chǎn)生難以實(shí)現(xiàn)學(xué)生個(gè)性化學(xué)習(xí)的問(wèn)題。SPOC的出現(xiàn)在一定程度上緩解了這個(gè)問(wèn)題。由于對(duì)MOOC資源沒(méi)有控制權(quán),大多數(shù)高校教師無(wú)法在公共的MOOC平臺(tái)上實(shí)現(xiàn)SPOC。本課程通過(guò)第三方開(kāi)放式平臺(tái)來(lái)整合MOOC資源以實(shí)現(xiàn)SPOC。此外,教師通過(guò)開(kāi)放式平臺(tái)可以自主開(kāi)發(fā)交互式學(xué)習(xí)資源。在傳統(tǒng)教學(xué)模式下,教師一般在批改作業(yè)時(shí)才會(huì)發(fā)現(xiàn)學(xué)生遇到的學(xué)習(xí)問(wèn)題,而學(xué)生普遍希望遇到學(xué)習(xí)困難時(shí)能立即獲得幫助并克服障礙從而繼續(xù)學(xué)習(xí),因此,作業(yè)的自動(dòng)發(fā)布和評(píng)分是交互式課程中非常重要的一部分。軟件工程的大部分課程作業(yè)是編程,教師通常通過(guò)手工對(duì)編程作業(yè)進(jìn)行評(píng)價(jià),教育資源利用率非常低而且出錯(cuò)率高。建立共享的編程資源庫(kù)和友好的交互環(huán)境,可以讓教師和助教專注教學(xué)本身并且及時(shí)發(fā)現(xiàn)學(xué)生實(shí)踐中存在的問(wèn)題,增強(qiáng)教師與學(xué)生互動(dòng)的實(shí)時(shí)性和準(zhǔn)確性。
MOOC/SPOC的普及和廣泛應(yīng)用,為軟件工程的教學(xué)改革提供了非常好的機(jī)遇。教師可以根據(jù)本校的實(shí)際情況,因地制宜地應(yīng)用MOOC/SPOC,設(shè)計(jì)和實(shí)施具有自身特色的教學(xué)方法,從而優(yōu)化課堂教學(xué)效果,提高教學(xué)效率和教學(xué)質(zhì)量。
為深化軟件工程專業(yè)課程教學(xué)改革,湖南師范大學(xué)軟件工程專業(yè)借助著名MOOC平臺(tái)edX上的Engineering Software as a Service課程資源[4],以國(guó)內(nèi)的Trustie為在線協(xié)作平臺(tái)[5],同時(shí)結(jié)合學(xué)校軟件工程和軟件綜合實(shí)踐課程的自身教學(xué)特點(diǎn),探索如何將MOOC/SPOC資源與線下的課堂教學(xué)相結(jié)合,對(duì)建立新型軟件工程課程教學(xué)模式和方法進(jìn)行嘗試和實(shí)踐,取得了一定的成效。由于是初次探索和實(shí)施,實(shí)踐中還存在一些亟待解決的問(wèn)題和需要改進(jìn)的地方。針對(duì)目前MOOC/SPOC課程的現(xiàn)狀和問(wèn)題,下一步的工作重點(diǎn)是提高課程的交互性、為學(xué)生提供個(gè)性化學(xué)習(xí)服務(wù)、提升課程內(nèi)容的自適應(yīng)性等。此外,MOOC/SPOC課程改革的空間非常廣闊,這也將大大地激發(fā)教師對(duì)課程創(chuàng)新的積極性并促使其不斷探索。
[1]何欽銘. 通過(guò)MOOC/SPOC課程推動(dòng)課程教學(xué)方法的根本變革[J]. 計(jì)算機(jī)教育, 2016(1): 10-11.
[2]康葉欽. 在線教育的“后MOOC時(shí)代”: SPOC解析[J]. 清華大學(xué)教育研究, 2014(1): 85-93.
[3]徐葳, 賈永政, 阿曼多·??怂? 等. 從MOOC到SPOC:基于加州大學(xué)伯克利分校和清華大學(xué)MOOC實(shí)踐的學(xué)術(shù)對(duì)話[J]. 現(xiàn)代遠(yuǎn)程教育研究, 2014(4): 13-22.
[4]劉強(qiáng), 陳越, 駱斌, 等. “軟件工程”課程教學(xué)實(shí)施方案[J]. 中國(guó)大學(xué)教學(xué), 2011(2): 41-44.
[5]何克抗. 從“翻轉(zhuǎn)課堂”的本質(zhì)看“翻轉(zhuǎn)課堂”在我國(guó)的未來(lái)發(fā)展[J]. 電化教育研究, 2014(7): 5-16.
[6]徐曉飛, 張龍, 奚春雁. 積極應(yīng)對(duì)MOOC浪潮, 推動(dòng)我國(guó)計(jì)算機(jī)教育改革[J]. 計(jì)算機(jī)教育, 2016(1): 8-9.
[7]Edx. Agile development using ruby on rails[EB/OL]. [2017-08-20]. https://www.edx.org/course/agile-development-using-ruby-railsuc-berkeleyx-cs169-1x-1.
[8]EECS. Software engineering curriculum technology transfer: Lessons learned from MOOCs and SPOCs[EB/OL]. (2014-03-05)[2017-08-20]. http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-17.pdf.
[9]毛新軍, 尹剛, 王懷民. 軟件工程系列課程實(shí)踐教學(xué)平臺(tái)Trustie[J]. 計(jì)算機(jī)教育, 2014(23): 53-56.