?

基于OBE的《數據結構》課程實踐改革探討

2021-04-13 17:42常合友周愷
課程教育研究 2021年10期
關鍵詞:數據結構教學改革

常合友 周愷

【摘要】針對《數據結構》課程內容抽象,學生普遍有對知識點掌握不牢的問題,本文分析了當前數據結構教學實踐過程中存在的主要問題,探討了以OBE為目標,利用OJ對課程的教學實踐和課程評價環節進行改革。通過注重過程化考核、加大實踐教學力度、設計針對性題目、開展探究式教學,提高教學質量和學生的創新能力。

【關鍵詞】數據結構? 教學改革? OBE? OJ系統

【基金項目】國家青年自然科學基金(NO. 61806098);江蘇省高等學校自然科學研究面上項目(18KJB520029);南京曉莊學院青年專項(2017NXY49)。

【中圖分類號】G642 【文獻標識碼】B/A 【文章編號】2095-3089(2021)10-0116-02

隨著我國綜合實力和國際地位的不斷提升,高等工程教育正面臨著由大國向強國轉變的歷史機遇。目前,我國高等工程教育改革的主流方向是與國際接軌,培養得到國際認可的工程技術人才。OBE(即Outcomes?Based Education)是一種基于學生學習產出為導向的教育模式。在目前的中國工程教育專業認證體系中,要求將OBE工程教育理念貫穿于人才培養目標、課程體系設計、教學內容與教學要求、教學評價等各環節[1]。在實際的教學環節中,如何建設課程內容、改進教學過程,培養學生的抽象思維能力,提高學生的計算機應用能力是計算機工程教育教學所需考慮的重要問題。

《數據結構》作為計算機學科理論性和實踐性較強的專業基礎必修課,其教學目標是要求學生掌握各種常用數據結構的定義、特點以及基于這些數據結構的基本算法,具備一定的數據抽象能力,學會分析算法復雜度、比較算法性能和優化算法,提高應用計算機技術解決實際問題的能力。由此可見,通過該課程教學目標的實現,將對學生達到工程認證畢業要求,如具備解決復雜工程問題所具有的扎實的工程知識、問題分析能力、深度研究能力以及終身自主學習習慣等起到重要的支撐作用。

雖然工程知識和基礎理論可通過課堂教學傳授獲得,但是如何分析實際問題,通過數據抽象建立數學模型,并選擇合適的數據結構將問題轉換為計算機能夠處理的形式等抽象思維過程很難在傳統的課堂教學模式中培養出來。學生只有通過針對性的系統化實踐訓練,才能真正培養和提高抽象思維能力,理解和掌握課程的內容,培養主動和深入學習的習慣,提高分析和解決問題的能力,達到專業認證對學生素質和能力的要求。

1.教學實踐環節存在的問題

由于《數據結構》課程包含的知識點多、邏輯性強且抽象性高,涉及各種常用數據結構的定義、特點以及基于這些基本數據結構的基本算法等,教師常常重點講授理論知識,使用偽代碼來描述數據結構及其算法實現,教學內容比較抽象[2]。學生被動地接收理論知識,普遍感覺課程內容過于抽象,對抽象數據類型(Abstract Data Type, ADT)的理解比較膚淺,不知道如何利用 ADT 進行相關算法的設計,無法滿足工程認證教育的基本要求。

作為實踐性較強的專業基礎必修課程,實踐教學環節是數據結構教學的重要組成部分。然而有限的實踐教學往往過于注重基本理論的驗證性實驗,實驗題目比較陳舊,多是圍繞消化課堂內容而設計的一些碎片式的題目,缺乏系統化的實踐題目設計,尤其缺乏對數據結構的核心內容,即ADT的系統性訓練,導致學生無法實現算法從偽代碼到實際代碼的真正轉換。此外,在編程實驗過程中,學生遇到問題時無法與教師保持溝通,導致學生無法及時獲得教師的指導,影響學生的學習積極性。由于算法設計能力并未從實踐環節中得到實質性的鍛煉和提高,學生普遍對實踐教學的積極性不高,缺乏學習能動性,實踐教學效果不好。這種狀況顯然不利于學生分析和解決問題能力的培養。

為了真正領悟和掌握抽象思維能力,學生不僅需要從理論上掌握基本的知識點,還需要通過大量的課后訓練來提高算法設計能力,只有這樣才能將具體的數據結構和相關算法應用于解決實際問題。然而,大多數學生的自主學習能力較差,很難自覺地完成課下訓練。此外,《數據結構》課程大多以書面和理論知識考核為主,對實驗部分的考核則主要通過實驗報告。由于課后作業和課程實踐報告中普遍存在抄襲現象,教師無法全面了解學生對知識的實際掌握情況。

2.教學實踐改革探討

為了解決上述教學實踐過程存在的問題,我們在教學實踐中引入OJ(Online Judge)系統,并圍繞該系統對教學方法、實踐方法以及課程評價方法進行改革。通過引入OJ,引導學生從實際問題出發,將所學知識應用到具體問題中,通過編寫程序解決問題來加深學生對概念和算法的理解和掌握,進而提升學生的獲得感和學習積極性[3]。

OJ系統主要用于在線檢測程序源代碼的正確性。當學生提交程序后,該系統可以快速地返回學生一個狀態:通過、答案錯誤、超時、超出輸出限制、超內存、運行時錯誤、格式錯誤或無法編譯、未知錯誤,并返回程序使用的內存、運行時間等信息。目前廣泛應用于世界各地高校學生程序設計的訓練、參賽隊員的訓練和選拔、各種程序設計競賽等。

與程序設計競賽不同,《數據結構》課程的目標是培養學生按照ADT定義實現數據結構的能力,按照預定義的結構實現函數的能力以及選擇合適的算法解決問題的能力。因此需要根據實際需求對OJ系統進行改進,才能有效地將OJ系統嵌入到《數據結構》課程的教學中。

2.1案例化、層次化教學

從實際問題出發,進行問題驅動教學,激發學生的學習興趣,刺激學生進行自主探究。例如在講解線性表內容時,從圖書館借書開始,讓學生思考如何才能快速定位到圖書,進一步探討如何擺放圖書可以提高定位效率;再比如講解圖相關內容時,提出如下問題:從學校東門步行到地鐵站,有幾條路線可以選擇?哪條路線耗時最少?通過案例教學法幫助學生理解復雜問題,引導學生思考問題,利用所掌握的知識解決實際問題。

利用OJ系統,教師可以針對知識點布置隨堂作業。針對學生的不同能力,作業分為必做和選做兩部分。必做題重點考核學生對基礎知識點的掌握情況;選做題涉及更多的知識點,主要針對學習能力較好的學生。只有在完成必做題的前提下,學生才能打開選做題。比如在二叉樹的遍歷部分,必做題包括給定二叉樹,利用遞歸思想實現先序、中序和后序遍歷。選做題則要求學生利用線性表、棧和隊列等知識,完成非遞歸方式的二叉樹先序、中序和后序遍歷。得益于其強大的后臺統計能力,教師可以快速掌握學生對知識的理解程度,進而開展針對性、層次化教學。通過有重點地講解,幫助學生理解和掌握難度較大的知識點。

2.2有效整合教學和實踐環節

利用OJ系統,教師可以將理論教學與實踐教學合二為一,即全部課程均在機房完成,教師在講授知識點后,學生立刻進入OJ系統進行實踐訓練,從而打破傳統理論教學和實踐教學的異步性問題,提高教學效率。另外,OJ系統可以對學生的實踐結果進行快速地判別,幫助教師及時發現學生存在的問題,便于教師開展指導,保證問題得到及時解決,進而提高學生的獲得感。在教學實驗過程中,我們在OJ系統中增加交流平臺。教師可以通過該平臺與本班學生進行交流,回答學生的提問,進而更好地了解學生對知識的掌握程度。通過增加師生的交流和了解,促進教師因材施教,提高教學質量。OJ系統還可以自動檢測代碼的重復度。通過引入懲罰機制,可以有效杜絕抄襲現象,培養學生獨立完成作業的習慣。

2.3注重過程化考核,優化考核方式

借助OJ全天候開放的優點,學生可以隨時隨地進行練習。通過提交程序代碼,鍛煉自己分析問題、解決問題的能力。為了強化學生實踐動手能力,有效監督學生保質保量完成訓練任務,課程改革中強調過程化考核,即期末總分=隨堂練習部分×20%+課下練習部分×30%+實驗作業部分×20%+期末考試×30%。值得注意的是,四部分均在OJ環境下完成,OJ系統會記錄學生使用系統的信息,包括練習、作業、實驗以及交流情況,保證考核和評價的客觀性。通過不斷優化考核方式,逐步建立起完善的評價與管理機制。

2.4題庫設計

基于數據結構教學大綱,適應工程認證教育的要求,我們重新設計了數據結構的實踐題目。目前,試題庫已包含了 200 余道題目,15個專題試題集。這些題目的內容包括:(1)數據結構(線性表、鏈表、棧、隊列、二叉樹、最優樹、圖)的完整 ADT 設計;(2)建立在 ADT 基礎上的數據結構應用算法題目;(3)算法設計實現部分(結構體、排序、查找)題目等。上述三部分內容環環相扣,層層遞歸。ADT設計考查學生對數據結構的掌握程度,應用算法題目要求學生按照給定的ADT實現特定的數據結構,算法設計實現部分則要求學生根據算法的定義實現特定算法,解決特定問題。

3.實踐案例

以圖為例,我們安排了18道實訓題目,如表 1 所示。題目可對應于四個階段:階段 1,建立圖的鄰接矩陣、鄰接表存儲結構;階段 2:在圖存儲結構之上,完成各種遍歷操作,包括深度優先遍歷、廣度優先遍歷,完成后將其加入到圖的 ADT 基本操作集中。階段 3:在存儲結構及各種遍歷算法的基礎上,實現 ADT 的其他基本操作,包括拓撲排序、連通分量、生成樹等,完成后將其加入到二叉樹的 ADT 基本操作集中。階段 4:通過完成的圖的抽象數據類型,完成簡單的應用算法設計。

實訓內容包含的知識要點滿足OBE要求,題目從易到難并環環相扣,有助于學生鞏固所學理論知識并加以應用,幫助不同水平層次的學生提升算法設計能力。

4.結語

本文針對當前《數據結構》課程教學過程中存在的問題進行了探討,提出了以OBE為目標,將OJ系統全方位引入到該課程的教學和實踐改革中的幾點措施。通過幾年的建設,《數據結構》課程在教學實踐方法、實驗內容和考核方式等越來越系統化,能夠滿足多層次、多角度的實驗教學活動?!稊祿Y構》課程的教學實踐改革不僅促進了學生動手能力和思維能力的培養,還提高了學生應用數據結構知識解決實際問題的能力,有效地提高了教學效果。在未來的教學實踐過程中,我們會繼續從實踐教學方法和手段等多個方面入手,不斷完善《數據結構》課程的OBE建設,提高課程的實踐教學水平。

參考文獻:

[1]駱小紅,馬永紅.基于OBE理念的數據結構教學設計[J]. 科技視界,2018(30):112-113.

[2]譚定英,陳平平,劉慧玲.以問題為中心的案例教學法在數據結構與算法課程中的應用[J].計算機教育,2013(12):50-53.

[3]張仕,吳聞,郭躬德,等.基于PCOJ的數據結構實驗教學探索[J].計算機教育,2015(3):30-32.

作者簡介:

常合友,男,講師,研究方向為機器學習,模式識別。

周愷,男,實驗師,研究方向為智能交通。

猜你喜歡
數據結構教學改革
數據結構課程教學網站的設計與實現
中職學?!吧菊n堂”的調查研究與實踐
高校三維動畫課程教學方法研究
基于人才培養的技工學校德育實效性研究
現代信息技術在高職數學教學改革中的應用研究
以職業技能競賽為導向的高職單片機實踐教學改革研究
微課時代高等數學教學改革的實踐與探索
“翻轉課堂”教學模式的探討——以《數據結構》課程教學為例
TRIZ理論在“數據結構”多媒體教學中的應用
《數據結構》教學方法創新探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合