呂 娜,張 琎,張芊茜,史桂嫻
(濟南大學 信息科學與工程學院,山東 濟南 250022)
“互聯網+”技術的使用為網絡教學帶來了歷史性的變革,成為現代化教育教學發展的里程碑[1]。MOOC是一種大型的網上開放課程,它有自己的學習和管理系統,蘊含豐富的課程資源,包括短片、練習題、討論、補充材料、測試等[2]。在MOOC課程中,學生不受時空的限制,“碎片化”時間得以有效地利用,在整個學習過程中學生的主體地位得以凸顯,自主學習能力得到了鍛煉。因此,MOOC課程在“互聯網+”的時代背景下愈來愈受到高校師生的青睞。
不是所有人都能勝任MOOC課程的學習,除要求能夠熟練使用網絡平臺外,還要求學習者具備一系列的個人品質,涵蓋自我鞭策與管制、高效的時間管理、在線獨立工作、在線協作的能力等[3];有些學生正是由于缺乏頑強的意志力,不能順利完成MOOC課程的研習。傳統的面對面授課在學習氛圍的營造和價值觀的塑造等方面是網絡教學無法替代的。為了充分發揮大學傳統教學和 MOOC教學的各自優勢,積極地革新大學教育的教學與管理模式,“網絡開放課程 + 本地大學面對面授課”相結合的混合教學成為當前大學教育研究的熱點[2]。線上線下的混合教學模式是指通過網絡平臺,教師(本?;騇OOC 教師)“線上”提供習題、課件、視頻等教學資源,學生線上自主學習,根據在線數據的反饋,教師可以離線選擇內容,實現在線學習與課堂教學的整合[4]?;旌鲜浇虒W模式強調了學生的中心地位,學習過程化被動為主動;教師成為教學過程的組織和引導者,更注重對學生學習效能的反饋。
程序設計課程是計算機與信息類專業的主干課程,包括C、C++、Java編程等。它通常配備一套完整的實驗課程,要求學生在學習中要有主動性和動手能力。這類課程的教學目標是通過編寫應用程序培養學生分析問題和求解問題的能力,繼而塑造其計算思維和創新思維。
傳統的教學模式主要以教師講授為主,容易陷入“灌輸課堂”的模式,使學生失去學習的興趣;而單純網絡教學的模式對學生的自控能力要求較高,無法根據每一個學生的情況做到因材施教,無法在教學過程中根據學生的反饋調整教學進度與深度。因此,將兩種教學模式相結合,整合優質的線上資源,充分發揮線下課堂的優勢,設計適合程序設計類課程的混合教學模式,使得兩者相互促進、相得益彰,就成為目前計算機教育研究的熱門問題。
借助收集網絡平臺的各種數據,教師能夠輕松把控課前、課中、課后各階段學生學習的進度和深度;學生可以通過在線網絡課堂進行自學、查看網上作業的反饋以及參與討論等,學生網上作業的評價結果和討論區的參與熱度將作為最終課程結果的一部分。通過實施這種混合式教學形式,教師可以更輕松地教學,學生更快樂地學習,使得教與學化繁為簡,從“教師核心”逐步向“學生核心”的教學模式轉變。在此教學模式下,凸顯了兩大核心價值導向:一是強調學生自主學習能力的培養;二是注重學生解決實際問題的能力培養。在信息化的時代背景下,信息的獲取變得容易,而把相關信息搜集起來加工提煉進而能夠解決實際問題的能力反而變得難能可貴。
程序設計類課程是介紹設計、編寫和調試程序時涉及的基本方法和技術,往往以某一種高級程序設計語言為例貫穿整個課程?;谒惴ㄅc程序設計的要旨,引入設計和實現一個完整的程序所涉及的基本知識和基本方法,培育學生通過編程最終解決實際問題的能力。
在傳統的程序設計類課程教學模式中,教師的大部分時間都在解釋基本概念、基本語法以及編寫簡單程序,通過布置相應的上機練習來強化學生對理論知識的理解和應用。這種灌輸式的教育模式將學生置于知識被動接受者的位置,學生自身的內在學習動力和創造性沒能被充分地激發。
網絡在線課程與本地大學面授課程相結合的教學模式是指使用優質的MOOC課程教學資源,在大學課堂里展開班級教學。得益于先進的網絡教學平臺,在傳統教學中難以解決的人數多、課時少、學生學習主動性欠缺、師生交流與互動不足、實踐反饋能力薄弱等問題都能夠找到新的解決方案。
程序設計類課程的混合教學模式基本教學流程主要分為課前準備、參與式教學、上機實踐和總結評價4個模塊,如圖1所示。C語言程序設計課程64學時左右,是大學生接觸的第一門計算機編程基礎課程。在C語言的傳統教學中,由于概念和規則繁多,初學者普遍反映學習困難,期末考試不及格率高[5]。結合C語言程序設計中學生普遍感覺最難學的“指針與函數”這一知識點,筆者介紹實施混合教學模式的具體方法。

圖1 混合教學模式流程圖
2.2.1 課前準備
在課前籌備階段,教師需要進行深入研究和分析教學內容,樹立教學的知識目標和能力目標,抓住教學重點與難點,劃分課下自學部分和課堂講授部分,以便引導學生進行自主學習。編制項目化教學任務和詳細的學習要求,提供教學微視頻、預習課件、課前測試等資源形成課前自主學習包,通過QQ群推送給學生,以便學生進行課前自學。
學生拿到課前自主學習包后,按照學習要求觀看視頻、課件等學習資料,制定學習目標,完成課前測試。通過課前測試,可以很好地讓學生自己評估預習效果,找到學習的難點或障礙,以便提高后續課堂教學的效率。教師可借由收集課前測試結果,根據學生的趣味與實力,繼而適時地更新講課內容的深度與進度。
在這個階段,把“教師講授”變成“學生學習”最重要的一步就是設定學習目標。學習目標必須是具體明確的陳述,包含學習對象、學習內容、何種情況及掌握程度等組成部分。學生只有樹立了明確的學習目標,才能擁有積極的學習狀態。
以C語言課程為例,教師制定本次教學的學習目標為掌握指針作為函數參數的特點及其與主調函數之間的值傳遞關系。教師提供北京理工大學李鳳霞教授的“C 語言程序設計”MOOC網址,選擇特定章節要求學生觀看;提供考查關于指針的基本概念的預習測試題目供學生自測,幫助其回顧“指針”這一知識點。
實驗課的課前準備要求教師編寫好實驗指導書,制訂實驗內容,提出實驗要求,如有特殊的操作要求,可給出詳細的實驗步驟,必要時可錄制微視頻加以講解或說明。實驗題目可在實驗課前發布給學生,這樣學生可以提前準備,提高實驗課的效率。
2.2.2 參與式教學
根據上一階段學生的測試與交流討論,課堂教學活動可有針對性地對共性問題進行講解。在互動環節應用兩種互動模式,一種是教師與學生之間的互動,另一種是學生之間的討論。應用任務驅動教學法,由教師安排學生進行分組討論、匯報,以深化和完善教學內容。任務驅動教學法是一種基于建構主義學習理論的教學法,將再現式教學轉變為探究式學習,它是一種以解決問題、完成任務為目標的多維互動式的教學理念,強調學生在任務解決過程中的積極性與主動性[6]。
任務驅動教學法的關鍵是設計一個好的任務,需要把握以下幾點:第一,生動有趣(encourage),例如,結合生活實際或專業相關的問題,激起學生的思考和求知欲,可以取得顯著的效果;第二,可回答但沒有限制性的答案(limitless),給學生留有思考和創新的空間,實現任務的開放與延伸;第三,難度適中(moderate dif fi culty),要結合學生實際的知識水平和能力狀況,任務既不能過于簡單,以至于沒有任何挑戰性;又不能難度過大,使得學生無法獲得成就感。
C語言課堂教學中,根據學生預習測試題目的反饋情況,先有選擇地回顧一下關于“指針”的概念。通過“在自定義函數中交換兩個值的大小”這一具體案例引入本次課程的內容。通過分析這一案例,引導學生理解無論自定義函數中形式參數如何改變,其值都無法傳遞給實際參數。因此,我們需要引入指針變量作為函數參數來解決這個問題。通過這個案例把指針變量做函數參數的語法形式講解清楚后,拋出一個實際任務讓學生分小組討論完成,從而驅動學生主動參與到學習活動并把剛剛學到的知識應用起來。例如,編寫一個自定義函數實現同時計算得到兩個數的最大公約數和最小公倍數,并總結如何使用指針變量做函數參數去改變主調函數中變量的值。小組討論的結果以口頭報告的形式呈現,通過小組間打分獲得評價。評價時可提供表1所示的評量表,使得小組評價盡量客觀,便于回饋。大班教學中應用“翻轉課堂”往往會受到人數、場地等的限制,小組匯報時可隨機抽取2~3組進行。
2.2.3 上機實踐
在程序設計課程中,為了提高編程能力,熟練掌握調試技術,計算機實踐是整個教學過程中最重要的環節[7]。實驗可根據目標層次不同劃分為基礎知識實驗、應用實驗和拓展實驗。學生在上機時根據自己設定的目標有選擇地完成對應層次的實驗題目。教師在指導實驗時既要注重培養學生獨立解決問題的能力,又要幫助他們建立解決困難的信心?;A實驗和應用實驗要求學生獨立完成,拓展實驗則允許學生小組討論完成。

表1 小組打分評量表
課堂教學和上機實踐兩個教學環節完成后,再布置課后測試練習,以了解學生的學習成效以及是否達成學習目標。
C語言程序設計的實驗評判系統采用ACM和拼題A(pintia.cn)的在線測評系統,方便學生及時獲得反饋結果和教師統計實驗完成情況。通常,課前預習測試和課后作業也在拼題A網站上布置,如圖2所示。實驗題目在ACM在線測評系統上布置的情況如圖3所示。

圖2 拼題A網站布置作業情況

圖3 ACM在線測評系統布置實驗情況
2.2.4 評價總結
教學活動的最后一個環節是評價總結。這一環節至關重要,也通常是教師和學生最容易缺失的部分。通過評價總結得到的分析與思考又指導著下一輪教學活動的展開,它使得整個教學活動成為一個完整的閉環。在整個教學活動中,“教”與“學”能力的提升,取決于這一環節的質量。
教師可根據學生的課前自測成績、課堂教學中的表現、實驗的完成情況、課后測試練習等,對學生這一階段的學習做出綜合評價。評價的目的有3個:一是將學生的學習活動評分等級作為平時成績的依據;二是收集學生的學習數據,作為保證質量機制,給教師提供反饋,幫助提升教學質量;三是激起學生學習的主動性,通過反饋幫助其查漏補缺,提高學習質量。對于以小組形式完成的翻轉課堂任務、拓展實驗等,可設置組內、組間學生互評,促進學生互相學習交流。
在評價時可使用詳細客觀的以學習表現為基準反映學習成效的評量指標,收集教學過程中的各種數據,包括課堂表現、測驗結果、實驗情況等,避免主觀的成見或既定印象,同時能夠節省教師在評估和提供反饋所需的時間。評價主要分為3類:一是診斷性評價,用來衡量學生的預習成果,以便有針對性地展開教學;二是形成性評價,用來為學習過程提供反饋,決定學習進展;三是總結性評價,主要用于決定學生在本門課程上的目標達成度。這3類評價的詳細的評價對象、依據和目標詳見表2。
在程序設計類課程中應用線上線下混合式教學,使得學生可不受學習時間與空間的限制,更容易使用“碎片化”時間;通過線上輔導與面對面的小范圍交流互動,加強了師生之間、學生之間的情感,提升了學習效果;將教學資源以更加合理的順序有計劃地進行組織,學生可按計劃循序漸進地學習;整個學習過程凸顯了學生的主體地位,強調和培養了學生自主學習能力。對整個教學活動的評價更加科學,對學生學習的評價不再主要依據最后的期末考試,而是伴隨整個課程分階段進行,加強了對學生學習過程的管理。評價的形式也多樣化了,由線上、線下綜合構成,除了教師評價,還有學生互評。期待本研究構建的混合教學模式可以為程序設計類課程的教學開辟新的思路,進一步為高校其他課程的教學改革提供參考。

表2 量化評價方法