董 東
(河北師范大學 計算機與網絡空間安全學院,河北 石家莊 050024)
以問題求解為導向教學[1]一直受到計算機教育界重視。針對具體的知識點設定一個明確的目標(問題),然后引導學生去求解。這種教學設計理念有益于培養(yǎng)學生自己學習的能力,因此是目前在線教學廣泛采用的教學設計模式,但是網絡教學環(huán)境與課堂教學環(huán)境相比,由于時空差距的存在,教師對學生在線學習的監(jiān)督效力和課堂實時反饋功能被削弱,學生在長達數(shù)月“問題求解為導向”的在線學習中,如果沒有有效的教學目標管理與反饋環(huán)節(jié),很容易隨著學習內容問題難度的提升和學生掌握程度差異度的增加,出現(xiàn)學習動機下降和學習倦怠的現(xiàn)象,進而影響在線教學效果和自學能力培養(yǎng)目標的達成。如何整合現(xiàn)有技術、方法和資源,探索提升問題求解為導向在線教學效果是目前亟待解決的問題。
Java 面向對象程序設計在計算機類專業(yè)應用型本科第2 學年第4 學期進行教學,學生已經學過C 語言程序設計和數(shù)據(jù)結構。線下每周講授2課時,實驗2 課時,使用清華大學出版社出版的自編教材。課堂教學以“板書知識點+編程演示”方式為主,沒有使用PPT。實驗教學以驗證型實驗為主,主要通過重做教師課堂演示的例子,強化對知識點的理解。
疫情發(fā)生前,筆者由于工作需要,使用1 個月的時間學習了中國大學MOOC 平臺上的某門受歡迎的課程,體驗了在線教學的特點。疫情發(fā)生后,根據(jù)自己的體驗,使用2 周時間規(guī)劃線上課程方案,采用了“中國大學MOOC 平臺異步SPOC(小規(guī)模限制性在線課程)+騰訊課堂”的方式。異步SPOC 選用了北京大學的國家精品課MOOC 資源并加以定制,讓學生異步自主學習;騰訊課堂主要解決師生同步溝通問題。
由于師生在教學活動中進行交流的媒介以及所處時空不同,線上和線下教學有3 點顯著差異。
(1)溝通異步性。線上教學的師生溝通是異步的,而線下教學的師生溝通是同步的。線上教學以居家為教學環(huán)境,以互聯(lián)網為課堂教學信息交流載體;而線下教學以校園教室為教學環(huán)境,師生在同一空間、同一時間交互。教室是一種學習者時空受限環(huán)境,上課鈴和下課鈴就是一種同步信號,在教室里,教師邊講課邊通過觀察抬頭率就能收到反饋信號,很容易進行同步溝通,但是在線上,無論直播還是錄播,教師同步獲得的學生反饋信息十分有限,而作業(yè)、測驗、QQ 聊天等異步通信形式成為教師獲得教學反饋的主要手段。
(2)教學內容粒度不同。線上教學內容是以知識點為最小粒度組織;而線下教學是以教學周為最小粒度組織。教學進度表清晰地表述了每周幾個課時,以及應該講授哪些內容。在線上,一段視頻就是講授一個知識點,而且一般在15 分鐘左右。
(3)教學雙方自由度不同。線上教學活動中學生的自由度較大;而線下教學活動中教師的自由度較大。在線教學活動中,學生保持了學習活動的主體地位,而教師從臺前轉移到幕后,對教學活動操控的自由度降低,但任課教師還要承擔教學活動的主導作用。
針對以上3 點差異,結合在疫情期間在線教學實踐經驗,基于目標管理的Java 面向對象程序設計在線教學設計如下。
Java 面向對象程序設計課程的特點是實踐性以及可模仿性強。學習者按照學習路線,通過編輯運行體現(xiàn)某知識點的源代碼例子就能理解知識點,再通過問題求解就能強化理解并達到“簡單應用”的層次。由于學生已經學過C 語言,具備一定的程序設計基礎,因此目標管理的方法具有技術可行性。
目標管理是組織參與者根據(jù)實現(xiàn)總目標的需要,自己制訂或者主動承擔各自的工作目標,并在實現(xiàn)目標的過程中實行自我控制[2]。目標管理通過激勵來調動參與者的積極性,保證實現(xiàn)總目標,其核心就是明確和重視成果的評定,提倡個人能力的自我提高。管理過程由規(guī)劃(Plan)、分解(Divide)、執(zhí)行(Action)、檢查(Check)及優(yōu)化(Optimize)5 類活動組成[3],其中執(zhí)行和檢查活動反復執(zhí)行,被優(yōu)化的對象是規(guī)劃和分解,也是迭代的過程,形成整體迭代的過程模型。
目標管理體現(xiàn)了學生個體需求(學到知識,獲得學分)與課程目標(讓學生能夠針對具體問題設計面向對象程序實現(xiàn)求解)的結合,挖掘和鼓勵教學活動中各個參與者的自覺性、自主性和自治性,體現(xiàn)了線上教學異步溝通的特征;不同于企業(yè)中基于空間目標分解,在線教學活動的目標按照時間進行分解,教學進度表就是目標分解的依據(jù),而15 分鐘左右的知識點就是目標分解的最小粒度;讓學生做一次實驗,完成一次作業(yè)就得到相應的成績,成績的累積就是最終成績,學習活動的累積就是個體需求目標的完成;教師安排好學習路線和里程碑后,在教學中的主要活動就是發(fā)現(xiàn)學生思想火花、點燃學生學習熱情和評價學習成果。
規(guī)劃就是定義課程目標、按照課程進度定義里程碑和定義檢查方法。Java 面向對象程序設計課程目標是理解類和對象的概念,掌握面向對象程序設計的一般過程,能夠應用常用的JDK API,掌握Java 語言常用的保留字,能夠針對具體問題設計面向對象程序實現(xiàn)求解。
把這個總目標分解成7 個子目標:簡單的Java 程序、類和對象、繼承、異常、群集框架、輸入輸出和多線程,再把這7 個子目標分配到本學期15 周(第16 周是考試周,結課),形成課程進度。
定義檢查方法即定義考核辦法。線下教學的考核一直是“平時成績30%+期末考試70%”的方案。線上教學情況下,學生個體的成績主要由學習過程累積而成,只要實現(xiàn)了子目標就獲得一部分成績,學生就得到一定的成就感。線上考核方案定義如下:完成學習視頻、單元測驗、實驗與作業(yè)、參與討論以及參加期末考試。各部分的分值比例是單元測驗(5%)、實驗(30%)、作業(yè)(40%)、參與討論(5%)和期末考試(20%)。積極參與討論者可以獲得額外的加分。這樣,期末考試僅僅占20%,能夠實現(xiàn)累積成績的效果。
在課程開始之前,不僅在MOOC 平臺上公布,還要通過騰訊課堂給學生講一遍,確保所有學生明確目標、進度和成績的構成。
除了把課程總目標分解為子目標,還要把子目標繼續(xù)分解成知識點。例如,把子目標“類與對象”分解成如下知識點:類的聲明、對象的創(chuàng)建訪問及其字符串表示、當前對象this、方法的參數(shù)傳遞、方法的返回、方法的重載、類變量和實例變量、類方法和實例方法、變量的作用域和字符串對象上的正規(guī)表達式應用,并為每個知識點錄制或引用視頻教程。
子目標的完成就是里程碑。在Java 面向對象程序設計課程的在線教學中規(guī)劃7 個里程碑和100 個知識點。每個里程碑定義需要提交的作業(yè)和實驗報告以及提交期限,每份作業(yè)和實驗報告平均涉及14 個知識點。MOOC 平臺定義作業(yè)的3 個狀態(tài):作業(yè)提交、作業(yè)批改和成績公布,狀態(tài)間的轉換是由日期時間控制的,此時需要精心按照教學進度設置作業(yè)提交時間。
每份作業(yè)按照完成題目數(shù)量評分,每份實驗報告按照完成實驗項目情況評分。雖然MOOC 平臺上有學生觀看視頻時長的記錄,但是不作為學生成績的構成因素,這是因為學生完全可以通過其他學習資源達到目標。
規(guī)劃和分解完成之后,相當于劇本寫好了,此后教學活動的主角就是學生了。學生的主要活動是觀看視頻完成相關測驗和作業(yè),教師則根據(jù)測驗和作業(yè)情況掌握學情。這個環(huán)節(jié)關鍵要考慮學生個體差異,允許學生進度上略有不同:有的稍快些,有的稍慢些。這也是線上教學的優(yōu)勢。另外還要考慮培養(yǎng)學生的時間管理意識,首先是作業(yè)的“截止時間”,總有一部分學生忽視“截止時間”,等到發(fā)現(xiàn)無法提交作業(yè)又和老師聯(lián)系要求單獨提交。讓學生因為超過“截止時間”而被扣分,會使學生增強時間觀念,學會時間管理。
從選課學生中選擇的助教(或者稱為課代表)是師生溝通的重要橋梁。教師可向助教了解視頻是否能看懂,作業(yè)量是否太大等問題。
按知識點組織實驗項目和作業(yè)題目,每個知識點至少對應一個實驗項目和一個作業(yè)題目,并且按照里程碑發(fā)布。要求在Eclipse 中完成實驗項目,提交源代碼。作業(yè)題目有程序設計、源代碼改錯、閱讀代碼給出運行結果3 種類型。題目以Word 文件形式提供下載,要求把答案寫在題目下面,仍然以Word 文件形式提交。學生作業(yè)如圖1 所示,這是某次作業(yè)中的第9 題,題目要求寫出代碼的輸出。學生以藍色文本在題目下方給出答案,并且還給出了通過該題目學會了什么。對于這樣的作答,不僅給滿分,還會給出Excellent 的評價。

圖1 學生作業(yè)
在執(zhí)行期間,任課教師通過騰訊課堂給學生講解課程目標、里程碑和學習的重難點,提醒學生截止日期,講解作業(yè)和實驗報告中的共性問題。個性的問題通過QQ 發(fā)起私聊解決。特別需要注意的是,任課教師要讓學生感覺到被“關注”,只要發(fā)現(xiàn)學生動腦子了,發(fā)現(xiàn)學生查資料了,發(fā)現(xiàn)學生學會引用文獻了,就在騰訊課堂里公開表揚;對于同樣得滿分的作業(yè),視情況給出不同的評語:有的學生用Good,有的學生用Excellent。教師從作業(yè)中用心感受學生的思考,學生從評語中感受到教師的關注與鼓勵,形成心與心的溝通。
檢查工作主要通過任課教師對作業(yè)的全批全改完成。建立學生的“作業(yè)評價檔案”,在檔案中記載學生作業(yè)中值得肯定的做法或者反映出的問題。例如,喬同學“給出了參考代碼的網址”,李同學“解題源代碼可作為示范”,朱同學“不僅答案正確,而且給出了答案解析”,王同學“上轉型和下轉型不清楚”,馮同學“重載和覆蓋混淆”等。及時在騰訊課堂公開表揚具有示范價值的作業(yè),特別強調這些學生的名字,對本人是鼓勵;對其他學生則是帶動。全部里程碑完成后,按照學生匯總評價信息,就形成了個體的學習畫像,把畫像反饋給學生,使學生體驗進步的喜悅;對于作業(yè)中個性的問題直接批改通過QQ私聊反饋給學生。本門課程選課學生115 名,一次作業(yè)批改下來需要兩天時間。
檢查作業(yè)則是整個檢查活動的核心活動,因為作業(yè)占總成績的40%,同時,作業(yè)也是師生溝通的手段。全批全改雖然工作量大些,但是每一份作業(yè)承載了學生的思考,對每個學生的努力做出評價是值得的付出?!鞍l(fā)現(xiàn)、點燃、鼓勵和評價”是檢查活動中所要遵循的原則。
教師還可在MOOC 平臺上查看和參與學生的討論,并對學生的討論進行評價。通過平臺的統(tǒng)計功能了解學生學習狀態(tài),及時發(fā)現(xiàn)問題。例如,有一位學生第1 周看了0 個視頻,通過QQ了解到,學生還不知道在哪兒看教學視頻。教師應留心QQ 群學生的討論,及時肯定一些學生提出的解決方案。
堅決果斷地抑制抄襲行為,發(fā)現(xiàn)苗頭,立即掐斷。例如,筆者在第2 個里程碑的作業(yè)提交中發(fā)現(xiàn)了一模一樣的作業(yè),當即在課程的QQ 群里公布處理結果:兩位學生的本次作業(yè)成績零分。在后面的作業(yè)提交中,未發(fā)現(xiàn)一模一樣的作業(yè)。
對抱怨作業(yè)量太大的學生,則讓其降低期望,盡力做,能做多少就做多少。
通過以上教學活動,就會發(fā)現(xiàn)一些值得優(yōu)化的地方,如學生反映很難理解“對象克隆”,那么就得重新考慮換成什么樣的例子講解這個知識點更容易理解些。教學目標、知識點的粒度和先后關系、作業(yè)題目難度和數(shù)量、測驗題對知識點的覆蓋、教學視頻、每個教學資料都會在學期末課程結束后進行重新調整,以達到更好的教學效果。
實驗主要由驗證型的項目組成,目的是復習鞏固教學視頻的知識點。每個里程碑安排一組實驗,一般每個知識點對應一項實驗。例如,“變量的作用域”知識點的實驗項目如下。
(1)右擊動手實驗項目,選擇 New | Package。在Name 文本框輸入包名objects.code_3_18,單擊 Finish 按鈕。
(2)在新建包上右擊,新建類:
(3)運行程序。理解變量的作用域。
每個實驗項目都為學生明確指明了實驗步驟和實驗目標,按照進度發(fā)布實驗指導書,并設定提交日期,一般提交時間為下一章內容開始之前,要求提交實驗產生的源代碼。要注意的地方是MOOC平臺沒有“實驗”欄目,只有“測驗與作業(yè)”欄目,因此實驗只能放在這個欄目中,以作業(yè)形式提交。要求學生以壓縮文件形式提交實驗結果(源代碼)。實驗手冊是經過加密的,學生不能進行復制粘貼,但可以打印。以知識點為單位配合教學進度安排整個學期的實驗,按照里程碑設置實驗手冊的發(fā)布和實驗結果的提交日期。每項實驗5分。學生異步完成實驗,教師在QQ 群進行答疑。
以知識點為粒度,而不是以教學周為粒度組織教學,按照里程碑發(fā)布作業(yè)以照顧個體學習進度差異和強化時間管理意識,基于作業(yè)數(shù)量和實驗項目數(shù)量兼顧質量的課程成績累積,作業(yè)全批全改結合QQ 群公開表揚和私聊解決個性問題,根據(jù)學生對難點的反饋優(yōu)化教學設計的規(guī)劃、分解、執(zhí)行、檢查和優(yōu)化活動,構成了Java 面向對象程序設計在線教學的目標管理。基于目標管理的在線教學使得學生學習任務明確,學習路線清晰,學習行為自主可控。里程碑內完成師生異步溝通,體現(xiàn)在線教學特點,照顧學習者個性差異;里程碑間教與學進度上同步,保障教學目標完成。學生騰訊課堂出勤率100%,作業(yè)平均優(yōu)良率93.8%,教學秩序井然有序。通過作業(yè)完成的截止日期等要求,學生增強了時間管理意識;基于目標的管理,學生充分利用了在線學習的自由度,增強了自學能力。例如,學生對于一些問題學會了通過查看API文檔和網絡搜索自己解決而不是直接問老師。問題在于:①如何引導學生識別參考文獻的質量;②如何判別代碼克隆;③如何鼓勵展示自己的成果。隨著在線教學的開展,未來計劃采用在線實驗,更有效地應用大數(shù)據(jù)方法收集和分析學生編程行為,更好地掌握學情,有針對性地進行教學設計。