馬行空+王勇軍+趙文濤+任江春+付紹靜+曹源

摘 要:針對內容安全課程的重要性以及當前教學中存在的問題,基于學習圈理論提出“案例體驗—原理剖析—設計實現—測試檢驗—拓展創新”的五步遞進教學方法,闡述五步遞進教學方法在內容安全課程中的應用情況及注意事項,并說明教學效果。
關鍵詞:學習圈理論;五步遞進教學;內容安全
0 引 言
內容安全課程是信息安全專業的重要專業課程,旨在分析識別信息內容是否合法,確保合法內容的安全,阻止非法內容的傳播和利用。該課程要求學生掌握內容安全的基本概念、基本原理和基本技術,了解各種典型的內容安全威脅,掌握信息內容的獲取、分析識別和管控以及多媒體信息隱藏的基本技術。
內容安全課程包含內容寬泛,涉及文本安全、多媒體安全、社交網絡安全等多個領域。傳統教學中,教師要在有限時間內講解所有內容,難以保證教學質量;此外,該課程實驗難度大,傳統教學中理論教學時間多、實踐教學時間少,使得學生難以通過實踐加深對課程的理解和掌握。為此,我們設計了基于Kolb學習模式的五步遞進教學方法并應用于內容安全課程。實踐表明,該教學方法能夠有效提高學生的學習積極性和實踐創新能力。
1 內容安全課程教學現狀
內容安全作為信息安全領域的新興學科,內容涉及的背景知識數量大且實驗難度大,導致學生在學習過程中容易產生挫敗感,影響教學效果。內容安全課程教學中存在的問題主要有以下幾方面。
1)理論講授時間有限。
根據《信息安全專業指導性專業規范》的建議,內容安全課程的理論授課時間為36學時,而內容安全課程的理論知識寬泛,涉及網絡爬蟲、數據挖掘、機器學習、模式匹配、數字水印、數字指紋等多個領域,使得學生很難在較短的時間內熟練掌握多個領域的復雜算法。傳統教學中以教師為中心,學生被動接收知識,再加上本課程理論學習難度較高,導致教學效果不理想。
2)實驗難度大。
內容安全課程多針對實際網絡中的具體問題展開實驗探索,這要求學生能夠處理實際網絡中遇到的各種突發情況。例如,在網絡爬蟲實驗中,要求學生能夠自動模擬網站登錄,并繞過大型網站的反爬蟲機制;在垃圾郵件分類實驗中,要求學生能夠自主選擇與分類正確率相關的多個參數。這些實驗難度系數較高,若缺乏相應教師指導,學生很容易卡在某一個小問題上而止步不前。
3)照搬網上資料,創新意識缺乏。
由于課程設計時間有限,不少學生通過互聯網查找現成解決方法,對其簡單改動以完成作業。原本學生通過查閱資料吸收他人方法解決問題的做法值得提倡,但是結果發現這對提升學生學習效果并不理想:一是很多學生的解題思路完全一致,沒有在他人已有工作基礎上進一步提升,使得學生喪失獨立思考能力;二是由于代碼不是學生自己從頭開始寫的,很多算法設計過程中的疑難問題都已經被原作者解決,學生在吸收的過程中則直接回避,無法有效提高動手實踐能力,也難以對實驗所涉及的方法原理產生較深刻的認識。
2 學習圈理論
1984年,美國社會心理學家、教育家David Kolb在其著作《體驗學習:體驗——學習發展的源泉》[1]一書中提出學習圈理論,其基本思想是學習者的學習過程可闡述為一個體驗過程:具體的體驗—對已獲得體驗的反思—體驗抽象和理論化—行動實驗,循環往復,形成一個貫穿的學習經歷,由學習者自動完成反饋和調節。
根據體驗方式的不同,已有教學方法包括問題驅動教學、案例驅動教學和項目驅動教學。問題驅動教學是設計與教學內容密切相關的問題或介紹典型的實際問題,通過引導學生如何發現問題、分析問題并解決問題,從而培養學生自主學習和終身學習的習慣。在實施過程中,教師需要根據教材內容、學生的認知規律和已有知識儲備,提出學生感興趣又有一定梯度的問題,引導學生進入深層思考。該教學法已經在程序設計[2]、離散數學[3]等課程中有較好的實施案例。
案例驅動教學中,教師通過講解一個完整案例的分析解決過程,與學生充分地交流互動,達到培養學生解決實際問題能力和提高其創新能力的目的。該教學法已經在數據結構[4]、軟件項目管理[5]等與應用密切相關的課程中開展實施,并取得良好的教學效果。
項目驅動教學是指提前給學生布置擬完成的項目,通過循序漸進的方式引導學生完成項目開發實踐。學生主導項目需求分析、系統設計、代碼實現和集成測試全過程,從而全面提高項目開發能力。該教學方法在軟件工程[6]、數據庫[7]、網絡操作系統[8]等課程中以項目為主線、教師為主導、學生為主體開展實施,激發了學生的學習興趣和探索創新能力。
以上3類方法,既相互關聯,又有所區別。概括來說,問題驅動教學法和案例驅動教學法注重課上知識傳授過程的有效性,項目驅動教學法則注重整個學習周期內學生動手實踐能力的培養。
3 五步遞進教學方法設計
為了有效提高學生的知識理解和應用創新能力,我們基于學習圈理論提出“案例體驗—原理剖析—設計實現—測試檢驗—拓展創新”的五步遞進教學方法,以內容安全課程為例,對這種教學方法進行初步探索和嘗試,具體實施方案見表1。
案例體驗是指通過教師演示應用案例或學生親自操作工具,快速獲得直觀效果,以激發學生學習興趣,帶動學生主動思考,并在該過程中需要教師認真挑選典型案例。在內容安全課程中,很多知識點都有相應的案例或工具可供教師和學生使用,如講授網絡爬蟲時,教師可使用Scrapy、Arachinid、Crawlzilla等已有的開源爬蟲軟件向學生展示爬蟲軟件功能和爬取效果,包括如何模擬用戶登錄,如何設置爬取范圍、頻率等;講授文本分類時,教師使用Jieba、IKAnalyzer等工具向學生展示中文、英文、中英文數字混合等不同情況下的分詞結果;講授特征選擇時,教師可通過使用Scikit-learn、MLlib等開源機器學習工具,向學生展示選擇不同特征后的分類準確率的區別;而在講授圖像信息隱藏時,教師可通過使用Steganos、S-Tools等工具,在有趣的圖片中隱藏信息,更容易引起學生的學習興趣;講授網絡水軍檢測時,教師通過展示水軍賬號在社交網絡中的個人主頁信息,很容易引起學生注意。
原理剖析是教師引導學生學習相關原理的過程。案例體驗后,學生的學習興趣已被調動起來,此時教師應引導學生思考案例背后的技術原理。需要注意的是,在原理剖析過程中,教師應該采用啟發式提問的方式,逐步引導學生沉浸到深度思考中,而不是直接將方法和原理告訴學生。例如,在講授網絡爬蟲時,讓學生思考如何才能持續地爬取網頁,從而引出寬度優先、深度優先等關鍵技術;在講授文本分類時,通過展示多個分詞工具的不同分詞效果,引出最大匹配分詞、概率匹配分詞等不同的分詞技術,通過展示選擇不同特征后的分類準確率,引出特征選擇的TFIDF、信息增益、主成分分析等技術;在講授圖像信息隱藏時,通過展示在圖像不同位置隱藏信息對圖像造成的損傷效果,引出LSB、DCT信息隱藏算法;在講授網絡水軍檢測時,通過分析大量水軍賬號主頁的內容和行為,引出網絡水軍檢測中的特征分析技術。
設計實現是學生理解相關知識點后所開展的動手實踐。該階段由教師發布任務并引導學生運用所學知識點設計實現。需要注意的是,教師應該根據學生的能力水平和有效學習時間,發布難度適中的任務,因為任務過于簡單無法達到能力提高的目的,過于困難則可能使學生產生挫敗感和厭學心理。例如,在設計面向社交網絡的爬蟲實驗中,教師可以要求學生使用寬度或深度優先遍歷方法并模擬用戶登錄。雖然在該實驗中,模擬用戶登錄是一個難點,不同社交網站有不同的登錄表單參數,有的網站甚至還有反爬蟲機制需要繞過,這給學生的實現過程提出了挑戰,但是網上已有很多模擬登錄的案例可供參考,學生通過查閱資料是可以自主完成該實驗的。再如在垃圾郵件過濾實驗中,教師可以要求學生利用文本分詞和特征選擇技術實現準確率較高的垃圾郵件過濾系統。在該實驗中,難點在于如何提高分類準確率。提高準確率與多個因素相關,如訓練集的選擇、文本分詞的準確性、特征選擇的合理性等,需要學生仔細分析并作實驗驗證。在圖像信息隱藏實驗中,不僅要求學生實現LSB和DCT算法,還要求學生能夠采用合理的方法提高其信息隱藏的安全性;而在社交網絡水軍賬號檢測中,要求學生采用多種方法對比檢測精度。
測試檢驗是對學生的設計實現情況進行過程控制和評估,主要包括兩種方式:一是掌握學生設計實現情況,通過個別討論、問卷調查等多種形式了解其遇到的疑難問題,并適當地提醒學生有哪些可能的解決途徑;二是現場檢驗學生的完成效果并評定成績,根據設定好的評分標準對學生的完成情況客觀打分。在內容安全的各個實驗中,我們根據學生咨詢的問題和教師調查發現的問題,給學生適當的反饋,以引導其順利完成實驗。例如,在網絡爬蟲實驗中,部分學生卡在模擬登錄問題上,教師可適時地給出一個案例并提供相關的學習資料,輔助其模仿和參考;在垃圾郵件過濾中,針對分類準確率不高的問題,提示學生可從特征向量長度、分詞算法等方面進行優化;在安全圖像信息隱藏和網絡水軍檢測的算法設計過程中,讓學生討論可能的安全策略和檢測算法,輔助其順利完成實驗。
拓展創新是指學生可在原始實驗的基礎上進行功能或性能的改進,目的是培養學生的創新意識和提高研究水平。教師可設定拓展任務,也可以由學生自己提出拓展創新點。為了激勵學生拓展創新,該內容可作為實驗成績的加分項。例如,在爬蟲實驗中,我們提出多線程爬蟲、代理爬蟲、自動識別驗證碼和模擬真實用戶行為作為拓展加分項,結果顯示有50%的學生可以自主完成多線程爬蟲程序,另有20%的學生可以實現代理爬蟲;在垃圾郵件過濾中,我們將分類準確率和召回率作為加分項,結果顯示部分學生能綜合采用多種分類方法提升準確率和召回率;在圖像信息隱藏實驗中,我們將安全策略數量作為加分項,結果顯示20%的學生可提供兩種以上的安全策略;在社交網絡水軍檢測中,我們將檢測精度作為加分項,同樣有效地鼓勵了學生創新。
實踐表明,采用五步遞進教學方法能夠有效提升學生的學習主動性,鍛煉學生的實踐能力和創造力,對教學活動有很好的促進作用。
4 五步遞進教學中的注意事項
1)適當增加設計實踐的時間。
由于授課時間有限,如何分配理論和實踐的時間是很多課程中需要權衡的問題。從內容安全課程的教學過程來看,適當增加設計實踐時間的教學效果更好,主要原因是實踐過程可以促使學生鞏固學習相關理論知識并深化其理解過程。教師增加理論講授時間的目的是幫助學生理解知識概念,在實踐過程中少走彎路。事實上,這樣做反而可能在一定程度上降低學生的自學能力和創造力。適當降低理論時間、增加設計時間后,學生有較多時間投入動手操作過程中,通過多走一些彎路反而更容易增加實踐經驗,且促使學生通過自學深化理論理解。在內容安全課程中,我們的理論講授和設計實踐時間的比例為1:1,結果顯示增加實踐時間后學生的作業完成的質量更高。
2)掌握學生的實踐進度。
在設計實踐過程中,教師需要實時掌握學生的實踐進度,以保證實踐任務順利實施。在設計實踐過程中,學生會遇到各種不同問題,有的學生希望自己查資料解決,有的學生則咨詢別人,還有的學生完全沒有解決思路,為此,教師需要根據問題類型分別處理,如對于多數學生碰到的疑難問題,可在適當的時間點采用現場答疑、提示、演示等方式為學生提供幫助;對于少數沒有實踐思路的學生,則可以根據其具體情況提供建議、學習資料等。
3)采取客觀公正的激勵和懲罰措施。
客觀公正的激勵和懲罰措施有助于學生形成正向反饋。激勵是指對學生的實踐結果和拓展創新進行公正的評估和獎勵;懲罰則主要針對學生在實踐過程中的抄襲行為。實際操作過程中,激勵不夠、懲罰不嚴都可能造成學生學習能動性和自我約束力的降低。在內容安全課程中,我們規定將代碼相似度超過90%以上的作業所指向學生的成績同時記為0分,對每個任務的拓展創新則給予20%~30%的加分獎勵。
5 結 語
基于學習圈理論提出“案例體驗—原理剖析—設計實現—測試檢驗—拓展創新”的五步遞進教學方法,教學效果明顯提升,主要表現在:①結課后的調查顯示,90%以上的學生能夠理解并掌握理論知識的重點和難點;②每個實驗的平均操作時間與理論講授時間比例達到4:1,學生的動手實踐能力得到充分鍛煉和提升;③學生創新能力明顯提升,部分學生已具備學術研究的基本素質;④實驗過程中,學生能夠自覺查閱文獻、集成多種方法設計優化算法、對比多種算法的效果以及使用開源工具驗證所設計算法的有效性。
參考文獻:
[1] Kolb D A. Experiential learning: Experience as the source of learning and development[M]. London: Prentice Hall, 1984: 1-21.
[2] 夏承遺, 李文杰, 孫世溫. 問題驅動的“C++程序設計”教學方法研究[J]. 計算機教育, 2010(1): 122-125.
[3] 范雅惠, 劉德山, 魏迪, 等. 用問題驅動教學模型實施計算思維教學的應用與實踐[J]. 計算機教育, 2016(1): 90-93.
[4] 龐曉瓊. 案例驅動的數據結構課程設計教學改革實踐[J]. 計算機教育, 2009(1): 53-55.
[5] 張永平, 劉燕, 邵星.“案例驅動+項目實踐”的軟件項目管理課程教學實踐[J]. 計算機教育, 2015(23): 115-119.
[6] 鄧澤林. 以企業項目驅動的軟件工程專業實踐教學研究[J]. 計算機教育, 2015(17): 91-93.
[7] 林菁. 多級項目驅動教學在數據庫系列課程中的應用[J]. 計算機教育, 2013(16): 72-76.
[8] 蔣崢崢, 嚴燕, 陳曉紅. 基于項目驅動的“網絡操作系統”實驗教學實踐[J]. 計算機教育, 2015(24): 134-138.
(編輯:宋文婷)