王 直 軍
(福建師范大學(xué) 教育學(xué)院,福建 福州 350007)
大規(guī)模開放課程(MOOCs)對(duì)我國(guó)大學(xué)程序設(shè)計(jì)語言課程設(shè)計(jì)的啟示研究
——以范德堡大學(xué)POSA MOOC為例
王 直 軍
(福建師范大學(xué) 教育學(xué)院,福建 福州 350007)
摘要:大規(guī)模開放在線課程是基于網(wǎng)絡(luò)班級(jí)環(huán)境下,旨在大規(guī)模全球性參與并且通過網(wǎng)絡(luò)開放接入的課程。MOOC對(duì)全球性的教育如何傳送以及建設(shè)產(chǎn)生了沖擊的趨勢(shì)。在2013年春,范德堡大學(xué)開設(shè)了第一門MOOC課程(即POSA—面向模式的軟件架構(gòu)),該課程為期10周,是范德堡大學(xué)過去十年里幾門軟件設(shè)計(jì)與編程課的整合。本文對(duì)范德堡大學(xué)POSA MOOC課程設(shè)計(jì)與制作進(jìn)行了分析,并討論了POSA MOOC給我們帶來的經(jīng)驗(yàn)與啟示。
關(guān)鍵詞:MOOCs;Coursera;面向模式;軟件體系結(jié)構(gòu)和框架;設(shè)計(jì)和編程
0引言
自1873年以來,范德堡大學(xué)一直是一個(gè)受人敬仰的高等教育學(xué)府,在過去的140年里,畢業(yè)生已經(jīng)超過了10萬名。然而,在短短的8個(gè)月,范德堡大學(xué)增加了一倍多由其教師所教的學(xué)生人數(shù)。這種激增源于“大規(guī)模開放網(wǎng)絡(luò)課程”。范德堡大學(xué)在2013年3月開始通過Coursera提供范德堡大學(xué)MOOCs,即POSA MOOC。
當(dāng)POSA MOOC于2013年3月4日推出后,有超過31 000的學(xué)生加入進(jìn)來,這些學(xué)生來自全球許多國(guó)家。在十周的POSA MOOC課程中,這些學(xué)生觀看在線視頻講座464 498次,嘗試訪問在線測(cè)試37 817次。學(xué)生共提交了13 220份用6種不同編程語言完成的作業(yè),并對(duì)這些作業(yè)進(jìn)行了45 649次獨(dú)立的同伴成績(jī)(peer-graded)評(píng)估。此外,學(xué)生和課程教師在論壇上的對(duì)話超過了7 000條,這提供了一個(gè)高度交互的虛擬學(xué)習(xí)社區(qū)。
MOOCs和范德堡大學(xué)傳統(tǒng)面對(duì)面課堂之間的差異深刻影響著POSA MOOC材料的準(zhǔn)備、呈現(xiàn)以及評(píng)估。
1POSA MOOC的結(jié)構(gòu)和內(nèi)容
1.1POSA MOOC概述
范德堡大學(xué)MOOC是在多核和無處不在的有線和無線連接的分布式核心處理器的出現(xiàn)下應(yīng)運(yùn)而生的。在過去的40年里處理器和網(wǎng)絡(luò)盡管得以不斷地改善,然而,研發(fā)高質(zhì)量的并發(fā)網(wǎng)絡(luò)軟件仍然很困難,開發(fā)高質(zhì)量可重用的并發(fā)網(wǎng)絡(luò)軟件則是難上加難。
了解如何創(chuàng)建和應(yīng)用模式和框架可以極大地增強(qiáng)理解開發(fā)這類軟件所需的原則、方法和技能。POSA MOOC描述了如何應(yīng)用模式和框架來減輕多領(lǐng)域中并發(fā)網(wǎng)絡(luò)軟件的開發(fā)和部署時(shí)出現(xiàn)的許多意外和固有的復(fù)雜性,包括移動(dòng)應(yīng)用程序、web服務(wù)器、對(duì)象請(qǐng)求代理等。
1.2視頻錄像概述
在范德堡大學(xué)課程模式和框架課中,通過設(shè)置Coursera課程先決條件,教師在開發(fā)和教授POSA MOOC時(shí)可以提前告知學(xué)生所需的課程基礎(chǔ)知識(shí)。
雖然MOOC整體關(guān)注的是面向模式軟件架構(gòu)的并發(fā)網(wǎng)絡(luò)軟件,但是課程設(shè)計(jì)人員添加了一些介紹性章節(jié),包括并發(fā)性、網(wǎng)絡(luò)、模式和框架,以及一個(gè)覆蓋核心面向?qū)ο笤O(shè)計(jì)、編程和模式概念的可選部分。以下總結(jié)了這些部分覆蓋的主題。
1.2.1初始節(jié)課程概述
該介紹性視頻旨在激發(fā)學(xué)生可視化的動(dòng)機(jī)以及讓學(xué)生了解并發(fā)網(wǎng)絡(luò)軟件的挑戰(zhàn)。當(dāng)然,也總結(jié)了模式和框架如何幫助解決軟件的關(guān)鍵挑戰(zhàn)。
1.2.2第一節(jié)并發(fā)網(wǎng)絡(luò)軟件簡(jiǎn)介
該節(jié)包含3.5小時(shí)的視頻,提供了操作系統(tǒng)和中介軟件相關(guān)的背景信息,討論了并發(fā)網(wǎng)絡(luò)化軟件系統(tǒng)的關(guān)鍵設(shè)計(jì)規(guī)模(如將原則劃分成多個(gè)層和服務(wù)),以及審查常見UNIX和Windows操作系統(tǒng)編程機(jī)制和Android編程機(jī)制。由于該部分強(qiáng)調(diào)了概念,所以并沒有太多的討論模式、框架或代碼。主要目標(biāo)是概括學(xué)生需要理解主題的材料。
1.2.3第二節(jié)模式和框架的簡(jiǎn)介
該節(jié)中有6個(gè)小時(shí)的視頻,深入到了POSA MOOC的重點(diǎn)——并發(fā)網(wǎng)絡(luò)化軟件的模式和框架,且主要關(guān)注的是設(shè)計(jì)而不是編程,有許多通過UML圖傳達(dá)的模式和框架的結(jié)構(gòu)和行為元素。視頻從模式和框架的概述開始,強(qiáng)調(diào)關(guān)鍵概念,如編纂設(shè)計(jì)經(jīng)驗(yàn),使系統(tǒng)復(fù)用,并結(jié)合相關(guān)模式的組織來定義一個(gè)過程,使其在特定領(lǐng)域有序解決軟件開發(fā)問題。為此,課程設(shè)計(jì)人員給了幾個(gè)常見的用Java和c++編寫的并發(fā)和網(wǎng)絡(luò)編程模式的例子(如代理和命令處理器)和框架(如Android等)。課程設(shè)計(jì)人員還討論了模式和框架的利弊,包括何時(shí)使用它們和何時(shí)避免使用它們,以及如果它們?cè)谔囟ōh(huán)境中不工作可選擇的方案。
1.2.4第三節(jié)模式和框架在并發(fā)網(wǎng)絡(luò)軟件中的應(yīng)用
該節(jié)包含6個(gè)小時(shí)的視頻,覆蓋了POSA MOOC最深的技術(shù)。它側(cè)重于通過將模式和框架和分組模式應(yīng)用到模式語言中來開發(fā)并發(fā)網(wǎng)絡(luò)軟件。為了使這部分的例子具體且相關(guān),課程設(shè)計(jì)人員從高性能web服務(wù)器領(lǐng)域選擇了一個(gè)案例研究,基于C++ 開發(fā)的使用多種模式和ACE框架組件的JAWS開源web服務(wù)器。
具體討論的模式和框架涉及了廣泛的并發(fā)網(wǎng)絡(luò)軟件功能,包括服務(wù)訪問和配置、進(jìn)程間通信、同步和異步事件處理、并發(fā)和同步。在這一節(jié)中大多數(shù)模式是基于《面向模式的軟件架構(gòu)卷》兩本書中的模式語言,涵蓋了并發(fā)和分布式對(duì)象的模式。除此之外,還介紹討論了《設(shè)計(jì)模式:可重用面向?qū)ο筌浖脑亍?所謂的“四人組”的書)中的模式如何幫助簡(jiǎn)化了某些并發(fā)網(wǎng)絡(luò)軟件的設(shè)計(jì)和編程方面。
1.2.5第四節(jié)“四人組”模式的研究案例
該可選部分提供3.5小時(shí)的面向?qū)ο笤O(shè)計(jì)和模式的背景視頻,但這些視頻與并發(fā)網(wǎng)絡(luò)軟件沒有直接相關(guān),但對(duì)成為一個(gè)有效的面向?qū)ο蟪绦蜷_發(fā)人員是必需的。圍繞一個(gè)案例研究,應(yīng)用超過一半的“四人組”書中的23個(gè)模式展示了模式和面向?qū)ο蟮脑O(shè)計(jì)以及使用C++ 編程技術(shù)。這個(gè)案例研究使學(xué)生學(xué)習(xí)和評(píng)估替代軟件開發(fā)方法的局限性(如算法分解)和通過例子的展示了解模式和面向?qū)ο笕绾斡兄诰徑膺@些限制。
2POSA MOOC的學(xué)生評(píng)估機(jī)制
在POSA MOOC課程中,基于不是所有的參與者都有相同的學(xué)習(xí)目標(biāo)或可用時(shí)間的事實(shí),課程設(shè)計(jì)人員創(chuàng)建了以下兩個(gè)方法來評(píng)估學(xué)生的表現(xiàn)。
2.1一般軌跡
學(xué)生在這個(gè)層次上收到一份課程完成聲明,即通過每周自動(dòng)測(cè)驗(yàn)評(píng)估來認(rèn)證對(duì)課程概念是否精通。這個(gè)主題是為了那些有時(shí)間或興趣參與自動(dòng)評(píng)估測(cè)驗(yàn)和期末考試的學(xué)生設(shè)計(jì)的,而不是為那些沒有時(shí)間和興趣完成同伴互評(píng)編程作業(yè)的學(xué)生的。
在MOOC開始時(shí)沒有加入的學(xué)生能完成一般軌跡,只要他們?cè)?0周后POSA MOOC結(jié)束時(shí)完成所有自動(dòng)評(píng)估測(cè)驗(yàn)和期末考試。一般軌跡的最終成績(jī)是基于每周測(cè)驗(yàn)(期末成績(jī)的90%)和期末考試(期末成績(jī)的10%)。學(xué)生獲得最高成績(jī)的70%或更多就會(huì)收到一份課程完成聲明。
2.2分級(jí)軌跡
學(xué)生在這個(gè)層次上獲得一份分級(jí)的課程完成聲明。除了完成自動(dòng)評(píng)估每周測(cè)驗(yàn)和正常軌道下的期末考試,分級(jí)軌跡還需完成同伴互評(píng)短文和同伴互評(píng)編程任務(wù)。這個(gè)軌跡是為了那些愿意花時(shí)間來實(shí)現(xiàn)對(duì)課程內(nèi)容的掌握并在結(jié)構(gòu)化任務(wù)中進(jìn)行應(yīng)用的學(xué)生設(shè)計(jì)的。
履行分級(jí)軌跡的學(xué)生需要在截止日期前完成各種同伴互評(píng)作業(yè)。分級(jí)軌跡的最終成績(jī)是基于每周測(cè)驗(yàn)(期末成績(jī)的35%),同伴互評(píng)短文和同伴互評(píng)作業(yè)(期末成績(jī)的55%)和期末考試(期末成績(jī)的10%)。學(xué)生獲得滿分的70%以上就會(huì)收到一份課程完成聲明。
3POSA MOOC的經(jīng)驗(yàn)與啟示
3.1需要大量的時(shí)間來準(zhǔn)備MOOC建立前的內(nèi)容
3.1.1錄制高質(zhì)量的視頻課程
由于在拍攝的視頻工作室里沒有學(xué)生參與交互。因此,課程設(shè)計(jì)人員需要制定更緊湊的腳本和高度結(jié)構(gòu)化的演講材料。
POSA MOOC每個(gè)模塊類似于書中的章節(jié)。每段教學(xué)視頻約15—20分鐘(Coursera建議保持學(xué)生注意的長(zhǎng)度)。每五分鐘左右,“嵌入式”多項(xiàng)選擇題測(cè)驗(yàn)出現(xiàn)來檢查學(xué)生到目前為止是否觀看了視頻以及是否了解了介紹的內(nèi)容。
POSA MOOC課程設(shè)計(jì)人員花了整整兩個(gè)月的時(shí)間拍攝制作了超過80個(gè)獨(dú)立視頻,持續(xù)20個(gè)小時(shí)。此外,課程設(shè)計(jì)人員還為POSA MOOC準(zhǔn)備了1 200多個(gè)Powerpoint幻燈片。即使這樣,POSA MOOC僅僅是對(duì)并發(fā)網(wǎng)絡(luò)軟件的模式和框架作了粗淺的介紹,更廣泛和更深入的主題很難覆蓋在一個(gè)MOOC中。
此外,在鏡頭前展示MOOC材料也比在課堂上演講更加困難,因?yàn)闆]有學(xué)生提問,即使學(xué)生理解材料也無法通過視覺線索獲取。因此教師必須掌握順利展示幻燈片的藝術(shù),甚至以一個(gè)速度,保持熱情而堅(jiān)定的目光盯著攝像頭幾個(gè)小時(shí)。最后,在后期制作過程中還要花費(fèi)大量的時(shí)間對(duì)視頻進(jìn)行編輯。
3.1.2創(chuàng)建學(xué)生評(píng)估機(jī)制
除了開發(fā)視頻所需的時(shí)間,課程設(shè)計(jì)人員還需要相當(dāng)長(zhǎng)的時(shí)間來制定嵌入式測(cè)試、每周測(cè)驗(yàn)、同伴互評(píng)短文和編程任務(wù)。在傳統(tǒng)的課堂中,通過教師對(duì)學(xué)生反應(yīng)的解釋以及提供立即的反饋,開放式的問題可以鍛煉學(xué)生用自由的方式來綜合他們所學(xué)的知識(shí)。但讓成千上萬MOOC學(xué)習(xí)者進(jìn)行個(gè)人反饋是不可行的,因此課程設(shè)計(jì)人員需要預(yù)先構(gòu)建一個(gè)清晰有用的問題測(cè)驗(yàn)和同伴評(píng)估標(biāo)準(zhǔn)。在這個(gè)過程中,求助于其他領(lǐng)域?qū)<铱梢怨?jié)約創(chuàng)建MOOC的時(shí)間。
3.2MOOC建立后需要更多的時(shí)間去管理維護(hù)
相對(duì)于制作MOOC而言,管理維護(hù)MOOC課程論壇將會(huì)花費(fèi)更多的時(shí)間和精力。在POSA MOOC中,課程維護(hù)人員在論壇上花費(fèi)大量時(shí)間主要有以下幾點(diǎn)原因:
3.2.1加速和擴(kuò)大學(xué)習(xí)過程
論壇是學(xué)習(xí)過程的核心。這些論壇幫助課程從被動(dòng)地觀看“課程導(dǎo)向”視頻轉(zhuǎn)變?yōu)榉e極參與教師或課程維護(hù)人員和學(xué)生之間“學(xué)習(xí)型”的對(duì)話。根據(jù)論壇上問題的類型和產(chǎn)生的對(duì)話可以加深學(xué)生對(duì)課程材料的理解。
3.2.2消除常見的誤解
為了消除常見誤解而對(duì)論壇進(jìn)行深入干涉是必不可少的,因?yàn)檫@些誤解會(huì)隨著時(shí)間開始積累。例如,許多學(xué)生認(rèn)為模式只適用于面向?qū)ο缶幊陶Z言,模式的唯一目的是為了彌補(bǔ)主流語言的缺陷,以及面向?qū)ο罂蚣馨l(fā)生太多用于資源受限系統(tǒng)的時(shí)間或空間開銷。
3.2.3構(gòu)建良好的意愿
3.2.4獎(jiǎng)勵(lì)有建設(shè)性的學(xué)生參與
在缺少課程人員一直監(jiān)督時(shí),論壇帖子的語氣和內(nèi)容往往傾向于陷入挫折和個(gè)人偏好攻擊。最活躍的參與者的帖子往往具有知識(shí)性和思想性,我們明確鼓勵(lì)深入?yún)⑴c論壇,并獎(jiǎng)勵(lì)表現(xiàn)不錯(cuò)的學(xué)生當(dāng)“社區(qū)助教”。
3.3評(píng)估學(xué)生表現(xiàn)時(shí)以設(shè)計(jì)為導(dǎo)向的MOOC比以事實(shí)為導(dǎo)向的MOOC更加困難
POSA MOOC學(xué)生想要有意義的方式來評(píng)估他們的成就,即,他們想將他們學(xué)到的東西付諸實(shí)踐。但是課程維護(hù)人員無法對(duì)成千上萬MOOC學(xué)生的解決方案進(jìn)行評(píng)估。
在理想情況下,擴(kuò)大POSA MOOC評(píng)估將會(huì)應(yīng)用自動(dòng)評(píng)估工具。然而,自動(dòng)評(píng)估工具在以設(shè)計(jì)為導(dǎo)向的MOOCs(比如POSA)應(yīng)用上,沒有以事實(shí)導(dǎo)向的MOOC(如代數(shù)或初級(jí)微積分)成熟。問題主要源于自動(dòng)評(píng)估軟件設(shè)計(jì)缺乏有用的工具。
另外,同伴互評(píng)是彈性的,但由于學(xué)生的能力、動(dòng)機(jī)和時(shí)間約束使得同伴評(píng)估存在問題。在POSA MOOC課程中,學(xué)生在評(píng)估成績(jī)時(shí)有很大的自由度,一些學(xué)生評(píng)估時(shí)對(duì)一些學(xué)生寬松而其他學(xué)生卻非常嚴(yán)格。
MOOCs自動(dòng)評(píng)估和同伴互評(píng)的缺陷凸顯了專家評(píng)估在培養(yǎng)批判性思維過程中的無價(jià)的角色。
3.4創(chuàng)新使MOOC更像是一個(gè)“真正的”課程
3.4.1虛擬辦公時(shí)間
為了解決傳統(tǒng)MOOCs師生之間的交互問題,POSA MOOC課程設(shè)計(jì)人員使用了兩個(gè)社交媒體工具——討論論壇和網(wǎng)路廣播來參與學(xué)生連續(xù)互動(dòng)的對(duì)話。
POSA MOOC課程人員使用谷歌聚會(huì)和YouTube頻道舉行每周一次的“虛擬辦公時(shí)間”,學(xué)生通過即時(shí)消息可以問關(guān)于作業(yè)和課程視頻的問題,并得到及時(shí)解答。谷歌聚會(huì)會(huì)自動(dòng)記錄辦公時(shí)間,課程人員隨后將記錄上傳到POSA Coursera網(wǎng)站上,這樣學(xué)生就可以離線查看它們。
3.4.2眾包的編程任務(wù)
對(duì)眾包編程作業(yè)規(guī)范的應(yīng)用尤為有效地?cái)U(kuò)大了課程范圍,吸引了更多的學(xué)生。例如,POSA MOOC課程主要專注于C++ 和Java,但是同伴評(píng)估編程作業(yè)被眾包到包括c#、Ruby、Python和Scala。而Coursera的同伴互評(píng)系統(tǒng)可以讓學(xué)生使用不同編程語言完成作業(yè),這使得學(xué)生可以調(diào)整課程以滿足他們的需求和興趣。
4結(jié)語
隨著MOOC的興起,傳統(tǒng)大學(xué)教育的觀念和方法都會(huì)隨之改變,如何應(yīng)對(duì)這一變化,提高學(xué)生的學(xué)習(xí)效果,培養(yǎng)基于深厚理論知識(shí)系統(tǒng)的實(shí)踐能力,是教師面臨的一項(xiàng)巨大挑戰(zhàn)。本文通過對(duì)范德堡大學(xué)POSA MOOC課程設(shè)計(jì)與制作的分析以及分享POSA MOOC帶來的經(jīng)驗(yàn)與啟示,希望能為我國(guó)高校的程序設(shè)計(jì)語言課程MOOC化提供一定的借鑒。
參考文獻(xiàn):
[1]Fisher, D.. Warming Up to MOOC’s[J].Chronicle of Higher Education,2012,(11).
[2]Meister, J.. How MOOCs Will Revolutionize Corporate Learning And Development[J].Forbes,2013,(8).
[3]王文禮.MOOC的發(fā)展及其對(duì)高等教育的影響[J].江蘇高教,2013,(2).
[4]馮雪松,汪瓊.北大首批MOOCs的實(shí)踐與思考[J].中國(guó)大學(xué)教學(xué),2013,(12).
責(zé)任編輯:富春凱
作者簡(jiǎn)介:王直軍(1989—),男,安徽人,在讀碩士研究生。研究方向:多媒體與信息技術(shù)。
收稿日期:2014-12-01
中圖分類號(hào):G40-057
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1674-6341(2015)01-0083-03
doi:10.3969/j.issn.1674-6341.2015.01.038