褚 真
(東莞理工學院 網絡與教育技術中心,廣東 東莞 523808)
智慧教育是培養學生依托物聯網、云計算、大數據、移動通信、人工智能等新一代信息技術營造的智慧學習環境,在學習活動過程中表現出來的一種認識自我、發現自我、提升自我的綜合能力,旨在幫助學習者實現從“知識人”到“智慧人”的飛躍[1].智慧教育的技術特點是智能化、網絡化、數字化和多媒體化等.為更好地實現教育信息化跨越式發展,為國家培養更多的創新人才,2018 年教育部發布了《教育信息化2.0 行動計劃》,對學校加快教育信息化的發展做出部署,明確提出智慧教育創新發展行動等具體任務,鼓勵各級學校轉變人才培養模式,加強智慧教育的理論研究;深入開展智能教育,將人工智能引入學校教育教學、管理等方面,推進以學習者為中心的智慧教育環境建設;努力探索創新經驗,利用人工智能技術加快推動教育教學和人才培養模式的改革,為智慧教育背景下的教育教學積累創新經驗[2].
智慧教育時代對教師的教學能力、學生的自主學習能力以及教學環境的創建提出了更高的要求.各級學校以智慧教室、互聯網+、物聯網和大數據為依托,利用基于智能技術的教學管理平臺,廣泛探索智慧教學新方法、新模式.智慧教育背景下教育理念的創新與模式的推廣,整合學校優質的教學資源、打造優質的智慧教學環境,推進常態化的線上和線下的教學服務與管理.通過現代信息技術對課前、課中和課后的教學全流程管理,實現師生良好的交流互動與教學數據的閉環.以智慧教育為背景,順應教育信息化發展趨勢,根據計算機專業課程教學的特點,提出了一種線上和線下教學實踐相合的混合教學模式,為智慧教育時代深入開展課程教學改革、加快培養專業型人才提出了具體思路.
傳統的課堂教學是以學校課堂為主要教學場所,教師是課程教學的主體,教學過程主要是教師向學生傳授教學內容.隨著信息技術的發展,網絡技術與傳統教育教學的深度融合,網絡教學平臺、大數據、物聯網和智慧教室等為當今網絡環境下的教學提供了技術基礎與教學場所,由此出現了混合式教學模式.該模式沒有明確的定義,從教師的角度來看,可以理解為教師為了完成教學目標,選擇和運用媒體、教材、信息化設備和平臺等進行新型課堂教學的模式,即這種混合式課堂教學模式可以是任何類型的信息技術手段和由教師領導的面對面教學之間的混合[3].
在智慧教育背景下,混合式教學模式要充分發揮線上和線下兩種形式各自的教學優勢,充分利用各種教學資源,探索新的教學手段和方法[4].課前先引導學生利用線上的教學資源開展基礎知識的預習;課中通過線上+線下混合式的課堂教學深入開展理論知識的學習與實踐,滿足智慧教育對個性化人才培養的需求;課后進行針對性的鞏固、檢測與評議反饋,循序漸進地把學生的學習引向深度學習.
筆者嘗試對“C 語言程序設計”課程進行混合式教學改革的探索,將傳統的線下教學與互聯網教學結合起來,為構建互相融通的學習新生態,推動學科教育質量的提高作出有益的實踐.
“C 語言程序設計”這門課程的教學內容很多,知識從淺到深,既有很多程序設計的理論知識,還要求學生掌握設計、開發程序的能力.整個教學周期長,任課教師很難在短時間內完成整個教學任務.但“C 語言程序設計”作為計算機相關專業的專業基礎課程,對學生專業理論水平基礎與技術水平的提高非常重要,院系都非常重視這門課程教學的開展.目前,其教學存在的問題主要有幾個方面.
傳統高校的課堂互動模式多數是運用刻板的教師講授式,通過單一的媒介向學生灌輸知識[5].受教學環境所限,在實際的教學過程中主要由教師一邊播放PPT,一邊講述理論知識,并輔以案例通過C++程序進行編寫講解演示.教師是教學的主體,整個教學過程是單向的灌輸模式,學生除了聽講,只能對著課本做筆記、劃重點,與教師在問題分析與程序編寫上缺乏互動.這種單一的學習模式,使學生始終處于被動學習的狀態,不能更好地了解和掌握知識的重點難點,也不利于學生學習興趣與獨立分析問題能力的培養,提升課堂教學質量.
“C 語言程序設計”課程擁有許多知識點,但是教師僅將教學重心放在講解程序語法與分析知識點,在項目中的具體應用卻沒有相應的案例,給予學生實操機會較少[6].常常是教師先講解一遍理論知識,輔以程序設計編輯的演示,但是學生沒有條件同步進行實踐操作,未能加深對知識點的理解與運用,只能先在教材上做筆記、記錄重點難點.課后,再利用課余時間還原教師在課堂上的講解和操作.這樣的教學模式,不利于學生實踐能力的培養,不能達到提高學生獨立分析問題與編寫程序的培養目標.
受學生的成長環境及求學過程的影響,有些學生在中小學階段就已經接觸了程序設計語言,在高中階段已經可以設計和編寫簡單的程序.而有的學生卻是在進入大學才開始學習程序設計.計算機基礎的差異,使得學生在程序設計的學習過程中體驗差距巨大.已經學習過程序設計語言的學生,會覺得自己已經學過,很多知識已經掌握了,不必再花過多精力去聽課、做練習,從而放松了對自己的要求,沒有再進一步地學習更有挑戰性的知識.而有一些計算機基礎較弱的學生在經過努力學習后,掌握了牢固的基礎知識,實踐能力也有了明顯的進步,從而促進了他們進一步學習和實踐的積極性.但也有部分計算機基礎較弱的學生感到學習程序設計語言很吃力,遇到難以理解的知識容易放棄,實踐能力沒有明顯的提高,出現了“掉隊”的現象.如果僅僅是運用慣例的討論、考試、作業等方法去教學,對學生的考察不夠詳盡,不利于把握學生的學習情況,不能達到個性化發展的要求[7].
部分學生對學習過程不夠重視,專注力不夠.教師在講授程序設計時,因為有大量的理論性知識都需要使用PPT 進行講解,學生只能做筆記、在教材上劃重點,師生之間的知識缺乏交流互動,課堂上學生常出現玩游戲、聊天、睡覺等情況.課后他們也不會主動復習課堂知識的難點重點,時間久了就不能跟上教學進度.
這是傳統教學不佳的最主要問題,占比高達70%,因為任何復雜的工程代碼都是由一行行代碼和算法組成,所以“C 語言程序設計”課程不僅安排有課堂教學,也會制定一定課時的上機實驗.但是在實際的上機實驗課上,存在幾個問題.
(1)因為在課堂教學中,學生只是觀看了老師的講解和演示,無法精準地還原程序設計的過程,導致與教師教授的程序編寫方法不同,出現調試出錯的問題.若教師不能及時解答并指導,可能導致學生無法按時完成實驗任務.
(2)部分基礎較差的同學,不能理解上機實驗的教學任務,盡管教師努力引導,但效果不佳,這部分學生只能等待教師直接給結果,自己再慢慢理解.
(3)部分同學在上機時打游戲、看視頻、聊天,教師安排的實驗任務不能獨立或者按時完成,甚至抄襲其他同學的程序.
受特殊時期的影響,部分學生不能及時返校,理論知識的學習及上機實踐完全由學生在家中自主完成.根據“停課不停學、停課不停教”的要求,需積極找尋課堂教學轉型升級的新思路、新方法.
在傳統的“C 語言程序設計”課程教學過程中,單純依靠教師課堂講解與實驗課開展教學活動,不利于課堂上的師生互動,教師不能及時帶領學生開展程序設計實踐,學生的學習興趣、專注力不高.因此,需要對現有的“C 語言程序設計”課程教學進行改革,引入一種更科學合理的教學模式.
“C 語言程序設計”的混合教學模式,強調以學生為中心,在課堂教學中師生能夠實現線上+線下的交流,整合教學資源,對學生進行多方位的教學輔導.整個教學過程,分為課前準備、課中混合式教學、課后鞏固與提升、線上評價及反饋4 個階段.
考慮到學生計算機基礎水平差異,教師先在線上進行引導學生進行課前預習,可以減輕學生在課堂教學中的學習壓力,培養和提升他們自主學習的積極性. “C 語言程序設計”的教學過程中,教師在課堂教學開始前一天,將課程的教學目標、課程計劃、教學課件、實踐案例等教學資源發布至“優學院”平臺.它可以將線上和線下的教學環節有機地銜接起來,便于學生隨時隨地獲取學習資源、自主有效地進行學習[8].學生可以隨時隨地登錄“優學院”平臺查看,下載教學任務與教學資源,進行自主預習,將預習中遇到的問題,與教師在平臺進行溝通.
(1)教學內容的準備.課前教學內容的準備,主要包括教師在教學平臺上備課,上傳并設置課程的知識點,標注重點難點,師生在線上進行課程內容學習的討論等.以“優學院”為例,教師在備課時將課程的教學目標、課程計劃、教學課件、實踐案例等教學資源上傳至“優學院”平臺,使用“優學院”的聊天程序在班群里發布公告,引導學生在上課前進行預習,培養學生的自主學習積極性.學生登錄“優學院”開展自主預習,并對知識點中的難點和疑問進行標注或留言,也可在班群里與教師和同學進行討論,讓教師及時掌握學生遇到的疑難點,對課堂教學的內容進行再規劃與調整.
(2)課前準備目標.考慮到學生計算機基礎水平差異,教師在線上引導學生進行課前預習,將預習內容標注難度,難度由低到高標注一星到三星.每個學生都能找到適合自己學習的內容進行自主學習,如計算機基礎較弱的同學可以從一星的基礎理論知識開始學習,逐漸提升難度.已經有程序設計基礎的同學可直接選擇從三星難度的案例開始學習,參考案例自己設計開發程序.教師還可專門為某些學生量身定制教學內容,減輕學生在課堂教學中的學習壓力,提升他們的思維創新能力,真正達到以學生為中心、因材施教的教學目標.
(3)課前預習可能出現的問題.線上預習雖然有利于學生自主學習,但也存在教師監督難的問題.“C語言程序設計”的學習與實踐,需要對知識的理解及一定時間的上機練習才有可能掌握程序設計的能力.線上教學雖然改變了傳統的線下教學形式,但正常的教學形式也不能放松,否則由于教育制度和模式的漏洞,部分學生進行線上學習時會想蒙混過關,出現對學習不負責等現象,影響線上教學的效果[9].對于這種可能出現的情況,教師需要對教學任務進行詳細的量化,對學生線上學習的進度進行跟蹤.這些督促工作,無疑是加大了教師課前的工作量.
“C 語言程序設計”課程是在智慧教室進行授課的.教師可先根據教學大綱的安排,重點講解程序設計的理論知識,對實際案例進行具體分析,并結合理論引導學生開展程序設計實踐,通過實踐重點培養學生理解、分析的能力及與同學、教師交流溝通的能力.
首先,教師提醒學生登錄“優學院”平臺,進入“C 語言程序設計”課程后進行簽到.學生簽到完畢后,教師將教師電腦屏幕上的內容共享到學生電腦屏幕,先共享的內容是學生在線上預習時收集到的部分問題,并針對問題引入當天課程的教學內容.教學內容分為理論知識學習與案例教學,理論知識學習重點講解程序設計語言中的語法、算法、數據結構等,教師在講解后引導學生進行程序編輯練習.例如,在講解循環語句這個內容時,教師先列出3 個能夠實現循環控制過程語句,講解語句中的變量及表達式的涵義,循環語句實現的過程.通過講解,學生能大致理解簡單的循環語句的寫法.教師再提出請學生參考這3 個循環語句的寫法,設計一個簡單的循環語句,用于計算101 至109 之間的所有單數之和.教師收集學生的反饋,將學生設計的循環語句發布至班群的聊天區,學生可以參考教師發布的,自己在電腦上進行編輯.如果發現還有其他的程序設計方法,學生也可以自己直接發布在班群聊天區,互相交流自己的學習成果.師生針對這些不同的程序設計方法,進行線上+線下的交流討論.整個“輸出”過程,教師需要進行即時評價,也可引導學生進行互評[10].
其次,教師對程序的編寫進行點評與歸納,形成最佳的程序案例,在C++程序中進行編譯.學生在自己的電腦上進行同步操作,若發現問題可立即向教師進行反饋,教師針對學生提出的疑問進行解答,并將問題匯總后發布至班群的聊天區,方便學生在線上查閱,在課后的復習和實踐中也可以作為參考.
在一節課結束之前教師再次歸納和總結教學內容的重點難點,結合本節課的知識內容發布實驗作業或者測試至教學平臺,并對作業與測試的完成提出要求,例如必須在哪個時間節點內上傳作業和完成測試.
學生知識結構的優化,來源于教師和學生的互動[11].在“C 語言程序設計”課程中采用混合式教學的模式,師生可實現線上+線下的良好溝通,培養和提升學生分析能力,并將理論知識運用到實踐中去.通過在班級聊天區發布知識點,加深了學生的記憶,也可以及時發現和回復學生提出的問題,激發學生學習的積極性,活躍課堂學習氣氛.
(1)鞏固與提升
教師通過課前、課中學生在線上+線下學習的情況進行總結,并對教學過程中出現的問題進行反思,不斷改進和優化教學方案,持續提升教學效果,實現教學的良性循環[12].
在“C 語言程序設計”的課堂教學結束后,教師再次將課堂上出現的重點、難點和易錯知識點發布至“優學院”平臺,并提醒學生按時提交作業或者測試.根據學生計算機水平參差不齊的情況,教師會設置一些有針對性的學習內容及相應的練習提醒,滿足智慧教育對個性化人才培養的需求.教師根據學生訪問教學平臺、觀看教學課件、完成作業與測試的情況,從總體上把握學生的學習水平與學習偏好,并進行針對性的引導.教學平臺是智慧教育的延伸,基于對學生學習情況的分析,教學平臺為學生統計需要鞏固的學習任務,借助網絡媒介,挖掘和推送更優質的教學資源.
(2)評價及反饋
傳統的“C 語言程序設計”教學都會安排一到兩次有針對性的考試,以考試的分數來衡量學生的課程學習情況.這種評價方式既限制了課程的教學內容,也容易造成學生在考前只圍繞考點進行突擊復習.程序設計是需要大量積累、實踐的課程,僅依賴考前的突擊難達到檢測學習效果的目的,會導致學生只能掌握一些簡單程序設計方法,無法形成使用C 語言解決實際問題的能力.
智慧教育背景下的評價體系不能僅局限于一次兩次的考試成績,應更注重學生學習過程中能力的培養,將學生在線上和線下學習成果、學習態度結合起來定量分析,令評價體系更客觀和全面. “C 語言程序設計”教學的學習成績主要由出勤率、隨堂練習、課后作業、實驗、線上測試、期中期末考試6 個部分組成,其中隨堂練習需要線上和線下相結合,在課堂上由教師給出評價.因此,課程的評價體系可以設置為:出勤(5%)、隨堂練習(10%)、課后作業(10%)、實驗(25%)、線上測試(20%)、期中期末考試(30%),線上和線下評價的發布方式由教師決定.通過對學生在整個學習過程中的學習成果進行分析與統計,充分體現了智慧教育對學生評價的目標和要求.在線實驗平臺積累了學生在課前、課中、課后的學習行為數據,并提供智能分析工具方便教師對教學過程進行全方位監督,不僅為教學評價提供多元化衡量指標,更重要的是,教師可以掌握更多精準“線索”,對學生在學習過程中存在的問題做到早發現、早干預,切實踐行“因材施教”原則[13].
其中,實驗部分尤為關鍵.在混合式教學中,通過引入Online Judge(在線評測系統),每個班級作為一個團隊,課余定期舉行團隊內和團隊間的編程競賽,自動評測并實時公布排名結果,同時每道題附有其他成功解答的不同解法供賽后學生參考,并可以在線互動交流評論.此外,鼓勵學員在校內常規競賽之余,還可參加校外競賽或認證,如藍橋杯、CSP 專業認證、ACM-ICPC 等等,對競賽勝出的學員,不同規格的比賽排名給予不同的積分,累計積分折算反映在課程評價體系的25%實驗分中,這樣,對學員真正理解并實操掌握C 語言編程是非常有實際效果的.
在混合式教學中,教師在每一節課的課前、課中、課后教學過程中,針對每個學生在線上和線下的學習情況及時給予個性化的反饋,引導學生發現學習過程中的問題,并加以改進及提升.學生的努力在獲得教師的肯定后,進一步激發學生學習編程的積極性,努力提升自己的綜合素質.采用混合式教學方法后,學生真實掌握C 語言的比例明顯提升,從近幾屆學校計算機專業學員獲得藍橋杯大賽決賽獎項人數也可看出(見表1).

表1 第九~十二屆藍橋杯大賽決賽獎項
在傳統的“C 語言程序設計”的教學注重教師的主導作用,整個教學活動主要圍繞著教師教學在線下展開.在智慧教育背景下,課程借助現代信息技術,圍繞學生開展線上+線下的混合式教學,激發學生自主探究的積極性,培養和提升學生自主創新的能力.不斷探索與創新教學新模式,為學科教學的發展注入活力,也為智慧教育環境下的教學改革提供借鑒.