摘 要:算法作為計算機科學和管理科學等領域的基礎知識,因其高度的抽象性和復雜性,使得很多學生在學習中理解起來比較困難。因此,如何通過創(chuàng)新教學方法來提升學生對算法的理解和應用能力,成為當前算法課程教學改革的一個關鍵問題。該研究設計并構建了包括算法可視化、算法資源、教師管理和學生管理等4個模塊的算法可視化教學平臺,以幫助學生更直觀和深入地理解算法。算法可視化教學平臺通過動態(tài)演示功能,使學生能夠掌握復雜算法的執(zhí)行過程,并提供交互操作,使學生能夠自主控制算法的運行步驟,從而增加學習的趣味性和參與感。對算法可視化教學平臺的實際應用進行調研和數(shù)據(jù)分析,結果顯示,該平臺在幫助學生掌握復雜算法、提升學習興趣和增強互動體驗方面取得了顯著成效,以期為與算法相關課程的教學改革創(chuàng)新提供有價值的參考。
關鍵詞:算法可視化;教學平臺;效果評價;課程改革;教育改革
中圖分類號:G642;C939" 文獻標識碼: A
0" " 引言
新質生產力的提出,不僅是推動國家經濟和科技快速發(fā)展的重要戰(zhàn)略,也是高校人才培養(yǎng)改革的關鍵動力和導向[1]。新質生產力的核心要素是創(chuàng)新,這要求高校要積極應用信息技術進行教學改革,以提升教學效果,更好地培養(yǎng)符合新質生產力發(fā)展需要的創(chuàng)新型人才[2-3]。算法是一種系統(tǒng)化解決問題的策略和機制,在計算機科學、人工智能和管理學等學科的發(fā)展中發(fā)揮著重要的作用[4-6]。高校的“數(shù)據(jù)結構”“機器學習”“運籌學”等許多課程都涉及算法的內容。由于算法的抽象性和執(zhí)行過程的復雜性,許多學生在學習中理解起來比較困難[7-8]。而傳統(tǒng)的教學方式,往往依賴于教師講解和課本展示,很難幫助學生充分理解算法動態(tài)執(zhí)行的細節(jié)。因此,如何利用信息技術手段對算法教學進行創(chuàng)新,使學生能夠直觀地理解算法的運行過程,已成為高校算法類課程教學改革中亟待解決的問題[9-10]。
算法可視化技術為解決這一難題提供了一種全新的方案。其通過將抽象的算法執(zhí)行過程轉化為動態(tài)的圖形來展示,使學生能夠直觀地觀察每一步操作及數(shù)據(jù)結構的變化。這種動態(tài)演示,不僅有助于學生理解復雜的算法步驟,還能顯著地提升他們的學習興趣和參與度[11-13]。然而,現(xiàn)有的算法可視化工具通常只針對單一算法進行展示,缺乏綜合性的集成平臺。這種單一化的設計限制了學生在一個平臺上系統(tǒng)學習和對比多種算法的能力,也不利于他們深入理解算法之間的關聯(lián)和差異。
因此,本文設計并構建了涵蓋排序、查找和圖算法等常見算法的可視化教學平臺。該平臺具有的相關交互功能,通過動態(tài)展示算法的執(zhí)行過程,使學生能夠通過直觀的動畫形式觀察數(shù)據(jù)結構的變化和算法邏輯,以提升學生的學習興趣和增強學生的實踐創(chuàng)新能力。本文詳細介紹了該平臺的設計理念、系統(tǒng)架構和功能模塊。通過對學生使用教學平臺的學習效果、平臺易用性、學習興趣提升、交互體驗便利性及總體滿意度等5個方面進行統(tǒng)計分析,結果顯示學生平均評分在4.23~4.43分(滿分為5分),且各項評價的標準差相對較低,評分分布較集中,顯示出一致的高評價,教學實踐驗證了其在算法教學中的應用效果。
1" " 算法教學中面臨的挑戰(zhàn)
1.1" "算法的抽象與復雜性,導致學生缺乏學習興趣
算法涉及復雜的數(shù)學推導和邏輯結構,尤其是遞歸、動態(tài)規(guī)劃和圖算法等高級內容,具有高度的抽象性[14]。學生在學習過程中往往難以直觀理解這些概念,導致他們對算法的運行原理感到困惑。以動態(tài)規(guī)劃為例,學生需要理解如何將一個復雜問題拆分為若干子問題并逐步解決,通常需要掌握狀態(tài)轉移方程的推導。然而,狀態(tài)轉移方程本身并不直觀,許多學生難以通過理論知識理解其背后的邏輯,進而難以在實際問題中靈活運用。再比如遞歸算法,許多學生對遞歸調用的工作機制、如何分層解決問題和如何合并結果缺乏清晰的認知。隨著學習難度的增加,學生很容易產生挫敗感,認為算法內容過于枯燥乏味,最終導致他們失去學習興趣。學生如果在課堂上缺乏學習動力,就會出現(xiàn)以應付作業(yè)和考試為主要目標,缺乏對算法的深入探索與實踐的動力。
1.2" "缺乏動態(tài)演示,學生難以理解算法的運行過程
算法本質上是一個動態(tài)的過程,涉及數(shù)據(jù)的逐步變化和操作,如排序過程中的元素交換和遞歸算法中的調用棧變化等。然而,傳統(tǒng)的算法教學方式主要依賴于理論講授、偽代碼展示和課本中的靜態(tài)描述,學生很難通過這些方式直觀地理解算法的實際運行過程[15]。例如,在快速排序算法中,元素的分區(qū)、交換和遞歸排序等步驟都是動態(tài)發(fā)生的,學生僅憑靜態(tài)展示難以準確理解這些操作是如何逐步完成的。再如,遞歸算法的調用棧變化是一個高度動態(tài)的過程,學生通過代碼片段和理論說明,很難形成對遞歸層次及其返回路徑的清晰理解。在這種情況下,學生常常難以跟上算法的執(zhí)行邏輯,特別是當處理涉及大量步驟或復雜數(shù)據(jù)結構的算法時,如深度優(yōu)先搜索和動態(tài)規(guī)劃等,缺乏動態(tài)演示的教學模式使得他們對算法的執(zhí)行機制感到模糊,學習效果因此大幅降低。
1.3" "理論與實踐的脫節(jié),學生的實踐創(chuàng)新能力有待加強
算法課程講授了大量的理論內容,如算法設計和時間復雜度分析等,但實踐操作的機會往往不足,學生缺乏親自調試算法的機會。這種理論與實踐的脫節(jié),使得學生在解決實際問題時,難以將所學知識靈活應用。以排序算法為例,學生雖然可能理解快速排序的理論推導和時間復雜度,但如果沒有親自動手編寫和調試代碼,他們很難真正體會如何通過遞歸分值實現(xiàn)高效排序。同樣,對于動態(tài)規(guī)劃問題,如背包問題或最長公共子序列問題,學生如果沒有通過實踐編寫代碼來優(yōu)化這些問題,往往就難以深入理解為什么某些子問題需要被記憶化處理或如何高效利用狀態(tài)轉移方程。實踐操作不僅可以鞏固理論知識,還能幫助學生掌握調試和優(yōu)化代碼的技巧。缺乏實踐經驗的學生,面對復雜問題時容易感到無從下手,難以靈活設計和優(yōu)化算法,進而限制了他們創(chuàng)新能力和應對現(xiàn)實挑戰(zhàn)能力的提升。因此,增加算法教學中的實踐環(huán)節(jié),將理論與實際操作緊密結合,是培養(yǎng)學生實踐創(chuàng)新能力的關鍵。
2" " 算法可視化教學平臺設計
2.1" "算法可視化教學平臺總體設計框架
算法可視化教學平臺的總體設計框架如圖1所示。本文根據(jù)算法教學過程中面臨的挑戰(zhàn),提出算法可視化教學平臺的設計理念和建設目標,再根據(jù)設計理念,用瀏覽器/服務器(B/S,Browser/Server)架構實現(xiàn)教學平臺的相關功能,以實現(xiàn)教學平臺建設目標和培養(yǎng)發(fā)展新質生產力所需要的人才。
2.2" "算法可視化教學平臺設計理念和建設目標
2.2.1" "算法可視化教學平臺設計理念
傳統(tǒng)算法教學以理論講授為主,缺乏直觀展示,導致學生難以理解算法細節(jié)。本文設計的算法可視化教學平臺旨在通過動態(tài)化和可視化的技術手段,使學生直觀地理解算法的執(zhí)行過程。平臺通過圖形化演示呈現(xiàn)算法,并增加交互功能,以激發(fā)學生學習興趣,增強學生參與感,從而提升學習效果。
2.2.2" "算法可視化教學平臺設計建設目標
算法可視化教學平臺建設目標主要有以下3個方面:一是提升學生對算法的直觀理解。通過將算法執(zhí)行過程圖形化和動畫化,幫助學生更直觀地觀察數(shù)據(jù)結構的變化和算法步驟的推進。二是激發(fā)學生的學習興趣。通過動態(tài)展示和交互操作,使學生探索其工作原理,激發(fā)學習的積極性和興趣。三是培養(yǎng)學生的實踐能力和創(chuàng)新思維。通過可視化平臺,為將來學生解決實際問題和優(yōu)化算法提供基礎,進而培養(yǎng)學生的實踐能力和創(chuàng)新思維。
2.3" "算法可視化教學平臺架構
算法可視化教學平臺采用了瀏覽器/服務器架構,該架構簡化了客戶端的部署,學生和教師無須在自己的計算機或設備上安裝額外的軟件,只需通過標準的瀏覽器就能直接訪問平臺[16]。這極大地降低了操作者的技術門檻,學生可以在任何具備互聯(lián)網連接的設備上隨時隨地進行算法學習。
如圖1所示,平臺分為表示層、業(yè)務邏輯層和數(shù)據(jù)層等3個層次[17]。表示層是用戶與平臺進行交互的界面,通過瀏覽器完成,此部分負責向用戶展示數(shù)據(jù),并通過用戶輸入發(fā)起對服務器的請求。業(yè)務邏輯層是平臺的核心處理層,位于服務器端,負責處理來自表示層的用戶請求,執(zhí)行相關的業(yè)務邏輯,并通過數(shù)據(jù)層存取數(shù)據(jù)。數(shù)據(jù)層則管理和存儲平臺內的所有數(shù)據(jù),包括用戶信息、學習記錄和學習資源等。
2.4" "算法可視化教學平臺功能模塊設計
本文所構建的算法可視化教學平臺通過提供交互式的算法演示、豐富的學習資料和系統(tǒng)化的學習管理功能,幫助學生深刻理解復雜的算法運行原理,同時為教師提供教學支持和學生評價工具。該平臺的功能模塊如圖2所示,包括算法可視化模塊、算法資源模塊、教師管理模塊和學生管理模塊等4個部分。
2.4.1" "算法可視化模塊
該模塊是平臺的核心,通過動態(tài)演示算法執(zhí)行過程,幫助學生直觀理解算法的運作機制,涵蓋了鏈表、排序、查找、遞歸和圖算法等常見的基礎算法。利用可視化圖形技術,該模塊能夠動態(tài)展示算法執(zhí)行過程中的每一步操作,包括數(shù)據(jù)結構的變化、元素的移動、遞歸調用棧的變化及路徑的搜索過程等復雜步驟。由于采用動畫形式展示算法的具體步驟,學生可以直觀理解算法的運行原理,而不僅僅依靠偽代碼或文字描述。同時,學生可以控制算法的執(zhí)行過程,包括啟動、暫停、快進和重置等操作,這使他們能夠逐步觀察算法的每個操作步驟,深入了解每個步驟的具體作用。這種交互式的控制方式使得學生能夠更好地掌握算法的細節(jié)。
2.4.2" "算法資源模塊
為了支持學生對算法的深入學習,本模塊提供了與算法學習內容相配套的豐富學習資源,包括教學課件、教案、視頻和習題作業(yè)等,這些學習資源可以幫助學生在可視化演示之外獲得系統(tǒng)的理論支持。課件主要用于學生課前預習或課后復習,幫助他們在不同的學習階段強化對算法的理解。教案則包括詳細的教學計劃、知識點的全面講解和課堂活動的設計,幫助教師更好地組織教學工作,同時,學生也可以參考此教案,了解課程的重點和難點。算法相關的視頻講解方便學生隨時查閱,根據(jù)自己的學習進度靈活安排學習時間。平臺還提供算法配套的習題作業(yè),涵蓋多種形式的題目,如選擇題、填空題和編程題等,幫助學生通過練習加深理解,鞏固所學內容。
2.4.3" "教師管理模塊
該模塊為教師提供了一套全面的教學管理工具,幫助他們高效組織教學活動以及管理學生學習的進度,并進行相關成績評估和反饋。教師可以通過平臺發(fā)布編程作業(yè)、習題任務和學習計劃,設定明確的完成截止日期,確保學生按時完成,并能實時跟蹤每個學生的完成情況。模塊還支持教師管理整個課程的教學計劃,包括上傳教學資料、設置實驗方案和發(fā)布課程公告,確保課程內容有序開展。通過這個模塊,教師能夠集中管理所有的教學資源,減少煩瑣的線下管理工作,同時可以發(fā)布重要的課程公告,確保學生及時獲取最新信息。這一模塊極大地提升了教學效率,確保教學活動的高效、有序開展。
2.4.4" "學生管理模塊
該模塊通過自動記錄學生的學習活動,幫助學生回顧和總結學習的過程,同時也為教師提供學生表現(xiàn)的實時反饋。平臺會自動記錄學生的各項學習行為,包括已完成的算法演示、觀看過的學習資料、完成的習題和編程任務等信息。通過這些記錄,學生可以隨時回顧自己各部分學習的進展,了解自己的薄弱環(huán)節(jié),針對性地調整學習策略。同時,教師可以通過記錄,準確了解每個學生的學習情況,及時發(fā)現(xiàn)問題,并提供有針對性的指導和幫助,以此促進學生的全面發(fā)展。這種記錄和反饋機制,不僅能提升學生的學習效率,還為教師的教學評估提供有力支持。
3" " 算法可視化教學平臺應用
3.1" "教學設計案例——冒泡排序
基于本文提出的算法可視化教學平臺總體設計框架,構建了算法可視化教學平臺,該平臺已經應用在南寧師范大學信息管理與信息等專業(yè)的相關課程教學中?,F(xiàn)以數(shù)據(jù)結構課程中的冒泡排序為例,探討如何利用算法可視化教學平臺進行教學[18]。
冒泡排序的教學設計詳細描述如表1所示。冒泡排序的教學設計主要思路是:由于冒泡排序算法抽象難懂,本次課程采用“線上教學平臺+線下課堂教學”的混合教學模式,并將課程思政融入授課過程中,通過線上平臺冒泡排序可視化演示學習,如圖3所示。
3.2" "教學應用效果評價
為了對基于可視化教學平臺的冒泡排序算法的教學效果進行評估,設計了一份詳細的調查問卷,如表2所示,對學生在使用該平臺學習后的反饋信息進行統(tǒng)計分析。問卷共包含11個問題,涵蓋多個關鍵維度,包括學習效果、平臺易用性、學習興趣提升、交互體驗便利性、總體滿意度及學生對平臺改進的建議等。評分采用五分制,1~5分分別代表不同的滿意度水平:1分為“非常不滿意”,2分為“不滿意”,3分為“一般”,4分為“滿意”,5分為“非常滿意”。這些評分有助于量化平臺在各個方面的表現(xiàn),從而評估其在教學中的實際效果。在學生完成冒泡排序算法學習后,共有51名本科生參與了填寫調查問卷。隨后,對這些數(shù)據(jù)進行了描述性統(tǒng)計分析和相關性分析。
各項評價的平均值和標準差如表3所示。結果顯示平均分在4.23 ~ 4.43,表明學生對算法可視化教學平臺的整體評價較高。學生普遍認為該平臺在幫助他們理解復雜算法和提升學習興趣等方面表現(xiàn)出色,并表示愿意向他人推薦該平臺。其中,92.16%的學生對“更好地理解算法的執(zhí)行過程”給出了4分及以的上評分,94.12%的學生對“我喜歡通過平臺控制算法的執(zhí)行步驟來學習”給出了4分及以上的評分,90.20%的學生對“總體而言,我對該平臺的使用體驗感到滿意”給出了4分及以上的評分。各項評價的標準差相對較低,在0.6~0.8,表明大多數(shù)學生的評分接近平均值,評分分布較集中,顯示出一致的高評價。
此外,通過Pearson相關系數(shù)分析,發(fā)現(xiàn)“平臺的動態(tài)展示增強了我對算法學習的興趣”“平臺讓我更容易掌握復雜算法”之間的相關系數(shù)為0.80,證明動態(tài)展示有助于提升用戶對算法學習的興趣和理解復雜算法的能力;而“我喜歡通過平臺控制算法的執(zhí)行步驟來學習”“平臺讓我更容易掌握復雜算法”的相關系數(shù)達0.82,進一步證明通過控制算法執(zhí)行步驟能顯著提高學生對復雜算法的理解與掌握,達到了算法可視化教學平臺的建設目標。學生還對教學平臺提出了一些建議,如增加知識大綱、豐富圖案、增加注釋及開通校外訪問功能等,我們將在后續(xù)的平臺建設中進行完善,并增加實驗教學和課程思政的相關內容[19-21]。
4" " 結束語
算法教學作為計算機和管理等專業(yè)的重要組成部分,必須依賴有效的教學工具來提升教學效果。本文設計并構建了算法可視化教學平臺,通過動態(tài)演示和交互操作,解決了傳統(tǒng)算法教學中因抽象和復雜性所導致的理解難題,使學生能夠直觀地掌握算法執(zhí)行的每個步驟。該平臺涵蓋了鏈表、排序、遞歸和圖算法等多種基礎算法,同時整合了教學資源、習題和作業(yè)功能,為學生提供了一個理論與實踐相結合的學習路徑。此外,該平臺還為教師提供了豐富的教學管理工具,能夠有效地追蹤學生的學習進度并評估學習效果,從而進一步優(yōu)化教學過程。教學實踐表明,該平臺能夠激發(fā)學生的學習興趣和動手能力,為培養(yǎng)適應新時代創(chuàng)新型人才提供堅實的支持。
在將來的工作中,算法可視化教學平臺將向更高效、更智能的方向發(fā)展。在算法內容方面,平臺可以進一步擴展支持更復雜的算法類型,如深度學習、強化學習和分布式算法等算法。以深度學習為例,平臺可通過可視化的方式展示神經網絡的結構、訓練過程和參數(shù)優(yōu)化的動態(tài)變化。在功能模塊方面,平臺可以引入?yún)f(xié)作式編程環(huán)境,為學生提供更高效的學習工具。協(xié)作式編程環(huán)境可以讓學生在團隊中共享代碼、討論問題并協(xié)同解決算法設計與實現(xiàn)的任務。隨著大語言模型的快速發(fā)展,平臺還可以引入基于大語言模型的智能輔助功能。例如,當學生在學習過程中遇到問題時,平臺可以通過大語言模型提供實時解答,包括詳細的算法邏輯說明、代碼示例和優(yōu)化建議。在智能化方面,隨著大數(shù)據(jù)和人工智能技術的普及,平臺可以利用這些技術實現(xiàn)智能化的學習推薦系統(tǒng)。通過分析學生的學習軌跡、測試結果和行為數(shù)據(jù),系統(tǒng)可以精準識別每位學生的知識薄弱點,并個性化推薦適合該學生的學習路徑、練習題目和相關資源。此外,在教學場景中,平臺可以擴展應用于跨學科教育和多領域協(xié)作。例如:將其與工程類課程結合,幫助學生模擬和優(yōu)化算法在實際工程問題中的應用;或者與經濟管理類課程結合,分析優(yōu)化供應鏈和資源分配等問題,從而將算法知識的學習與實際應用緊密結合。
參考文獻:
[1] 黃如. 高等教育要以“新”促新以“智”提質(人民觀察)[N]. 光明日報, 2024-03-20 (1).
[2] 張輝波,王平,胡香榮,等.基于信息技術的課程融合教學改革與實踐:以“模擬電子技術”及“模擬電子技術實驗”為例[J].工業(yè)和信息化教育,2024(5):46-51.
[3] 楊清,郝志軍. 指向新質生產力發(fā)展的課程與教學改革向路[J]. 人民教育,2024(7):20-23.
[4] 鄭志峰.人工智能時代的隱私保護[J].法律科學(西北政法大學學報),2019,37(2):51-60.
[5] 周卓儒,王謙, 李錦紅. 基于標桿管理的 DEA 算法對公共部門的績效評價[J]. 中國管理科學, 2003 (3): 72-75.
[6] 于柳,吳曉群. 三維重建場景的紋理優(yōu)化算法綜述[J]. 中國圖象圖形學報, 2024, 29(8): 2303-2318.
[7] 李澤慧,張新有.基于Serverless架構的人工智能實驗平臺的設計與實現(xiàn)[J].計算機與數(shù)字工程,2024,52(2):590-597.
[8] 刁庶,蔣川東,田寶鳳,等.誤差理論與數(shù)據(jù)處理課程綜合性實驗平臺設計[J].吉林大學學報(信息科學版),2023,41(6):969-975.
[9] 張國輝,朱捷,郭勝會,等. 新時代“智能優(yōu)化與算法”課程教學改革探索與實踐[J]. 科教文匯,2023(23):109-112.
[10] 王啟軍,杭波. 基于“教賽結合”的人工智能專業(yè)“數(shù)據(jù)結構與算法”教學改革與實踐:以安徽人工智能學院為例[J]. 湖北文理學院學報,2024,45(7):84-88.
[11] 肖超恩,劉昌俊,董秀則,等. 基于模型驅動的密碼算法可視化開發(fā)平臺研究[J]. 密碼學報(中英文),2024,11(2):357-370.
[12] 王樹梅,王書芹. 算法可視化在數(shù)據(jù)結構課程教學中的應用[J]. 計算機教育,2022(7):190-193.
[13] 戴文鑫,袁榕澳.基于HTML5的算法可視化編輯器研究[J].信息與電腦(理論版),2020,32(5):64-66.
[14] 劉亞波,劉大有,高瀅.以實驗教學深化“數(shù)據(jù)結構”理論教學[J].吉林大學學報(信息科學版),2005,23(S2):135-137.
[15] 諶志群,王榮波.基于Flash的編譯算法動態(tài)演示系統(tǒng)設計[J].計算機時代,2011(9):59-61.
[16] 唐小燕,郭永洪.Web實訓云平臺的設計與實現(xiàn)[J].福建電腦,2024,40(9):85-89.
[17] 譚曉宇,陳偉,曾雪剛,等.基于B/S架構的安全教育系統(tǒng)設計與實現(xiàn)[J].數(shù)字技術與應用,2024,42(1):208-210.
[18] 朱敏,曾海.基于微課程的數(shù)據(jù)結構冒泡排序的教學設計[J].電腦知識與技術,2018,14(20):127,130.
[19] 蔡增玉,馮春明,李朋蓉,等.基于云存儲的在線實驗教學平臺設計與實現(xiàn)[J].軟件導刊,2024,23(8):275-280.
[20] 杜慧,強彥.計算機專業(yè)課程思政教學資源及平臺建設的創(chuàng)新與實踐[J].計算機教育,2024(8):30-35.
[21] 呂東,王萍,王宇航,等.固體金屬垃圾分類中基于深度學習方法的研究[J].廣西科技大學學報,2022,33(1):2021,32 (4):104-110.