陳強 賀丹 鄧美玲


關鍵詞:個性化推薦;知識圖譜;協同過濾;內容過濾;Python
0 引言
隨著大數據時代的到來,Python語言具有簡單易學、可讀性高、應用廣泛等優點,被廣泛應用于數據科學、人工智能、金融等領域。Python程序設計課程已成為高校許多專業的一門計算機通識課程,課程的教學目標是培養學生的計算思維能力,通過案例和實踐體驗引入學習Python的動力,讓學生掌握運用計算機進行問題分析和問題求解能力,合理化專業知識體系的構建,為今后結合專業需求融入最新技術及其應用。但是,課題的開設存在學時少、內容多、面向專業群廣。因此,學生在學習Python可能會面臨一些挑戰,主要體現在以下幾個方面:(1) 缺乏計算機科學基礎知識,理解變量、數據類型、語句等概念相對困難。(2) 短期內掌握所有Python語法結構和面向對象編程技術是不可能的。(3) Python提供了許多庫和框架,學生理解和使用這些庫和框架相對困難。(4) 無法深入理解Python在各個領域的應用。 (5) 教學內容和目標無法滿足學生專業要求,使得學生缺少實際的實踐機會。
在實際教學過程中,由于學生數量多,個性差異大,教師不能因材施教。因此,為了解決這一問題,有必要在教學過程中對學生實施個性化教學。個性化推薦系統[1]能夠根據每個學生的興趣、偏好和歷史行為等信息提供個性化學習內容。在高校教學中的應用解決了實施個性化教學的難題,可以幫助教師更好地了解學生的學習需求和進度,從而更好地開展個性化教學。
本文提出一種基于個性化推薦的Python程序設計通識課混合式教學模式,采用了基于個性化推薦、線上線下的混合式教學模式,融入了基于協同過濾、內容過濾的個性化推薦,并利用知識圖譜劃分相關知識體系的專業興趣方向。
1 相關研究
個性化推薦系統已廣泛應用于電子商務、社交媒體、教育等諸多領域。這些應用基于協同過濾、內容過濾、知識圖譜、深度學習等不同的算法和技術[1-2]。同時,個性化推薦系統在高校教學中的應用也是一個值得關注的話題。這些應用主要體現在推薦課程、學習資源、個性化評估等方面[3-4]。可以根據學生的興趣、學習經歷、成績等信息為學生推薦課程。可以根據學生的學習需求和進度,為學生推薦相關的教材、視頻、在線課程等學習資源。
個性化推薦知識圖譜[2]是指根據學生的興趣、偏好和需求自動生成適合學生的信息圖。個性化推薦知識圖譜的實現步驟[3]如圖1所示。
1) 數據收集:收集與學生興趣相關的文本、圖像、視頻等數據。
2) 特征提取:從數據中提取與學生興趣相關的特征,如實體、屬性、關系、事件等。
3) 模型訓練:利用機器學習算法對模型進行訓練,根據學生特征和數據特征預測感興趣的知識點。
4) 知識圖譜生成:根據模型預測結果,生成學生感興趣的知識圖譜。
5) 推薦優化:根據學生學習反饋和數據更新,不斷迭代優化推薦算法和知識圖譜內容,提高推薦準確度和滿意度。
推薦系統中知識圖譜可以通過數據挖掘、機器學習和自然語言處理等技術從海量用戶和商品數據中提取并進行建模,幫助個性化推薦系統更好地了解用戶的需求,做出精準的推薦,為用戶提供個性化的學習和體驗。例如,在教育領域,個性化推薦知識圖譜可以幫助學生更好地理解知識點和課程內容。
2 基于個性化推薦的混合教學模式
2.1 知識圖譜構建課程知識體系
知識圖譜用于表達實體、概念及其之間的語義關系[2]。本文通過Python課程的知識圖譜進行知識體系構建、學習畫像生成再到自適應學習推薦,根據學習者在學習活動中出現的問題動態調整學習路徑。Python程序設計通識課程的知識體系分為4個模塊部分,如圖2所示。
1) Python 基礎知識:主要包括Python 的語法、變量、數據類型等。
2) Python 進階知識:包括高級特性、面向對象編程、GUI編程等,是Python深入學習的知識。
3) Python 實踐操作:Python 有許多工具和框架可以幫助提高開發效率和改善代碼質量,常見的工具有PyCharm、Anaconda等。
4) Python 應用方向:包括網絡爬蟲和數據抓取、人工智能和機器學習、數據分析和科學計算等。
通過知識圖譜構建的Python 程序設計通識課程的課程知識體系,學生能夠清晰地了解并掌握該門課程所需學習的各方面知識。
2.2 協同過濾的個性化推薦
協同過濾是一種通過用戶和項目之間的交互數據推薦可能感興趣的項目的推薦算法[4]。本文通過協同過濾算法對歷史課程知識點學習情況,根據每個學生的測試結果,利用協同過濾算法,預測學生沒有掌握的知識點,推薦相應的課程學習相應的方式。
1) 收集學生線上測試數據。通過收集學生對課程不同知識點的答題情況,根據學生的自測結果將學生做錯的題目對應的知識點檢索出來,生成對應的0-1矩陣。
2) 找到相似的學生,將目標學生可能沒有掌握的知識點檢索出來。利用基于最近鄰居的協同過濾推薦算法,根據用戶之間存在的相互依賴關系,檢索出學生可能沒有掌握的知識點,并依據預先設定好的知識點相似度進行篩選。
3) 最后將推薦的知識點集合推薦給目標學生。對知識點內容進行整理,通過梳理課程知識點之間的框架關系,分別錄入題庫并做好標記。然后將這些知識點內容作為作業任務布置推薦給該學生。
通過協同過濾算法推薦的課程學習資源能夠對學生的學習起到引導作用,有助于提高學習效率和學習成績。
2.3 內容過濾的個性化推薦
基于內容的過濾方法基于項目的描述和用戶偏好的配置文件[5]。本文使用內容過濾算法根據學生用戶的偏好進行推薦感興趣的知識點。內容過濾的學習內容模型如圖3所示。模型基本思想從學習內容的難易度、交互性、其他3個方面過濾,從用戶的角度進行思考,得出一個反饋的過程,方便學生用戶學習。
內容過濾的個性化推薦根據用戶登錄時間、當前的學習內容、已經學習內容、學習主題等歷史數據不斷更新學生用戶的相關偏好、學習習慣等,從而獲得準確的用戶信息,從而推薦相應的課程學習資源給學生用戶。
2.4 線上線下混合式
利用現有線上豐富的教學資源,將個性化推薦教學與混合教學模式相結合,以因材施教為導向,旨在達到用戶學習效果最大化。混合教學方式是基于現有豐富的多媒體網絡設備而產生的一種線上線下相結合的教學模式。
Python程序設計通識課程課內共有32學時,其中理論24學時,實驗8學時。課內學時安排在線下完成,理論學時著重介紹基礎知識和經典案例,實驗學時則用于指導學生進行實際操作。此外,還有部分內容通過課外線上完成,例如利用課堂派、雨課堂、學習通等平臺。Python程序設計是一門實踐性很強的課程,理論知識豐富,但多數需要通過上機實驗來深化理解和應用。通過分析現有課程實驗課教學實踐,可以將該課程的實驗內容分為兩大主體部分:一是Py?thon IDE工具的基本操作實驗,二是通過專業經典案例進行操作與實現。針對不同專業,設計了不同的實驗案例,設置了不同形式的實驗內容,以提供多樣化的選擇。不同專業Python程序設計通識課的經典案例詳見表1。
3 教學考核及個性化評估
個性化考核評估[6]是一種根據個體獨特特征和能力來評估和衡量個體的方法。它關注個人的素質、技能和潛力,而不僅僅是他們在團隊或組織中的表現。在教育領域,采用個性化的方法對學生的學習進度、能力和興趣進行評估,為每個學生提供量身定制的教育和支持,以滿足他們的學習需求和發展潛力。通過使用不同的評估方法和工具,如調查問卷、互動提問、能力測試、學業表現評估、行為觀察等,教育者可以更好地了解學生,并根據其特點和需求進行相應的教學和指導。對于本課程的考核,我們結合過程性評價與結果性評價兩個方面,從多角度獲取評估數據進行個性化評估。過程性評價包括考勤與課堂表現、作業和測驗、學習日志、實驗與報告等;結果性評價主要包括大作業(項目或論文報告)。采用個性化評估有助于我們關注學生個體的潛力和發展方向,鼓勵學生在學習過程中發揮主動性和自主性,根據自己的興趣和需求選擇學習內容和方法,進而提升學習動機和效果。
4 結束語
在高校教學中實施個性化教學,有助于教師更好地了解學生的學習需求和進度,從而實現因材施教。本文提出了一種基于個性化推薦的Python程序設計通識課混合教學模式。該模式能夠依據學生的興趣、需求和能力,推薦符合其個性化需求的課程、學習資源和學習路徑,對學生的學習起到積極的引導作用,有助于提高學習效率和學習成績。