?

以學生為中心的“數據結構與算法”實踐教學探索

2023-09-25 19:32劉玉秀李奕
計算機時代 2023年9期
關鍵詞:過程性考核以學生為中心實踐教學

劉玉秀 李奕

摘? 要: 在“以學生為中心”的教學理念下,分析目前“數據結構與算法”課程實踐問題,提出“線上線下結合、課內課外互補、基礎綜合配套、自主分組并行”的全方位全過程課程實踐設計思路,闡述了對應于過程性考核方式的實踐教學的實施過程,在教學實踐中取得了較好的效果。

關鍵詞: 數據結構與算法; 實踐教學; 以學生為中心; 過程性考核

中圖分類號:TP311.1? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)09-155-04

Student-centered practice teaching exploration for "Data Structure and Algorithm" course

Liu Yuxiu, Li Yi

(Naval University of Engineering Department of Computer and Data Engineering, Wuhan, Hubei 430033, China)

Abstract: Under the teaching concept of "student-centered", the current curriculum practice problems of "Data Structures and Algorithms" course are analyzed, and an all-round course practice design idea of "combining online and offline, complementing in-class and extra-class, basic and comprehensive supporting, autonomous and grouping in parallel" is proposed. The implementation of the process assessment method corresponding to practical teaching is elaborated. It has achieved good effect in teaching practice.

Key words: data structure and algorithm; practical teaching; student-centered; process assessment

0 引言

1952年著名心理學家卡爾.羅杰斯提出“以學生為中心”的教育理念,引起了有關教育的討論[1]?!耙詫W生為中心”強調了學生在學校里的主體地位,要求教師站在學生的角度,了解、理解、尊重、關心學生,一切以學生的發展、學習和效果為中心[2]。

數據結構與算法課程是計算機相關專業的核心基礎課程,其為后續計算機專業課程做有力支撐[3,4]。本課程是一門實踐性很強的課程[5],為理解數據結構和算法原理并靈活運用,需要不斷實踐。傳統教學以理論講授為主,對實踐重視不夠,學生編程實現和實際運用時無從著手,學習效果不佳[6]。如何站在學生的角度,充分考慮學生的現實基礎,更好地設計課程實踐教學環節,提高學習效果,需要深入思考和研究。

為了提高數據結構與算法實踐效果,已有研究者提出多種課程改革思路[4,6,7]。本文在分析數據結構與算法實踐環節基礎上,提出一套“線上與線下結合、課內與課外互補、基礎與綜合配套、自主與分組并行”的課程實踐設計思路。

1 數據結構與算法課程實踐實施環節現狀分析

數據結構與算法課程是計算機相關專業的核心課程,其對算法思維和編程實踐能力要求較高,學生學習會感到吃力,實踐中無從著手,容易產生挫敗心,效果不佳,究其原因,主要如下:

⑴ 重理論、輕實踐。教師偏重各種數據結構和算法的原理講解,而對于其實踐應用則輕描淡寫,實踐占比少[8]。學生被動灌輸理論知識,缺乏充分實踐鞏固,對數據結構和算法的原理理解浮于表面,容易遺忘,實際運用無從下手,學習效果較差。

⑵ 理論實踐脫節。傳統教學,通常在整個章節理論學完后再進行實驗,理論實驗間隔較久。學生的理論知識未及時得到實踐鞏固和深入理解,實驗課上,學生理論印象模糊,動手實踐吃力,理論實踐脫節。

⑶ 難度缺乏梯度。實驗學時少,內容單一,難度缺乏梯度。學生思維能力和編程基礎不一,單一難度實驗無法適應所有學生?;A差的學生獨立完成實驗較困難,挫敗感強,學習積極性不高;基礎好的學生沒有機會深入拓展,課程高階性和挑戰度不夠。

⑷ 實踐形式單一。傳統教學實驗僅限課內單人單組,實驗內容常常是從零開始完成編程實現,形式單一。實驗過程閉塞,學生無互相交流,也無課外參考資料,知識局限在書本中和課堂上,學習能力未得到很好培養。

2 全方位全過程實踐教學探索

2.1 實踐設計思路

針對以上問題,本文秉承“以學生為中心”理念,充分考慮學生現實情況,提出“線上線下結合、課內課外互補、基礎綜合配套、自主分組并行”的全方位全過程課程實踐設計思路,以此加強學員實踐力度、補充實踐梯度、豐富實踐形式,達到提升實踐能力、提高教學效果目的。設計思路見圖1。

⑴ 線上線下結合

線上實踐,依托EduCoder實踐教學平臺[9]。線上實踐主要分兩大塊:①對于簡單實驗,布置線上作業,依托EduCoder自動評測、統計過程數據等功能,教師充分了解學生實驗情況,及時進行輔導答疑;②對于綜合實驗,借助EduCoder平臺闖關式實驗設計功能,拆解成多個小關卡,層層遞進,步步引導,幫助學生逐步突破難點。

線下實驗,依托VisualStudio集成編程環境。對于復雜算法,要求學生學會調試程序[10],借助工具跟蹤、分析程序運行過程。線下實踐主要分兩大塊:①作為線上實踐的輔助手段,線下調試算法;②對于項目式課程大作業,線下查閱文獻、分析問題,設計算法,編程實現,調試運行。

⑵ 課內與課外互補

課內實踐分理論課和實驗課。理論課上,在知識點理論原理學習完后,教師通過提問啟發、程序填空等方式,引導學生推導關鍵代碼。講解完冒泡排序算法原理后,引導學生思考冒泡排序需要幾重循環來推出算法框架,并啟發學生根據算法原理演示過程推導循環邊界。讓學生從整體到細節逐步填充代碼,逐步實現代碼。理論課內實踐,縮短了理論實踐的間隔,降低了實踐難度,理論學習更扎實。有了理論課實踐的基礎,實驗課實踐可設置兩個目標:①驗證算法代碼,鞏固理論知識;②將基礎實驗拓展提升,將多個理論知識點綜合,如冒泡排序的基本實現、改進、應用綜合。

課外實踐,通過課后作業形式,對課上的實踐進一步擴展、補充,將學習從課內延伸到課外。課內解決基礎的,核心的算法,課外調動學生的開創思維,培養學生利用知識解決實際問題的能力。課內課外互補,既幫助學生夯實基礎,又引導學生創新挑戰。

⑶ 基礎與綜合配套

在實踐內容上,基礎和綜合實踐配套,由淺入深,層層遞進。理論課上和線上作業,安排基礎實驗,幫助學生消化鞏固理論知識。實驗課上,安排中等難度的綜合實驗,達到對理論知識綜合理解和簡單應用的目的。大作業上,安排和實際貼近的項目式實踐,達到學以致用,創新進取的目的。通過基礎和綜合實踐配套,幫助學生夯實基礎、突破難關、挑戰高度、銳意創新。

⑷ 自主與分組并行

在實踐形式安排上,自主和分組并行。對于基礎的、簡單的實驗,學生獨立自主完成,培養學生獨立思考的能力。對于融合多個知識的貼近實際應用的項目式大作業,以3~5人一組,分組進行綜合實踐,要求每組提交設計思路、分工安排、程序講解、運行演示和組內人員貢獻度互評。綜合實踐實現方法多樣,解決方案不一,不僅能培養學生查閱資料、分析問題、算法設計、編程實現等能力,還能培養學生團體意識、職業道德和溝通表達能力。

各章節線上線下、課內課外、基礎綜合、自主分組實踐具體安排見表1。

2.2 課程考核設計

課程考核是課程實施的重要一環,在學生學習過程中起著指揮棒的作用,實踐教學思路能否真正落地實現,能否達到預設目標,課程考核方式起著至關重要作用。本文根據實踐教學思路,設計了圖2過程性課程考核方式。

學生最終成績由三部分構成:平時、實驗和期末成績。平時成績占10%,主要考核點為學生課堂表現和作業,其中課堂表現重點考查課內啟發式編程的活躍程度。實驗成績占30%,考核點為課內線上實驗和分組實踐。課內實驗依托EduCoder平臺統計得分,統計數據包含學生實驗關卡成功與否、關卡所用時間、算法運行時間、代碼查重情況、測試次數等。分組實踐考評學生實踐作品的算法設計思路、代碼質量、運行結果、總結匯報情況,其中同一組中每個成員得分差異主要考慮組內人員貢獻度排名。終結性考核占60%,形式為半開卷筆試。學生可將經典算法原理,過程抄寫到紙上帶進考場,以此側重學生對算法理解、應用、編碼實現的考核,而不是算法記憶的考核,在筆試中,加大算法編程實現的比例,注重學生實踐能力考核。

3 實踐教學實施過程及效果

3.1 全方位實踐教學實施

數據結構與算法課程知識點多而雜,如果沒有從整體高度引導,學生學習容易管中窺豹,對自身的學習目標和當前達成程度沒有明確定位。針對這個問題,為落實實踐教學的效果,實施時采用了能力達成梯度模式,將能力達成和教學實施環節一一對應,使學生能明確定位自己學習情況和提升方向,實施過程如表2所示。

以線性表章節為例,前導知識為數組、指針。課前布置EduCoder基礎作業,推送相關慕課,學生自行完成;理論課上,學習順序表和鏈表存儲原理,課上引導學生完成線性表的添加、刪除、定位、創建等基本操作關鍵代碼;理論課后布置作業,讓學生根據課上學習的各個操作代碼,寫出完整的順序表和鏈表結構,并補全實現課上未講的操作,學生通過作業可以從整體上掌握順序表和鏈表的實現;實驗課安排鏈表反轉、線性表合并等基礎應用題目,這些題目代碼可以借鑒課上學習的代碼,適當修改即可,避免學生從零開始實現算法產生的畏難情緒,同時讓學生在掌握線性表后能做到一定程度擴展、應用;在整個章節學習完后安排一元多項式相加或手機通訊錄等實際案例的分組綜合實踐,鍛煉學生對已學知識的綜合應用能力。

3.2 實踐教學實施效果

數據結構和算法課程在2022年實施全過程全方位實踐教學設計,與2021年對比發現,學生學習積極性提高,動手實踐能力增強,基礎自主實驗完成度好,綜合實踐匯報體現出學生對數據結構和算法的深刻理解和靈活運用。與2021年相比,學生期末考試成績平均分由76.77上升到79.77分,提升了3.9%。其中,兩次考試編程實踐題均占30分,此部分得分,2022年均分較2021年提高了25%,教學效果提升明顯。

4 結束語

數據結構與算法課程,理論性強,對編程實踐能力要求高。本文貫徹落實“以學生為中心”的教學理念,從學生實踐角度分析出此課程的問題。為解決學生編程基礎差、實踐開展難的問題,提出“線上線下結合、課內課外互補、基礎綜合配套、自主分組并行”的全方位全過程課程實踐思路,幫助學生更好筑牢理論知識,更順利地將理論知識應用到實際問題中。從實施的結果看,此思路調動了學生學習積極性,提高了學生學習興趣,加強了學生的實踐編程能力,對教學效果提升較明顯。

參考文獻(References):

[1] 李嘉曾.“以學生為中心”教育理念的理論意義與實踐啟示[J].中國大學教學,2008(4):54-56.

[2] 趙炬明,高筱卉.關于實施“以學生為中心”的本科教學改革的思考[J].中國高教研究,2017(8):36-40.

[3] 張銘,耿國華,陳衛衛,等.數據結構與算法課程教學實施方案[J].中國大學教學,2011(3):56-60.

[4] 劉莞玲,吳英杰,傅仰耿,等.新工科背景下算法與數據結構實踐教學改革探索[J].計算機教育,2021(7):73-76.

[5] 陳仕軍,陶茂虎,王前.基于python語言版“數據結構與算法”的教學改革與實踐[J].湖北工程學院學報,2022,42(3):58-62.

[6] 付菊,孫連山,趙曉,等.基于能力培養的數據結構與算法實驗教學模式探索和實踐[J].計算機教育,2021(3):99-103.

[7] 梁冰,馮林,杜猛,等.數據結構與算法課程面向實踐的教學方法研究[J].計算機教育,2019(11):73-76.

[8] 張儉鴿,侯雪梅,楊奎武.數據結構與算法線上線下混合教學模式探索[J].計算機教育,2022(6):74-78.

[9] 尹剛,王濤,余躍,等.EduCoder:大規模開放在線實踐教學探索與應用——疫情防控下的在線實踐教學新途徑[J].軟件導刊,2020,19(10):1-7.

[10] 肖璞.數據結構課程算法實踐能力強化方法的研究[J].計算機時代,2020(11):95-97,102.

猜你喜歡
過程性考核以學生為中心實踐教學
應用型法學課程過程性考核方式探析
“以學生為中心”食品衛生與安全課程教學模式的構建
淺談“以學生為中心”的教學法
辨析判斷“以學生為中心”的教學標準應是教學質量
信息化背景下高職學生自主學習能力提升研究
“以學生為中心”理念下的大學圖書館建設
茶學專業校企合作實踐教學探索
《電氣工程畢業設計》 課程的教學設計
高職院校商務禮儀課程教學改革探索芻議
《數據庫高級應用》教學創新方法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合