国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

應用型本科“數據結構”課程教學探索與思考

2022-03-14 08:44王云
科技與創(chuàng)新 2022年5期
關鍵詞:工程化數據結構編程

王云

(南京理工大學泰州科技學院,江蘇 泰州225300)

“數據結構”課程是計算機類及相關專業(yè)的核心課程,在計算機學科的教學中占據重要的地位,各高校都十分重視該門課程的教學工作。但高校由于辦學性質及人才培養(yǎng)定位的不同,對于“數據結構”這門課程最終的培養(yǎng)要求及培養(yǎng)目標顯然定位也不能完全相同。對于研究型高校,筆者認為應著重培養(yǎng)學生的創(chuàng)新思維,深入研究數據結構關聯的算法,重在對算法的思考與改進,輔之以經典算法的實現;而對于非研究型高校,尤其針對應用型本科高校,筆者認為更多的是理解原有的經典數據結構算法,進而在理解的基礎上運用一門編程語言完整無誤地實現編程才是最重要的,因此如何有效開展該門課程的教學工作,切實提高學生的實踐動手能力及提升學生的編程思維,值得每一個應用型高校計算機相關教師的思考與探索?;谏鲜霰尘埃疚慕Y合筆者“數據結構”課程教學改革的實踐,就該門課程的教學現狀、教改思路等方面進行了一些探討。

1 課程教學現狀與面臨的問題

1.1 重理論,輕實踐

“數據結構”課程整體難度較大,知識點較為抽象,尤其是樹及圖等章節(jié)的內容,與數學聯系較為緊密,對學生的邏輯思維要求較高,這就決定了對該門課程的教學需要著重加強學生上機實踐環(huán)節(jié),只有通過不斷地上機演練和總結思考,才能在實踐中逐步理解掌握數據結構的各知識點具體含義。而經過調查,發(fā)現大部分應用型高校教師在進行該門課程教學時,基本上都是以理論教學為主[1],課程的實踐學時普遍較少,大部分高校在實際的教學中,都是單純地在理論課教室授課,可能由于授課時間有限,或者部分教師自己對算法的理解與實現也不是很到位,這就造成了很多教師只是被動地將數據結構對應的相關算法通過PPT展示,然后對照著代碼很粗略地講解,很少能將代碼通過現場編程等方式,具體告知學生算法的基本原理及實現的過程,從而造成學生也只能被動地聽,很少有時間或者有精力去思考算法的具體實現過程,這樣就無形中導致學生面對大量抽象的知識點一知半解,從而不能靈活應用數據結構知識解決實際的編程問題,課程教學效果大大折扣,也不利于應用型人才的培養(yǎng),教學效果與應用型高校實際的人才培養(yǎng)定位是相違背的。

1.2 教材選取問題

經過調研及查閱文獻可知,目前大部分應用型本科高?;旧隙歼x用C語言版本進行數據結構的描述,也有部分院校選用C++版本描述[2],但無論是C語言還是C++語言描述數據結構,筆者認為都不是很適合。采用C語言描述數據結構,編程思維繁雜且缺少面向對象思維,如C語言中的指針雖然編程較為靈活,但具體編程時,學生不易掌握且會濫用,同時在描述相關數據結構時使用的數據類型也較為抽象,也不利于學生的理解,久而久之造成學生對學習這門課產生了較大的畏難情緒。同時上機操作時,單純用C語言去描述數據結構對應算法的具體實現過程,也絕非是件容易的事。教學實踐中發(fā)現,大部分同學都不能將程序從頭寫到尾,即完整地將一個算法描述出來,往往都需要教師將程序的大部分內容預先給出,只留出一些空讓學生去填寫,這樣編程教學效果其實是打折扣的;而C++語言描述雖然具備面向對象思維,但語言的應用前景不是很寬廣且語言自身的編程難度也很大,比如C++中的多重繼承機制、不能自動進行垃圾回收,也會讓學生產生畏難情緒,導致學習的效果也得不到保障。

1.3 課程內容設置不合理

研究型高校以培養(yǎng)學術型人才為目標,因此對于“數據結構”課程的教學,往往理論挖得很深,注重知識的廣度與深度,課程內容講究面面俱到[3],如應用型高校在介紹樹的相關內容時,一般只會介紹樹及二叉樹的基本內容,而研究型高校除了介紹常規(guī)樹所對應的基本知識外,還會著重介紹B+、B-樹等內容。同時在具體授課時,除了讓學生理解算法并實現算法外,教師往往還會額外布置學習任務,如通過閱讀論文、查閱文獻、舉辦專題講座等形式,進一步加深、拓展學生對數據結構知識的理解與運用。而應用型高校以培養(yǎng)實踐技能型人才為目標,這就要求不能照搬研究型高校的教學內容和教學方法,而應挖掘適合應用型人才培養(yǎng)的教學內容和教學方法。但筆者發(fā)現,大部分應用型高校對“數據結構”課程的教學內容與研究型高?;緹o差別,也是注重對抽象知識點的深挖,而較少啟發(fā)學生對數據結構編程的思考。課程內容側重講解各類型數據結構的特性及存儲,而對數據結構所對應的算法要求偏低[4]。

1.4 缺乏工程性教育理念

目前,“數據結構”課程基本上較少融入工程性教育理念,較多地是單純講解知識點,這樣就不能很好地把握課程的工程化建設方向和重點[5]。有些院校即使引入相關工程化元素,也只是點到為止,未構建工程化認證體系;未提出“數據結構”課程的工程化建設目標[6];未嚴格按照工程教育認證標準要求,統(tǒng)籌安排,提前部署,進一步推進以“學生中心、成果導向、持續(xù)改進”教育教學理念的落實;未堅持以工程教育專業(yè)認證標準為導向開展課程建設,突出課程特色。從而造成培養(yǎng)的學生較難進入工程化行業(yè)就業(yè),職業(yè)能力有較大欠缺,也不符合現在國家倡導的新工科教育理念。

2 課程教改思路

2.1 選用Java語言描述

筆者在實際的“數據結構”課程教學中,選用Java語言描述數據結構。Java語言是優(yōu)秀的面向對象編程語言。該語言應用范圍廣泛,是市場編程的主流語言之一。使用Java語言描述數據結構,編程思路清晰且靈活,如只需使用泛型類即可描述復雜的數據結構,從而使得程序的通用性、復用性大大提高,而且學生一般也具備Java的編程基礎,利于學生學習掌握。筆者在教學實踐中發(fā)現,只要啟發(fā)學生好好思考,并鼓勵他們勇于嘗試,大部分學生都能將程序完整地寫出來,這樣不僅讓學生切實掌握了數據結構對應算法的精髓,也讓學生的學習信心和學習熱情得以較大程度的提升,學習效果還是非常不錯的;再比如Java語言摒棄了多重繼承機制,并具備垃圾自動回收機制,降低了學生編程的復雜性;同時Java語言提供了豐富的系統(tǒng)類和接口,如使用Java集合類就可以很方便地描述和操作鏈表,使得學生容易上手,并對描述復雜的數據結構算法樹立信心,而不必糾結于如何去描述數據結構或者分散學生的編程精力,使得學生可以從繁雜的數據結構描述中解放出來,只要關注算法的核心實現思想即可,學生實際的編程效果得到保證。

2.2 側重實踐環(huán)節(jié)

筆者目前對于該門課程的教學全程在機房中進行,同時課程的實踐學分比例占比在60%左右,改變了以往以理論為主的教學模式。實際教學中,通過PPT并輔之以其他教學軟件,先向學生初步講解各數據結構的特點及存儲方法;然后重點以實際的現場代碼演示來講解分析數據結構的各操作及算法,演示過程中,會著重啟發(fā)學生的思考,如教師先給出部分代碼,讓學生思考后,再由學生完成后續(xù)代碼,再比如教師先用順序存儲完成代碼的編寫,然后要求學生再使用鏈式存儲去完成同樣的算法;最后一定會留有充足的時間,讓學生實際演練并給與及時的指導。同時對于學習有余力的同學,會留有難度較高的習題讓他們思考并完成,針對有意向參與編程競賽的同學,也會融入編程競賽的真題,并著重介紹編程競賽中常用的算法,讓學生學完這門課后,能從容參與各項編程競賽中;在上課過程中,針對學生普遍存在的共性問題,教師及時加以講評,絕不把問題留在下節(jié)課,也絕不讓問題擠壓,充分保證了當天的學習效果。教學實踐證明,學生學習的積極性有了顯著提高,學生運用數據結構解決實際編程需求的能力也得以增強。

2.3 教學內容的選取

針對應用型人才培養(yǎng)的特點及學生學習基礎相對薄弱等現實因素,筆者在實際的教學中,摒棄了一些實踐性不是很強的教學內容,如B+、B-樹、廣義表、堆排序等內容,上述內容一方面在實際的編程中應用范圍不是很廣,另一方面后續(xù)課程如算法分析與設計也會涉及到上述內容,這樣就能給學生充足的時間和精力去消化數據結構中最基礎最核心的內容,在一定程度上避免了貪多嚼不爛的情形,筆者認為這種取舍對于應用型高校來說還是合理的。教學中筆者保留實際編程中應用范圍最廣的知識點,如線性結構中的線性表、棧、隊列、非線性結構中的二叉樹、圖以及基本的排序及查找等。這樣既可以減輕學生的負擔,又可以讓學生在有限的學時中切實掌握基本的數據結構知識點,達到夠用、會用即可。同時在實際的教學中,針對應用型高校學生的特點,不過多闡述相關知識點的推理過程,如介紹二叉樹的特性時,只給出二叉樹的特點,只讓學生記住這些性質即可,一般較少涉及具體二叉樹性質的證明與推導過程,這樣也能無形中能減少學生的學習壓力,而學生的學習效果并不會受到什么影響。

2.4 創(chuàng)新改革教學方式

為了進一步提高學生學習的積極性和主動性,筆者在實際的“數據結構”課程教學中,結合學校打造金課、一流課程等契機,充分利用智慧教學手段,改進傳統(tǒng)課堂教學方式,不斷創(chuàng)新改革教學方式與教學方法,如探索線上線下混合式教學模式,合理分配課程線上線下的內容與學時,尤其是在課程內容分配時,絕非簡單地利用章節(jié)來分配,而是根據具體的教學要求、教學內容進行模塊化分配,如對于線性表的講解,筆者將其順序存儲部分內容置于線上教學環(huán)節(jié)中,讓學生通過視頻、課堂測驗、討論等環(huán)節(jié)加以學習,而線性表的鏈式存儲部分則置于線下教學環(huán)節(jié),在學生具備數據結構存儲思想的基礎上,進行類比學習,啟發(fā)學生對2種存儲類型的思考。教學中還積極利用中國大學MOOC平臺、慕課堂等多種教學手段,實現對學生學習過程的全程化監(jiān)督管理。如實際教學中,通過慕課堂發(fā)布課堂測驗,要求學生在課堂上現場完成,完成后自動實現打分功能,并將每次慕課堂測試的考核嚴格納入最終成績的評定中;再比如,完成一個章節(jié)的教學后,就會及時通過MOOC平臺發(fā)布章節(jié)測驗,要求學生在規(guī)定時間內完成,同時為了激勵學生,共設置有2次作答的機會,如果第一次完成得不是很理想,可以申請進行第二次作答,取較高的分數進行記錄;同時中國大學MOOC平臺還提供了話題討論等功能,教師可以就重要的知識點設置相關話題,讓每個學生都參與討論,學生在討論的過程中,取長補短。實踐表明,學生的學習熱情及學習效果有了很大的提高,尤其是課后作業(yè)環(huán)節(jié),學生自主完成度及完成質量較改革前傳統(tǒng)的教學手段有了明顯提升,教學效果得以保證。圖1為一學期課程教學的慕課堂線下課堂數據,圖2為線上課堂數據。

圖1 線下課堂數據

圖2 線上課堂數據

2.5 融入OBE工程化教育理念

針對傳統(tǒng)“數據結構”課程教學中存在著缺乏工程化教育理念的問題,筆者也在積極探索“數據結構”課程的工程化建設問題。嚴格按照工程教育認證標準要求,統(tǒng)籌安排,提前部署,進一步推進“學生中心、成果導向、持續(xù)改進”教育教學理念的落實,堅持以工程教育專業(yè)認證標準為導向開展課程建設。遵循OBE教育理念,開展基于成果導向的育人模式創(chuàng)新與實踐研究,解決教育教學改革與創(chuàng)新型人才培養(yǎng)中的重點問題和難點問題。針對“數據結構”課程的工程性特點,與合作企業(yè)共同研討符合工程化的教學內容和教學大綱,同時利用專業(yè)現有的實驗實訓資源,依托行業(yè)學院,構建虛擬實驗平臺,為培養(yǎng)學生的數據結構工程化提供堅實的保障。筆者在實際的教學中還創(chuàng)新了“數據結構”課程的考核方式,以能力考核為導向,倡導過程化成績評價,采用答辯、大作業(yè)、項目演示等考核方式,凸顯對學生工程實踐能力考核。

3 總結

本文在闡述應用型本科“數據結構”課程教學相關問題的基礎上,著重探討了“數據結構”課程的教改方向,應用上述教學手段和方法對應用型高校提高“數據結構”的教學質量及提升學生的軟件編程思維具有一定的積極作用。參考文獻:

[1]史婷婷,劉衛(wèi)華,賀超波.《數據結構與算法》課程改革中應用微信公眾平臺的實踐效果研究[J].信息記錄材料,2019(7):137-139.

[2]唐瑞雪.融入計算思維的數據結構教學改革探索[J].福建電腦,2019(8):107-109.

[3]魚靜,夏良,王秀珍.數據結構課程教學改革的探索與實踐[J].計算機教育,2019(11):77-80.

[4]趙力衡,李麗華.數據結構課程中面試式教學模式探索與實踐[J].電腦知識與技術,2021(14):152-153.

[5]趙存有,陳國晶,常祿.基于OBE理念的課程教學設計研究[J].黑龍江教育(理論與實踐),2020(8):70-71.

[6]李金玲,李華新.工程教育視閾下基于OBE理念的混合式教學模式研究[J].軟件導刊(教育技術),2019(9):36-37.

猜你喜歡
工程化數據結構編程
數據結構線上線下混合教學模式探討
世界首臺高溫超導高速磁浮工程化樣車下線
時速620千米高速磁浮工程化樣車下線
重典型應用,明結構關系
玩游戲學編程,Blockly Games上手玩
紡織機上誕生的編程
編程屋完成數百元萬天使輪融資
學編程,先畫畫
PLC軟件工程化在高端工藝裝備研制中的應用初探
PLC軟件工程化的管理實踐