楊呈永 王潔
(1.桂林理工大學 網絡與信息中心 廣西桂林 541004;2.桂林理工大學 信息科學與工程學院 廣西桂林 541004)
算法設計作為計算機科學的一門分支學科,是軟件設計的關鍵。算法設計與分析課程是大部分高校計算機專業學生的一門必修課程,教學內容將數據結構、離散數學等內容緊密結合起來,結合計算機應用中遇到的實際問題,系統地學習設計與分析各種算法的基本原理、方法和技術,以全面培養學生正確分析算法復雜性和解決問題的能力。
2022年全國教育工作會議指出,要推進人才培養服務新時代人才強國戰略,推進學科專業結構適應新發展格局。隨著信息技術與現代教育的深度融合[1],傳統教學模式已不能滿足當前可持續發展的工程科技人才培養需求。在全球數字化轉型的大背景下,高校需要順應當前發展,對教學進行針對性改革以培養面向復雜工程問題的新工科人才[2]。
以我校現有的算法分析與設計課程為例,為適應當前對工程科技人才的需求,進一步提高課程教學質量,培養學生對專業知識的實際應用能力。我校針對該門課程的教學現狀進行混合式教學改革。通過“雨課堂”與傳統教學相結合,幫助學生系統地掌握專業理論知識,與此同時,實踐教學與學科競賽相結合,全面培養學生對專業知識的實際應用與學科競賽能力[3,4],培養新工科應用型人才。
算法分析與設計課程的教學目的在于鍛煉學生的算法邏輯思維,提高學生的編程能力。通過該門課程的學習,要求學生能夠理解算法所設計的概念、原理和策略,能夠運用所學理論進行算法設計。算法分析與設計課程內容多、概念復雜且邏輯性比較強,其學習難度較大,學生學習起來也較為困難。經調研顯示,我校的算法分析與設計課程中普遍存在的問題主要為以下三個部分:
當前我校的算法分析與設計課程教學仍為傳統的教學模式,理論知識部分以教師講授為主,課堂教學以教師為中心,教師主導教學過程,學生長時間被動學習會使其喪失獨立思考與解決問題的能力。該門課程目前的教學模式跟不上其教學需求,導致其教學效果跟不上現今對新工科應用型人才的培養需求。
我校該課程基于java語言進行算法理論基礎知識的教學,學生需要具備扎實的編程基礎,并且具備一定的離散數學、數據結構等知識基礎,總體上對學生的基礎能力要求較高。據課堂問卷調研顯示,大多數學生認為該門課程抽象性較強,教師授課較為粗糙,理論知識講解不透徹,極大削弱學生的學習興趣。受課程教學的安排,很多地方教學不到位,導致學生對算法的理論知識掌握不足,并且算法設計實踐能力也沒有提高。短時間且低效率教學導致教學效果無法達標。
課程教學目的在于幫助學生學會分析算法復雜性,通過教學能夠設計出復雜度低且性能好的算法。我校該課程的教學安排緊湊,理論教學與上機教學安排不合理,教師偏重對算法的理論教學,對上機實踐部分重視不夠,上機作業由學生自主完成,大部分學生不愿意花費大量的課余時間投入到算法學習中,因此學生的算法實踐能力和對算法的綜合應用能力較差。
雨課堂是在線教育研究中心的最新研究成果[5,6],基于PC端和微信平臺提供智能化教學支撐,在很大程度上推動了教育信息化的改革。雨課堂靈活地與線下課堂高效整合,有促進師生教學融合,輔助學生進行自主學習和減輕教師工作量的優勢。
計算機學科競賽如藍橋杯競賽、ACM競賽和互聯網+大學生創新創業大賽等都與算法息息相關,通過學科競賽能夠反映出學生對學科理論知識的實際操作和應用能力。從算法分析與設計課程教學來看,學科競賽與教學相結合不僅能夠促進學生對理論知識理解,還能夠培養學生綜合能力,推動應用型人才培養[7]。
基于“雨課堂+學科競賽”的混合教學模式以算法分析與設計的教學現狀作為出發點,將雨課堂應用于傳統課堂教學中,將課堂中心從教師轉變為學生,讓學生主動參與到課堂教學活動當中,激發學生自主學習與獨立思考的能力。課程教學與學科競賽相結合進行教學創新改革,本文以藍橋杯競賽為例,使用“藍橋杯練習系統”作為課程實踐教學和學科競賽培養的線上平臺。
基于“雨課堂”的理論教學貫穿于課前、課中、課后的教學過程,將雨課堂平臺應用于傳統線下教學課堂中,將課堂中心轉變成以學生為主,改變傳統授課中以教師為中心,學生被動學習的弊端,雨課堂向學生提供了師生相互學習與交流的平臺,教師借助雨課堂的強大的教學功能進行課堂教學,提高教學效率。
(1)課前準備
學生課前準備以雨課堂為主,初次上課學生通過教師分享的課程碼或課程二維碼加入班級,教師課前在雨課堂平臺上傳每節課的相關教學資料供學生進行輔助預習,同時為了確保學生參與到課前預習中,發布一定量的預習任務來檢驗學生的預習效果,學生在規定時間內完成預習任務,為了激勵學生進行課前預習,根據學生對預習任務的完成度按照一定比例作為課程平時成績。
(2)課中學習
學生提前通過微信或者PC端進入雨課堂,教師上課后,在雨課堂發起上課,學生在課堂上結合教材,在雨課堂同步觀看課件,教師根據課程授課的實際需求要求同學在雨課堂的討論區進行討論,不僅能夠活躍課堂氣氛而且還可以鍛煉學生的思考能力,進而加深學生的課堂學習記憶。此外教師能夠在雨課堂發布課堂練習或測試題,答題結束后實時生成答題報告,通過答題報告教師能夠根據學生的掌握情況進行針對性教學調整。
(3)課后復習
上課結束后,雨課堂自動發送課堂報告給學生,課堂報告記錄學生通過雨課堂進行學習的情況,例如匯總課堂做題情況,生成成績單供學生參考。
該課程的上機實踐環節以培養學生的算法設計和學科競賽能力為主,該課程選取藍橋杯競賽內容作為上機實踐教學。藍橋杯練習系統應用于藍橋杯競賽培訓,其內容十分貼切算法設計與分析課程的實踐教學。
藍橋杯練習系統的試題集共分為基礎練習、算法訓練、算法提高和理解真題四個類別。上機實踐課程教學一共6周,每周有不同的實踐內容,實踐題目來自藍橋杯練習系統的試題集,上機實踐安排如表1所示。
上機實踐練習題目由教師根據練習內容在藍橋杯練習系統進行選取,學生通過試題編號在藍橋杯練習系統完成,并且將每周的上機實踐內容撰寫相應的上機實驗報告。此外,藍橋杯練習系統中的算法提高和理解真題類別的試題作為額外加分試題,學生在課余時間可自行選擇完成,額外加分僅限前兩道試題。
算法分析與設計課程的考核方式由“平時成績(30%)+期末考試成績(40%)+上機實驗成績(30%)”三部分組成,平時成績由考勤、課堂表現、雨課堂學習情況這三部分組成。上機實驗成績則以上機實驗報告和加分試題完成情況作為參考,教師根據所提交的實驗報告完成情況進行評分。綜合該多元化的課程考核方式,能夠從理論和實踐上考查學生對算法的掌握情況、綜合能力和創新能力。我校在2021年秋季學期,算法分析與設計課程采用“雨課堂+學科競賽”的混合式教學模式進行改革實踐,經過一學期的混合式教學,混合式教學與傳統教學課程成績對比如圖1所示,藍橋杯競賽獲獎情況對比如圖2所示。

圖1 學生成績分數段對比圖

圖2 教學改革前后競賽獲獎情況對比圖
算法分析與設計需要兼顧理論與實踐,基于“雨課堂+學科競賽”的混合教學模式,在理論教學上借助雨課堂作為教學輔助平臺,以學生為中心,通過雨課堂的在線互動教學提高學生的學習積極性。以培養學生學科競賽能力作為上機實踐教學目標,通過“藍橋杯練習系統”的針對性練習,鍛煉學生的編程實踐能力,開發學生對算法設計的創新和競賽能力,有效提高了課堂教學效率和學生算法設計能力。