趙慧娟 馮國富 劉智翔

[摘 要] 算法基礎是計算機科學與技術專業的核心課程。為提高教學質量,文章對課程教學內容、教學方法、考核評價體系進行了探索。實踐證明,課程建設和教學改革效果良好。
[關鍵詞] 算法基礎;雨課堂;工程教育專業認證
[基金項目] 上海海洋大學2019年重點建設課程項目“算法基礎”(A1-2005-00-300533);上海海洋大學2018年信息學院重點課程建設項目“算法基礎”(20180218)
[作者簡介] 趙慧娟(1977—),女,山東泰安人,碩士,講師,研究方向為機器學習。
[中圖分類號] G642? ? [文獻標識碼] A? ? [文章編號] 1674-9324(2020)37-0180-02? ? [收稿日期] 2019-11-25
一、引言
算法是計算機科學技術的基石。在人工智能時代,算法的學習和研究更為重要。算法基礎課程旨在培養學生的計算思維,提高分析問題和解決問題的能力。課程具有綜合性、實用性、靈活性和難度大等特點,在我校2018版計算機科學與技術專業培養方案中,算法基礎被列入專業核心課程,學時數從32學時(20學時理論+12學時實驗)增加為64學時(32學時理論+32學時實驗)。
在舊版的培養方案中,算法課程作為選修課,課時少。存在的問題有:一是學生在學習過程中參與度不高;二是教師不能及時掌握學生的學習情況;三是對學生成績未進行深入分析,對后續的課程教學參考意義甚微。算法課程教學內容的梳理、教學手段及考核評價等改革迫在眉睫,面向工程教育認證基于“雨課堂”的算法基礎混合式教學模式的構建應運而生。
二、課程教學內容
課程以學生熟悉的問題為切入點,例如信息搜索、排序、密碼學及貨物配送最短路徑等入手,以各種基本算法設計技術作為主線,講授的算法設計技術包括蠻力法、分治法、減治法、動態規劃法、貪心法、回溯法、分支限界法和概率法等。在介紹每個算法設計技術時,按照“算法思想-應用案例—時間空間復雜度分析”的路線展開,隨著算法技術學習的深入,將對比不同算法設計技術在解決同一問題時的異同點和優劣。
為提高學生對算法設計技術的應用能力,加強學生競爭力,從各類競賽(如ACM,藍橋杯)和IT類公司面試題中選取具有代表性的問題進行分析、算法設計、算法實現和效率評價,切實將理論付諸實踐。
三、基于“雨課堂”的混合式教學方法
(一)雨課堂
雨課堂是清華大學和學堂在線共同研發的新型智慧教學軟件。“雨課堂”作為PowerPoint插件,簡單實用,為教師和學生打通了課堂內外的時間和空間,形成了24小時的在線課堂。教師借助“雨課堂”發布課堂教學中使用的PPT、習題、視頻、語音等學習材料;學生掃碼進入課堂,在微信里可以實時收到老師推送的學習材料,提高學生的出勤率。在課堂教學及討論中,學生可以通過發送彈幕反饋問題,及時與教師互動,教師可據此更好地調整課堂的學習氣氛、實時調整教學的節奏進度,及時答疑解惑;在課堂教學中,教師還可以實時給學生發送習題,提高學生在課堂中的學習參與度,第一時間了解學生對知識的掌握程度,對上課效果有更直觀的認識,寓教于樂,增加教學趣味性與教育教學的實用性。
(二)基于“雨課堂”的理論和實驗教學
基于“雨課堂”的混合式教學是一種輕量級的翻轉課堂,它將傳統教學與網絡教學習、移動學習融于一體。學生真正成為課堂的核心,實時獲取課堂教學內容、反饋疑惑、提升學生作為學習過程主體的積極性與創造性;教師在基于“雨課堂”的混合式教學中,可以及時掌握學生對課堂教學知識點的掌握,以便教師及時調整教學內容和進度,更多地體現為學習的設計者和指導者,對教師提出了更高的專業要求。在算法基礎的理論教學中,借助“雨課堂”電子教案,采用案例驅動,講解算法設計技術的思想、適用問題、算法描述和時間空間復雜度分析,并輔以直觀的程序演示。由此,舉一反三,使用該算法設計技術求解其他經典問題。在算法基礎的實驗課中,學生根據實驗計劃,對實驗題目進行問題分析、算法設計、使用編程語言實現算法。在此學習中,學生不僅可以掌握算法設計和分析技術,理論與實踐相結合,而且對編程語言、數據結構等內容溫故知新,將所學的知識融會貫通,從而提升復雜程序設計的技能。
(三)EOL在線學習
除了雨課堂之外,本課程教學組還依托學校的EOL(在線學習)教學平臺。在EOL平臺上教師已發布有課程的教學大綱、教學日歷、教案、算法演示程序、習題庫、章節測驗和作業等。學生可以借助EOL了解課程目標、教學進度、教學內容,做好課下預習、課后復習練習,及時完成測驗和提交作業;在多輪課程教學中,教學組參考借鑒國內外高校算法課程的教學內容和當今算法研究的熱點,梳理、調整教學內容;篩選優秀的MOOC資源推薦給學生在課外輔助學習,補充增加算法設計與分析領域最新的新成果。
(四)線上線下輔導答疑
課堂外的輔導答疑作為課程學習的有效補充,有線下的面對面輔導和線上的課程學習群等方式,為學生提供“全浸入”的課程學習環境。在課程學習群,除了討論課程教學知識點外,還將及時推送業界研究熱點、國內外算法類競賽以及IT公司面試中算法設計題目,引導學生捕捉業內研究熱點。
四、課程考核
在課程教學中,堅持按照國際工程認證的要求指導教學過程,培養學生分析問題、算法設計、算法實現和算法分析等方面的能力。面向工程教育專業認證,將課程教學目標與畢業要求關聯,改進課程考核和評價方法。
(一)工程教育專業認證
工程教育專業認證是工程教育質量保障制度,也是實現工程教育國際互認和工程師資格國際互認的重要基礎。工程教育突出教學目標產出導向,以學生收獲、畢業達成情況為中心,強調持續改進培養素質。因此,面向工程認證的教學更有助于提升學生培養質量。以OBE為導向進行課程的反向設計,將課程教學目標與畢業要求關聯,改進課程考核和評價方法。
(二)課程教學目標
①掌握基本的算法設計技術,能夠讀懂算法;對于具體問題可以設計算法求解,進一步增強學生的程序設計與實現能力。②掌握基本的算法時間復雜性和空間復雜性分析方法,培養學生的算法分析能力,從而優化算法。③引導學生的思維過程,培養計算思維能力、提升分析問題和解決問題的能力。④樹立正確的價值觀,培養文化自信、團隊合作精神、良好的職業道德素養和法治意識。
(三)支撐的畢業要求
在我校計算機科學與技術專業畢業生需要達到的眾多畢業要求中,算法基礎課程支撐的畢業要求如下:①能針對本專業領域具體的對象建立數學模型并求解;②能夠將專門知識和數學模型方法用于復雜計算機工程問題解決方案的比較與綜合。③能運用基本原理,借助文獻研究,分析過程的影響因素,獲得有效結論。④能對實驗結果進行分析和解釋,并通過信息綜合得到合理有效的結論。
(四)課程考核
課程考核采用平時成績和閉卷筆試和相結合的形式,其中期末筆試占70%,平時成績占30%。平時成績包括課堂表現、實驗作業等。實驗作業將改變以往只提交紙質作業或網上簡單客觀題的局面,更加注重學生分析問題和解決問題能力的培養。平時作業的評測依托在線評測系統,更好地提高學生動手解決問題的能力。期末考試的主要內容是算法設計技術的基本思想、分析問題能力和算法設計能力的考核。課程考核與課程目標、畢業要求的關系如下表。
課程教學和考核結束后,對學生成績進行目標達成度分析,及時了解學生對課程內容的掌握程度和學生的培養質量,便于后續完善教學過程、持續提升教學質量。改變以往試卷成績簡單歸檔的情況。
五、結語
為迎接新的算法基礎課程教學,我們梳理、優化了教學內容;改革了教學方法和課程考核評價體系。今后,我們將進一步探索和實踐,調動學生的學習主觀能動性和教師的教學潛力。以國內外信息類競賽為契機,積極組織和指導更多的學生,形成良好的學習實踐氛圍,切實提高學生在就業工作招聘時的競爭力。