何迎生,王從銀
(吉首大學 信息科學與工程學院,湖南 吉首 416000)
C 語言程序設計是信息類專業的第一門專業基礎課程,同時也是面向全校理工科類專業大一新生開設的公共課程,在培養學生計算思維能力、實踐動手能力以及算法啟發等方面具有重要意義。在多年的教學實踐中,通過不斷的研究和探索,先后嘗試過案例式教學法[1]、慕課教學法[2]等教學方法,取得了不錯的效果,歷年的學科競賽成績是有力的佐證,但能參與學科競賽的學生畢竟是少數,不具備普遍的代表性,而且從考試結果、課程設計等實際情況來看,學生的整體水平還不夠,反映出教學中還存在不少問題,主要表現為以下幾方面。
(1)案例式教學法在知識的傳授上缺乏系統性和連貫性,案例的設計質量對教學質量的影響巨大。案例的規模難于把控,規模過大涵蓋的知識點過多,難以在有限課堂時間內完成,不利于學生對知識點的整體理解和掌握,規模過小又導致知識點過于分散,使案例變成了對單個知識點講解的例題,失去了綜合案例教學的意義。
(2)采用慕課教學而沒用翻轉課堂[3],慕課價值沒有得到充分體現。雖然采用慕課能夠使學生利用碎片化時間進行自主學習,但由于互動較少,教師不容易掌握學生的學習情況和學習效果,所有的知識點無論學生是否在自主學習中已經掌握,都必須在課堂教學中講授一遍,對那些已經通過自主學習掌握知識點的學生來說,重復講授就完全沒有意義了,浪費課堂時間,同時也容易影響學生的學習興趣。
(3)學生只會應對考試,不具備綜合應用所學知識解決實際問題的能力。由于C 語言課程知識點多且零散,同時教學學時較少,而且面向的又是沒有任何專業基礎的大一新生,為了確保學生能正常跟上課程節奏并掌握課程知識,課堂教學往往只能以講授語法知識和簡單應用為主,對C 語言的高級應用和解決實際復雜應用問題的訓練幾乎沒有時間涉及,從而導致學生只會應對考試,缺乏靈活應用的能力,難以達成課程的教學目標。
C 語言程序設計是計算機、通信、電子等專業的重要專業基礎課程,對學生計算思維能力培養和工程應用開發具有長遠影響。對絕大多數第一次接觸程序設計類課程的大一新生而言,課程具有較大難度。因此,為了激發學生學習熱情,提高教學質量,促進計算思維的形成,引入線上線下相結合,主動學習和問題導向的教學理念,開展基于慕課的C 語言程序設計翻轉課堂教學改革十分必要。為實施好教學改革,確定教學目標如下:①充分發揮慕課教學資源的作用,把課堂教學與慕課相結合;②利用碎片化時間完成基礎知識的自主學習,提高學習效率;③靈活利用課堂教學時間,引導學生加深對重點難點知識的理解與應用;④以案例為導向,提高課堂教學效果。
課程采用按知識點難度分級的梯度教學法[4],教學內容不是簡單的按章節劃分,而是按難度劃分,所有知識點按難度劃分為“易,中,難”3個等級,相應地把教學進程劃分為3 個階段,第1 階段只講授所有標記為“易”的知識點而不涉及另外兩部分內容,第2 階段講授難度為“中”的部分,最后講授難度為“難”的部分。
基本過程是首先通過課前任務單引導學生利用慕課資源完成自主學習,然后根據課前學習情況反饋來確定課堂教學目標和教學內容,并結合慕課內容設計課堂教學案例,盡量使課堂教學內容與慕課內容保持相關性與連續性;接著根據知識點和教學用例的特點,采用提問、討論、演示、體驗等方式來展開翻轉課堂教學過程;最后借助在線判題系統利用課后編程題來鞏固和檢驗學生對知識點的掌握程度和訓練應用能力。
1)知識樹構建。
C 語言程序設計這門課程包含的知識點較多,知識點的難易程度跨度較大,入門容易精通難,特別是應用它來解決實際問題更難。在教學中,無論對于教師或學生而言,隨著教學進程的推進,容易偏離“培養程序設計的思維,把C 語言作為解決問題的工具”這一核心教學目標,反而把重心偏離到C 語言的語法基礎知識講解和驗證上去了。為此,應首先把課程包含的所有知識點劃分出來,組成一棵包含83 個知識點的完整知識樹,然后根據歷屆學生對知識點的理解程度為每個知識點標記上“易、中、難”三個等級中的一個,最后得到標記為“易”的知識點43 個,標記為“中”的知識點26 個,標記為難的知識點14 個,為后續按梯度展開教學做好準備。
2)任務單設計。
任務單的作用主要是引導學生課前利用豐富的慕課、在線自測系統、在線課堂等數字資源完成自主學習,并在規定的時間內反饋個人的學習情況。任課教師綜合學生的反饋信息,從中發現問題并進行合理的設計,從而有針對性地組織課堂教學內容和教學方法,提高課堂教學效果。因此,任務單中主要包括當前的學習任務、數字資源鏈接、個人完成情況、問題反饋等4 個部分。
3)課前自測題設計。
課前自測的主要目標是檢測學生對結構化程序設計方法、C 語言基本語法規則、運行環境、編譯與調試等基礎知識的掌握情況,不涉及復雜程序的設計和實現。因此,課前自測以判斷、選擇、填空等客觀題型為主,利用超星泛雅平臺提供的課程作業功能,實現自動判題和數據統計,在沒有顯著加大教師工作量的情況下迅速掌握第一手資料。通過課前自測,任課教師可以較真實地掌握學生對課前任務單所下達的任務要求實際掌握情況,有利于教師有針對性地組織課堂教學。
4)教學案例設計。
良好的案例設計有利于開展問題導向的學習過程,在案例中可以涵蓋多個課程知識點,把抽象的知識融入到具體的案例中可以增強課堂趣味性,促使學生主動思考。學生圍繞問題展開小組討論,在自主探究中發現并解決問題,教師作為課堂的組織者和參與者,在學生遇到問題時參與師生互動,引導學生向正確的方向思考即可。為了保持案例的一致性、系統性和連貫性,在整個教學過程中可以圍繞同一個問題設計案例,由簡入深,逐漸推進,到課程結束時成為一個完整的項目案例,最終涵蓋課程的所有知識點。
5)課堂教學過程設計。
單一的課堂教學模式并不一定適合應對所有的情況。例如課程剛開始時,由于學生剛從中學進入大學,還沒辦法快速擺脫高中階段那種傳統的教學模式和學習方法,如果一開始就完全采用學生小組討論、相互提問、互助答疑,教師引導、解答、點評、構建知識體系這種完全以學生為主體的全新課堂教學組織方式,部分學生是難以適應的,因此為了讓學生實現良好的過渡,盡快適應大學的課堂教學模式,我們可以隨著教學進程的推進,由傳統的以教師講授為主的課堂教學組織方式逐漸過渡到以學生為主體的翻轉課堂教學組織方式,確保課堂教學效果。
因此課堂教學過程可以包含知識點講解、案例講解、教師提問、課堂練習、小組討論、互助答疑、教師答疑、學生點評等多種環節與形式。通過合理的組合,努力營造一個師生“對話式”的教學場景,活躍課堂氛圍,激發學生的主動參與意識。
6)課后自主練習設計。
課后練習是鞏固課堂教學成果,培養學生應用所學知識和技能解決問題能力的必要手段。與課前自測不同,課后練習不再以檢測學生對語法知識的掌握程度為出發點,此時更重要的是引導學生利用所學的知識去解決實際問題,在應用中去加深對知識點的理解,所以主要以編程題為主。毫無疑問,學生的學習能力是存在個體差異的,有的學生能很快很輕松地理解并靈活應用各個知識點,而有的學生卻學得較艱難。為了應對這一問題,在設計課后自主練習時,以教學周為單位,每周發布3 套練習題,其中必做基礎題1 套,必做拓展應用題1 套,選做提高題1 套,學生可以根據自身實際在規定的時間內有選擇性地完成。為了減輕任課教師的工作量,即時準確地掌握每個學生的實際完成情況,便于教師發現問題,所有的課后自主練習題都發布在PTA 實驗輔助教學平臺上,利用該平臺提供的豐富資源和優質服務,幫助任課教師實現高效、客觀、便捷的課后自主練習發布與管理。
基于翻轉課堂教學的相關理論和實踐,結合教師、學生的實際情況和C 語言程序設計課程的特點,設計了如圖1 所示的基于慕課的翻轉課堂教學實施流程。
C 語言程序設計課程翻轉課堂教學實施流程基于預先準備好的慕課資源和訓練題庫,采用“兩段”式教學,即課堂活動和課后活動兩個階段。課堂活動包括課前檢驗、授課和課后檢驗。課前檢驗的方式包括提問、課堂測驗等。課前檢驗的目的是確認學生通過自主學習對知識的掌握情況,并據此對授課的內容和方式進行調整。根據授課內容的不同,授課方式可以是小組討論、案例講解、學生作業錯誤解析、課堂訓練等,其目的是幫助學生深入理解課程知識、解決學習訓練中遇到的疑難問題、進行知識應用能力訓練等。課后檢驗的方式也可以是課堂提問、課堂測驗等,其目的是檢查課堂教學效果。課后活動由老師在課后完成,包括課后總結、課后自主學習安排和備課等。課后總結一般在課堂結束后立即進行,主要總結課堂教學實施細節、課堂教學效果以及存在的不足。課后自主學習安排一般在授課當天完成,主要是發布下次課之前的自主學習內容、學習指導和自主訓練題目。備課通常在自主訓練截止時間之后、下次課之前進行,主要任務是根據學生自主訓練中的表現和以往的教學經驗確定下次課堂的教學內容,選取課堂教學需要的案例、提問題目、測驗題目、討論話題等素材[5]。

圖1 基于慕課的翻轉課堂教學實施流程
從2017 年開始小范圍的實施了C 語言程序設計課程教學改革試點,2017 年選擇了2017 計科1 班、2017 計科2 班兩個班作為試點班級,2018 年選擇了2018 計科1 班、2018 計科2 班、2018 大數據3 個班作為試點班級。
期末考試成績是反映學生對知識掌握情況的最直接指標,為了了解基于慕課的翻轉課堂教學模式實施效果,以上述5 個班級和我校信息科學與工程學院同年級各專業未采用新模式的平行班級期末考試成績數據為依據進行對比,驗證教學改革效果。
圖2 列出的是2017—2018 第一學期參與改革試點的計科班與本學院其他沒有參與試點的平行班級成績情況。由圖2 可見,參與教改的計科班成績在平均分和及格率上都比其他采用傳統教學方法的平行班級略高。由圖3 可見,參與教改的計科班和大數據班成績在平均分和及格率上與其他非試點班級相比優勢明顯。

圖2 2017 級試點與非試點班級成績對比

圖3 2018 級試點與非試點班級成績對比
圖4 顯示了同一專業連續3 屆學生期末成績平均分和及格率的情況。2016 級計科班尚未實施教改,2017 級計科班和2018 計科班參與了教改,由圖4 可見,在實施了教改之后,學生的學習成績在逐年提高。

圖4 2016 計科、2017 計科、2018 計科期末成績對比
吉首大學信息科學與工程學院通過對C 語言程序設計課程的教學改革實踐表明,采用基于慕課的翻轉課堂教學方法,提高了學生的學習積極性,改變了以往傳統的被動學習模式,充分利用了學生課外碎片化時間,提高了學習效率,同時也更為有效地培養了學生的創新能力。對比傳統教學模式,采用翻轉課堂后,學生成績有了顯著的提高,取得了預期的效果。為進一步提高教學效果,努力做到因材施教,下一步應充分利用網絡資源,做好課前預習情況和課后自主練習結果的信息反饋與分析工作,根據反饋信息來明確學生的個體差異,然后按照學生的實際情況合理地安排學習任務,任課教師應借助這些分析結果來組織課堂教學內容,合理地選擇符合學生實際情況的教學方法。