唐大仕
摘 要:介紹在Coursera上開設Java程序設計課程的實踐和思考,結(jié)合相關案例,對課程的背景、教學設計、慕課教學過程的重要因素以及課程開設過程中遇到的問題進行說明,并提出解決思路。
關鍵詞:Java程序設計;慕課;翻轉(zhuǎn)課程;教學實踐
文章編號:1672-5913(2017)05-0056-05
中圖分類號:G642
1 背 景
慕課(MOOCs),也就是大規(guī)模開放網(wǎng)絡課程,即Massive Open Online Courses 的英文縮寫,是近兩年涌現(xiàn)出來的一種在線課程開發(fā)模式,備受國內(nèi)外教育界的關注。隨著寬帶網(wǎng)絡、智能手機和移動技術的迅速普及,慕課的受眾非常廣泛。更多來自不同地區(qū)的學生以及已經(jīng)參加工作者的學習者通過慕課等在線資源獲得更多、更好的教育[1]。
在慕課的課程中計算機類課程是比較受歡迎的,其中Java程序設計課程是一門重要的基礎課程。Java語言是應用最廣泛的程序設計語言之一,可用于桌面應用開發(fā)、企業(yè)應用開發(fā)、手機應用開發(fā),具有跨平臺的特點,有其廣闊的實用性。據(jù)IEEE的統(tǒng)計,2014年最熱的程序設計語言就是Java,開設Java程序設計的慕課顯得很迫切。2015年上半年,在北京大學慕課組的支持和組長李曉明教授的指導下,筆者在Coursera上開設了Java程序程序課程。
2 教學目標與教學內(nèi)容
Java程序設計課程是使用Java語言進行應用程序設計的課程,課程的主要目標有:①掌握Java語言的語法,較為深入地理解Java語言機制,掌握Java語言面向?qū)ο蟮奶攸c;②掌握Java中基本的API,掌握在集合、線程、輸入輸出、圖形用戶界面、網(wǎng)絡等方面的應用;③能夠編寫有一定規(guī)模的應用程序,養(yǎng)成良好的編程習慣,會使用重構(gòu)、設計模式、單元測試、日志、質(zhì)量管理工具提高代碼質(zhì)量。學過計算機基礎、計算概論或C語言是選修該課程的前提條件。
基于該教學目標,筆者梳理了Java的教學內(nèi)容,考慮到慕課教學的進度及短視頻的需要,將課程內(nèi)容分布到12周當中,每一周約有10個10分鐘左右的視頻。
教學的進度安排如下:
第1周 Java語言與面向?qū)ο蟮某绦蛟O計;
第2周 簡單的Java程序;
第3周 數(shù)據(jù)運算、流控制和數(shù)組;
第4周 類、包和接口;
第5周 深入理解Java語言;
第6周 異常處理;
第7周 工具類及常用算法;
第8周 Java的多線程;
第9周 流、文件及基于文本的應用;
第10周 圖形用戶界面;
第11周 網(wǎng)絡、多媒體和數(shù)據(jù)庫編程;
第12周 如何提高代碼質(zhì)量。
本課程在內(nèi)容設計上,注重實踐能力的培養(yǎng),并將軟件開發(fā)實踐中的重構(gòu)、設計模式、合作編程引入該課程。
3 慕課教學設計的幾個重要因素
慕課的建設是一個團隊合作的過程,包括教師、助教、視頻制作人員、課程支持人員、平臺維護人員等。這里主要介紹教學設計過程中的幾個重要因素如視頻短片、案例材料、測驗、作業(yè)、討論區(qū)、考試等。
1)視頻短片。
視頻短片是慕課最重要的教學材料。制作教學視頻的方式有很多,如課堂錄像式、外景錄制式、紙筆書寫式、錄屏式等[2]。本課程由于PPT教學內(nèi)容的講解、編程軟件的操作、程序的設計與執(zhí)行過程都在計算機上進行,因此采用錄屏式。具體制作過程使用Camtasia等軟件進行錄屏,后期使用Camtasia的繪圖和標注工具進行標注,最后使用Premiere等軟件進行視頻的編輯處理。
視頻短片的長度在6~15分鐘之間。從教育心理學上講,一般人難以長時間保持注意力集中,一般認為20分鐘是學習者保持注意力的上限。本課程通過劃分知識點,最終錄制了120段視頻短片,短片的長度在6~15分鐘之間。
視頻短片按教學進度進行錄制并上傳到Coursera慕課平臺,考慮到不同地區(qū)學習者的需要,制作視頻時為視頻添加了字幕。
2)案例材料。
與一般的課程不同,Java程序設計課程設計是基于案例驅(qū)動的。課程所用的案例不僅是講解過程的示例,還可供學習者用于練習。學習者可以在示例的基礎上進行修改,還可以編寫自己的程序。因此,案例材料在課程設計中占據(jù)很重要的位置。
課程中的案例要具有典型性,與學習內(nèi)容密切相關,難度適中、繁簡適度,能很好地表明相關知識點;另一方面,要生動有趣,盡量與現(xiàn)實應用關聯(lián)。例如,在講解文件和輸入輸出流的知識時,會講解一個實際的應用示例“背單詞”。在這個示例中,用到了文件讀寫、字符串處理、線程與界面顯示,難度不大又很有趣,學習者容易在其基礎上進行擴展。
與每一個教學視頻相關的案例和視頻一起打包發(fā)布到慕課平臺,以方便學習者下載,相關的PPT內(nèi)容、補充材料也作為視頻的附件放到慕課平臺上。
3)測驗與作業(yè)。
慕課是一種在線學習過程,測驗與作業(yè)是保證學習效果的重要手段。事實上,學習過程的全程管理是慕課與視頻公開課的一個重要區(qū)別。測驗與作業(yè)主要有視頻內(nèi)小測驗(In-Video Quiz)、課后測驗、互評作業(yè)等方式。
視頻內(nèi)測驗是在視頻過程中的小測驗。在把課程視頻切成小段之后,就可以在短片之間編入一些快速測驗。這些小測驗題目一般和前面視頻相關聯(lián)。這樣的題目相對簡單,其作用有兩個:一是有利于學習者集中注意力,二個是有助于加強學生對視頻短片的理解和記憶。一般在10分鐘視頻短片中插入1~2條視頻內(nèi)測驗,測驗數(shù)目不能太多,否則會影響視頻觀看的體驗。
課后測驗用于檢驗課程學習效果。每周布置一個測驗,測驗有選擇題、判斷題、填空題、編程題等,由機器自動判分。每次作業(yè)都設定最后期限,要求學習者按時完成。
還有一種重要的作業(yè)形式是互評作業(yè)。由于慕課人數(shù)眾多,對于主觀性題目,只能采用作業(yè)互評方式給出分數(shù)。對于Java程序設計課程,學生的動手能力很重要,實際編程才能更好地理解知識、提高編程能力。筆者在課程中布置了4次互評作業(yè),這些作業(yè)是綜合性較強的、有一定難度的作業(yè)。例如,關于輸入輸出流,教師布置了一個互評作業(yè),做一個簡單的網(wǎng)絡爬蟲程序,綜合了流、網(wǎng)絡流、正則表達式等綜合知識。學習者在互評過程中,不僅給別人打分數(shù),還可以從別人那里獲得經(jīng)驗、教訓,取長補短,拓展思維。
4)討論區(qū)。
討論區(qū)(論壇)也是慕課的重要環(huán)節(jié)。在論壇中學習者可以互相交流經(jīng)驗、互相幫助,但教師要精心設計討論的話題、維護討論的氣氛。課程設計了有關章節(jié)內(nèi)容的討論,例如,在講面向?qū)ο蟮腏ava語言時,讓學習者在論壇中討論如何設計、現(xiàn)實各種系統(tǒng)(如圖書管理系統(tǒng)、人事管理系統(tǒng)、教學系統(tǒng)等)中的對象及其屬性、方法。此外,還設計了一些有助于討論氛圍的話題,如自我介紹、經(jīng)驗交流、互幫互助、作品秀場等。
5)考試。
在本課程中設置了期中考試與期末考試。與平時的測驗、作業(yè)不同,課程考試題量較大、內(nèi)容較完整,考查學生對課程的綜合掌握情況??荚囈话阋髮W習者在一定時間內(nèi)一次性完成??荚嚂卸▽W習總成績,決定學習者能否獲得課程證書,影響課程優(yōu)秀的評價,因此這個過程十分重要。
4 慕課實施效果及其思考
4.1 課程參與者的地區(qū)與語言
這里列舉2016年春季學期開設的慕課實施情況。課程注冊人數(shù)達到22 000多人,其中看過課程材料的人數(shù)約18 000人,看過至少一次視頻的人數(shù)為14 000人,至少提交過一次測驗的人數(shù)是4 778人,瀏覽過論壇的人數(shù)是3 688人,見圖1。
圖2為課程參與者的地區(qū)分布情況??梢钥闯觯菊n程注冊人數(shù)中,大陸地區(qū)占61%,美國占16%,臺灣地區(qū)占7%,還有印度、加拿大、香港、新加坡等地區(qū)。
本課程是漢語授課,考慮到學習者的分布情況和語言因素,筆者采用了以下幾個措施:①給視頻短片增加字幕,方便各地學習者;②針對PPT、案例中的漢字關鍵字,添加了英文對應詞;③增加了一些英文資料;④增加了臺灣地區(qū)專業(yè)術語與大陸專業(yè)術語的對照表;⑤在論壇成立了語言互助討論區(qū),學習者之間可以互相答疑。
4.2 學習者的基礎情況
由于慕課的開放性,學習者的基礎情況差別很大,學生與非學生各占一半左右。在學習者的學歷中,研究生、本科生及其他人員各占三分之一,見圖3。
鑒于學習者情況的差別,筆者參考了國內(nèi)外其他慕課的情況[3],在設計課程、布置測驗及作業(yè)時,采取了適中的難度和課程強度(每周4~6小時的學習時間),在北京大學內(nèi)部開設翻轉(zhuǎn)課堂時則會適當補充。另外,學習者中較大一部分人不是學生,所以在制訂課程進度、確定發(fā)布課件的時間、規(guī)定作業(yè)的提交期限方面,都給予一定的富余量,這樣能讓該課程被更多的學習者接受。
4.3 學習者的流失
慕課的學習是一個自愿學習的過程,隨著課程的進展,學習者不可避免地出現(xiàn)逐漸流失的情況。到學期末,只有大約1/3~1/2的人能夠堅持下來,提交作業(yè)的人數(shù)也隨著時間而下降,這也是所有慕課的普遍規(guī)律,見圖4。
針對這樣的情況,筆者采取以下幾個方法:①第3周是學習者流失比較嚴重的時間,這時的教學內(nèi)容難度不應有太大的跨越,讓用戶能夠平滑地過渡到后面的學習;②保持每周的進度提醒和郵件通知,對那些工作較忙的學習者是一個促進;③加強在論壇的引導,及時回復學習者的有關問題,幫助他們渡過難關、樹立信心。
4.4 成績與認證
現(xiàn)階段,雖然慕課的成績及學分沒有得到所有學校的承認,但科學合理地設計MOOC 的認證機制,保證運行、管理的質(zhì)量與認證的有效性,是所有關心和推動MOOC 的人需要探索的[4]。對教師來說,重要的是設計好課程的分數(shù)分配,有助于調(diào)動學習者的積極性。
本課程設計的最終分數(shù)計算方法如下:
(1)平時測驗(Quizzes)192 道題, 占40% ;
(2)互評作業(yè)(Peer Assessments)4道大題, 占30%;
(3)期中考試(Midterm)50 道題,占10%;
(4)期末考試(Final Exam)100 道題,占20%。
其中,平時成績占較大的比重,這是由于慕課更加注重學習的過程,而期中考試與期末考試在一定意義上也是學習過程的一部分。慕課考試由于沒有現(xiàn)場監(jiān)考,以此作為評價工具不是很科學,所以考試分數(shù)只占了較小的比重。另外,為了鼓勵學習者參與討論區(qū),針對討論區(qū)的活躍者,在總分計算時會給予額外的加分獎勵。
5 結(jié) 語
2013年起北京大學宣布加盟慕課,在edX平臺(哈佛大學和麻省理工學院在線課程平臺)上開放4門MOOCs課程注冊,之后又與Coursera(斯坦福大學教授推出的免費在線大學課程平臺)合作,在Coursera平臺上新發(fā)布3門課程。從那以后,相繼有更多的課程開設出來。本文的Java程序設計慕課就是在這樣的背景下從2015年起開設的,至今已開設了4個學期,現(xiàn)在已設為每月滾動開課。2017年起課程也在中國大學慕課平臺上開設。
對教師而言,開設慕課是一項既辛苦又收獲頗豐的過程。在這個過程中,對教學內(nèi)容進行完整的梳理,對教學案例材料進行精心的選擇,對教學活動進行仔細的設計,都是對教師教學的提升。另一方面,開設慕課,可以讓不同地域的人一起學習與交流,教師、助教、校內(nèi)學生、校外學習者形成了一個大家庭,在學習過程中,互相幫助、互相激勵,碰撞出很多思想火花,這是開設慕課以前沒有體驗到的。
在北京大學本校的Java程序設計課程教學中也使用這些慕課資源,采用翻轉(zhuǎn)課堂的教學模式,對于教學質(zhì)量也是一大提升。慕課對高校教學方式帶來了重要的影響,使用慕課資源可以解決學生基礎不同的問題,學生可以將更多的時間用于交流、討論、編程實踐,有助于發(fā)揮學生學習的積極性和主動性、提高學生的實踐能力和創(chuàng)新能力。
參考文獻:
[[1] 陳江.慕課的建設與實施策略[J].北京廣播電視大學學報,2014(1):33-42.
[2] 魏瑩.MOOCs時代傳統(tǒng)高等教育應對措施研究[J].中國教育學刊,2014(7):35-37.
[3] 汪瓊,張桐.2014年美國慕課發(fā)展回顧[J].電化教育研究,2015(4):35-43.
[4] 郝丹.國內(nèi)MOOC研究現(xiàn)狀的文獻分析[J].中國遠程教育,2013(11):42-50.
(編輯:孫怡銘)