谷長龍,羅 娟,李小英
(湖南大學信息科學與工程學院,湖南長沙 410012)
以C 語言程序設計為基礎開設的計算機基礎課程是電氣類、機械類和土木類等工科專業學生必修的一門公共課程,這些專業的后續學習對計算機技能要求較高,例如數據分析與處理、模型求解、參數優化等問題的編程實現等。計算機基礎課程旨在培養學生的計算思維、問題轉換與知識遷移能力,為后續學習打下堅實的基礎。然而,該課程實際教學過程中存在學生積極性不高、被動學習、編程能力訓練不足、缺乏團隊合作訓練等多種問題。本文探索了混合式教學模式,實踐“慕課+微課+翻轉課堂”的教學改革,利用優質慕課資源和自制的微課進行翻轉課堂教學,以任務為驅動,幫助學生內化知識以提升實際編程能力,提高了課程實效。
傳統的面對面課堂教學模式中,教師多從頭講到尾,按照預先設置好的教學內容以及進程,甚至是教學方法傳授知識,學生以聽課為主,結合課后作業和測試對所學知識進行消化吸收,從而完成教學大綱,是先教后學的模式[1]。傳統的教學模式有其固有優勢,如知識傳達的有效性和高效性、課程評估的統一性等。然而,對于程序設計教學而言,傳統模式有一定的局限性:
(1)不利于發揮學生的主觀能動性。由于教學內容多、課時少,需要花費大量時間講解知識的來龍去脈,課堂經常變成老師的舞臺。即使可以設計好的互動環節,也會因為學生無法跟上進度以及時間限制而草草收場。學生很難較好地參與到課堂中,會逐步感覺到乏味,無法提高其主觀能動性,久而久之,就會對課程失去興趣[2]。對于程序設計課程來說,編程實踐非常重要。傳統教學模式中,除了上機課,學生的編程實踐多是在課外,很少有時間與老師見面。編程中遇到的很多問題是課堂上老師沒有講到的,只有在實踐動手時才有可能碰到。如果老師不在身邊,很多問題無法解決,長此以往造成問題堆積,學生將會喪失學習積極性。
(2)很難達成學生個性化培養的要求。傳統教學是一種流水線模式,學生根據教師制定的明確的教學內容和教學目標,按照固定的時間和地點進行學習,無法滿足不同學生的需求。此外,由于地域差距,學生層次千差萬別,理解能力和思維方式各不相同,教師只能照顧中間層次及以上的學生,無法滿足各類學生的需求[3],課程知識內化程度差異隨著學生個性、學習能力和投入時間的不同而越來越明顯。
(3)學生動手編程能力訓練不足。由于每次課程學習缺乏目的性,缺少督促,學生在課堂之外的編程練習缺乏指導,碰到困難耽擱時間長,加之作業完成時間緊,下次課程又是新的內容,使得一些學生動手編程訓練不足,作業易流于形式,抄襲情況屢禁不止。隨著課程學習內容的增加以及學習難度的加深,這種情況越來越嚴重。
(4)不利于學生團隊合作精神的培養。傳統模式主要將焦點集中在教師身上,容易陷入填鴨式教學模式,師生課堂交流少,學生課后忙于完成繁重的作業,交流幾乎僅限于作業題目,很少有關于問題解決方案的探討。學生之間交流少,體驗不到團隊合作的重要性,更無法領會團隊如何對相應問題進行分工協作[4]。
隨著信息技術的發展,當前的學習模式已經從單純的面授轉變為線上、線下的混合式教學。所謂混合式學習就是將面授學習與網絡學習相結合,將真實的教室環境與虛擬的網絡環境相結合,是自主學習、協作學習、發現學習的混合,是師生之間線下與線上交流的混合[5-6]。
2013 年,教育部批準清華大學成立教育部在線教育研究中心,旨在依托學堂在線慕課(MOOC)平臺,充分發揮行政體制和市場機制的力量,探索一種“一體兩翼”的在線教育模式。慕課具有傳統教學模式不具備的優勢[7]:①慕課是一流大學的名師課程;②學習不受時間、地點的約束;③慕課可以通過回看重復學習;④慕課學習不需要資歷,不需要入學考試,只要有學習需求的人都可以訪問開放的課程[8]。然而,單純依靠學生利用慕課資源進行自學不太現實,主要問題包括:①學習者會產生注意力障礙和淺層學習現象;②碎片化信息堆積不易形成新知識;③學習者不知道知識間的內在聯系;④能力培養缺少適合的土壤,學習者缺少將所學知識進行過濾、歸納、反饋和創新等深度思考過程;⑤在大量學習資源中容易迷茫;⑥課程的深度與廣度不適用于學生后續專業課程需求。
微課是一種以微視頻為主要載體,針對某個知識點或教學環節設計開發的數字化學習資源[9]。微課具有短、小、精、趣等特點,適合隨時隨地學習。
翻轉課堂是在信息化環境中,教師提供以教學視頻為主要形式的學習資源,學生在上課前完成對教學視頻等學習資源的觀看學習,師生在課堂上一起完成作業答疑、協作探究、互動交流的一種新型教學模式[10]。其主要優點包括:①基于任務和問題組織教學,便于學生知識遷移、知識內化能力的培養;②可共享其他高校優秀的課程資源;③便于實現個性化和差異化教學;④教師與學生之間、學生們之間互動性增強;⑤學生變被動學習為主動學習,有利于主觀能動性的發揮[11]。
基于“慕課或微課+翻轉課堂”的混合教學模式已經得到大量關注,并且廣泛應用于各類課程的教學改革中。在大學計算機基礎課程中運用“慕課或微課+翻轉課堂”的混合教學模式正在蓬勃興起,并取得了很好的效果。金燕[12]研究了計算機應用基礎課程基于微課學習框架的翻轉課堂教學模式;楊蘭娟等[13]在程序設計基礎課程中應用“翻轉課堂”模式改進教學;羅麗蘋等[14]引入“MOOC+SPOC+翻轉課堂”混合教學理念,在大學計算機基礎課程教學中進行大規模試點,取得了較好效果;趙宏等[16]在大學計算機基礎課程中采用MOOC/SPOC 混合式課堂教學,通過實驗班和對照班的相關數據比較,發現混合式教學能很好地訓練和提高學生自主獲取知識的能力。
針對湖南大學程序設計基礎課程中存在的問題,結合學生的實際特點,本文主要從制定混合教學模式和調整課程考核方式兩個方面進行改革,輔以構建學習社區幫助解疑答惑,開放課程練習網上平臺,不限時間、地點和次數練習,以及建設習題庫等工作。
本文制定了選用優質慕課,建設針對具體問題的微課,抓好翻轉課堂學習的混合教學模式。在眾多C 語言程序設計課程資源中,選擇了浙江大學翁愷老師的慕課;另針對課程知識點和教學環節制作了微課資源,包括26 個習題講解微課、6 個重點難度微課、8 個實踐指導微課以及34個課程回顧微課,每個微課視頻時長5~15min 不等;采用任務驅動,抓好翻轉課堂。課程教學的具體流程如圖1 所示。
混合教學模式要求學生在開課之前劃分好學習小組,每組4~6 人。在課前給定學生學習任務,要求學生在線上進行知識點對應的慕課或微課學習,完成預習測試題,并以小組為單位進行問題收集。為解決學生的基礎差異,布置不同層次的任務內容,鼓勵基礎好的學生觀看知識深化或拓展方面的慕課,為基礎薄弱的學生增設計算機基礎知識慕課。
課堂教學環節要求學生自帶筆記本電腦等設備,教師發布討論主題及相關練習內容,并對討論提出具體要求,學生按分組進行討論或編程練習。組間討論或練習時,教師在課堂內巡視,針對共性問題進行講解,或針對某個同學單獨指導。為發揮育人作用,還應在任務中融入思政元素。學生成為課堂主體,在討論及上機練習過程中理解知識,在學習過程中遇到的問題可以在課堂上與教師或小組的互動中得到解決。學生們在課堂上邊討論邊練習,能增強其動手能力,避免長時間思考某個問題而影響后續學習,保證課后鞏固練習時間充裕。完成討論或練習后,教師進行總結,分析優點和不足,給出自己的觀點供學生參考,并對問題進行擴展,給學生足夠的思考空間,使其有繼續深入學習的沖動。學生通過老師的講解,梳理解決問題的思路,使知識內化,通過對延伸問題的思索產生強烈的深入了解的熱情。

Fig.1 Flow of mixed teaching mode圖1 混合教學模式流程
在課后環節,教師還要收集學情反饋,以便及時調整教學計劃。學生通過成績反饋明確對知識的掌握程度,通過參考答案彌補不足,提高學習質量,為下階段學習做好準備。
以下采用課堂實例展示混合教學模式,討論主題是排序算法。對于非計算機專業的學生來說,排序算法一直都是重點和難點。老師在課前布置了慕課視頻學習,并且專門制作了冒泡排序算法原理及C 語言實現的微課。通過課前作業完成情況可知,約有一半的學生可以完成“從鍵盤輸入10 個浮點數存入數組,調用自定義函數完成對數組元素排升序”的基本排序問題。在此基礎上進行翻轉課堂教學,地點在我校智慧教室,有5 個獨立的投影屏幕供學生使用,學生可以方便地上傳自己的代碼到投影屏幕,適合開展討論教學。課堂教學班每班30 人,6 人一組,每個討論組共享一個投影屏幕。
(1)教師點評課前作業,講解冒泡排序算法以及實現過程,學生當場實現,教師現場指導,除了個別同學外,基本都可以完成,耗時20min。這個環節的主要目的是鞏固教學的基本要求,學生學會一種基本排序算法,則目的達成。
(2)教師講解選擇排序算法原理,學生分組討論,畫出流程圖,并根據流程圖進行代碼實現,教師參與各小組互動交流,6 個小組有1 個沒有完全實現,排序結果有錯誤,其他小組完成良好,耗時20min。
(3)教師點評,分享事先準備好的流程圖及實現代碼,供學生參考比較。
(4)教師引入time 庫,講解C 語言程序運行時間測試方法;講解隨機數,用隨機數生成方法取代鍵盤輸入生成數組測試數據。學生分組討論,分別測試冒泡排序、選擇排序算法對1 000、10 000、100 000 個數字進行排序需要多少時間,此階段耗時20min。
(5)教師點評,對問題進行擴展,例如如何判定程序運行效率,引入時間復雜度分析,是否有更高效的排序算法處理數據量很大的情況,并講解快速排序算法的思想及實現流程,耗時25min。
課堂教學結束后基本教學要求已經達成,教師發布快速排序算法原理微課及原理圖,布置課后習題要求學生實現快速排序算法,總結本次課程的成功與不足之處,發布各部分考核成績。
在混合式教學中,學生是主體,教師更多的是分析問題和推動教學進展。學生主動參與到教學的每個環節中,而不是被動接受知識,易于發揮主觀能動性。此外,由于學生課前已經掌握基本知識,有利于教師推動教學的深度和廣度,開拓學生視野,提高其分析和解決問題的能力。
課程考核是教學活動中至關重要的一環,通過評估和分析教學效果,有助于指導下一輪教學的開展,使教學活動成為完整的閉環。為保證混合式教學工作順序進行,從多維度衡量學生的學習效果,本文調整了課程考核方式:首先增加課程的階段性考核,將課前和課堂學習環節計入考核范圍,然后調整各項成績占比。
課程的階段性考核是老師了解學生掌握知識程度的主要手段,而且通過反饋可以激發學生的主觀能動性,幫助、提醒學生填補空白,提高學習質量。課堂學習中群組討論(含群組練習)是培養學生團體協作能力的重要環節,但是群組討論成績考核要避免“吃大鍋飯”,需分清主次貢獻。課程作業均為C 語言程序,教學任務也是讓學生掌握程序設計的基本方法,因此課前、課后作業均采用自動評閱系統,避免給教師帶來批閱作業的壓力,也可公正客觀地考核學生的學習效果。群組討論考核由學生和助教完成,分為討論參與度和實現代碼兩部分,各占50%。統一發布考核標準,每次討論課結束后由學生互評討論參與度分數,助教完成學生的實現代碼評分。群組討論考核標準如表1 所示。

Table 1 Assessment criteria for group discussion表1 群組討論考核標準
三項成績按比例共同組成平時成績,其中課前和課后作業各占30%,群組討論成績占40%。最終課程考核成績中,平時成績占40%,期中考試成績占20%,期末考試成績占40%。
本項教學改革實驗在湖南大學土木2019 級9 班和10班學生中進行,期末考試為全校非計算機專業程序設計課程統一考試,從同一個題庫中抽取同樣難度的考題,考試形式為上機操作,由機器判分。對10 班學生和同年級同專業的2 班學生的期末考試成績進行對比分析,得到各分數段學生占比及平均成績,如圖2 所示。
土木10 班共29 人,期末考試平均分為73.35 分;土木2班共31 人,平均分為59.00 分。土木10 班90 分以上6 人,占班級總人數的20.69%;土木2 班90 分以上3 人,占9.68%。土木10 班不及格6 人,占20.69%;土木2 班不及格16 人,占51.61%。同時對實驗班級的學生進行了滿意度調查,包括課程挑戰度、教師教學技能、師生互動和教學效果4 項指標。結果表明,各項評價(數據統計來源于本校信息化平臺的評教系統)優秀占比均超過95%,教學改革獲得了學生的認可。

Fig.2 Proportion of final grades of class 10 and class 2圖2 10 班和2 班期末成績各段占比
在“互聯網+教育”的時代背景下,豐富的網絡課程為教學改革提供了良好的資源,學生的學習方式和需求已經與網絡資源息息相關。傳統的教學模式中學生被動學習,很難滿足個性化、差異化的群體需求,師生間交流較少,學生編程能力訓練不足,缺乏團隊合作。針對目前傳統教學模式的缺陷,本文進行了混合式教學改革,通過任務驅動的“慕課+微課+翻轉課堂”的教學模式提高學生的參與度,并通過調整考核方式,從多維度評價學習效果,著重培養學生通過程序解決問題的能力,以及計算思維能力和團隊協作能力。通過課程期末成績對比和學生滿意度調查,絕大部分學生可以達到課程大綱要求,符合教學改革預期。然而,在教改實踐中仍存在翻轉課堂如何保證課堂討論或練習進度、學生設備管理等問題,有待進一步探討。