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

?

面向復雜工程問題的數(shù)據(jù)結(jié)構(gòu)綜合教學案例設計*

2022-10-14 06:55康長青朱麗娟胡春陽吳中博
計算機時代 2022年10期
關鍵詞:數(shù)據(jù)結(jié)構(gòu)案例算法

康長青,朱麗娟,胡春陽,吳中博,谷 瓊,寧 彬

(1.湖北文理學院計算機工程學院,湖北 襄陽 441053;2.湖北文理學院物理與電子工程學院)

0 引言

無論是工程教育認證還是兩性一度的金課,都強調(diào)培養(yǎng)學生解決復雜工程問題的綜合能力。計算機類專業(yè)教學體系的各環(huán)節(jié)都應主動將工程問題的復雜性融入教學內(nèi)容,對解決復雜工程問題進行教學設計、組織實施和能力達成評價。數(shù)據(jù)結(jié)構(gòu)與算法作為計算機類專業(yè)的骨干基礎核心課程,更應該責無旁貸,持續(xù)進行課程改革,努力承擔起逐步培養(yǎng)學生解決復雜工程問題的責任。

1 實驗教學改革研究現(xiàn)狀

實驗教學具有直觀性、綜合性、探究性、啟發(fā)性等多個優(yōu)點,因而日益受到教學研究者的重視。文獻[5]針對培養(yǎng)科學型、工程型、應用型人才定位的不同,提出了基礎實驗內(nèi)容,課程設計實踐要求,教學重難點和相應的教學方案。文獻[6]詳細分析了傳統(tǒng)型、平臺型和復合型實驗教學模式的優(yōu)缺點,提出基于SPOC 的復合型實驗教學模型。文獻[7]從教材建設、教學平臺的拓展、教學方法的提升、考核機制的改革、實踐方案的優(yōu)化及教學團隊的沉淀等六個方面,開展了數(shù)據(jù)結(jié)構(gòu)課程的金課建設。文獻[8]提出了多層次、立體化、以線上線下相結(jié)合的實驗金課建設方案。然而,目前有關實驗教學案例設計的研究較少,這是一個薄弱環(huán)節(jié),如文獻[10]設計了基于線性表和二叉樹的磚塊地圖系統(tǒng),飛機游戲等游戲開發(fā)案例,文獻[11]提出了疫情期間面向應用場景的線上實踐教學案例(軟件系統(tǒng)中的自動補全功能,拼寫糾錯功能,STL 中的sort 函數(shù)源碼設計),文獻[12]提出了“求二叉樹寬度”復雜算法案例,文獻[13]提出以“學生基本信息系統(tǒng)”的各章節(jié)分步式案例等。但是總的來說,這些案例還不能滿足教學需求。①覆蓋的知識點單一,綜合性不高;②案例描述簡單,設計過程不詳細,借鑒性不強;③教學方式單一,學生積極性不高,無法承載培養(yǎng)學生解決復雜問題的綜合能力和高級思維的教學需要。因此,面向?qū)嶋H的復雜工程問題來設計實驗教學案例,已成當務之急。

2 基于德州撲克游戲的綜合性實驗案例設計

2.1 綜合訓練項目的培養(yǎng)目的

游戲有助于激發(fā)學生的學習動機,幫助學生學習各種知識,培養(yǎng)解決問題能力等高階能力,培養(yǎng)正確的情感、態(tài)度和價值觀,也能夠促進自主學習的方式形成,并有助于構(gòu)建富有吸引力的建構(gòu)主義學習環(huán)境。為了培養(yǎng)學生能夠靈活地、綜合地運用所學到的知識來解決實際的復雜工程問題的能力,我們精心設計了“德州撲克游戲系統(tǒng)的設計和實現(xiàn)”綜合實驗項目,該項目作為數(shù)據(jù)結(jié)構(gòu)與算法的必做實驗,采用2-3 人興趣小組,分步驟分階段完成相應的綜合訓練任務。該項目將培養(yǎng)學生如下幾個方面的能力。

⑴ 綜合運用所學到的理論知識獨立完成一個游戲系統(tǒng)的設計和實現(xiàn)項目,系統(tǒng)地進行需求分析、功能和流程設計、數(shù)據(jù)結(jié)構(gòu)與算法設計、程序編碼與測試、文檔總結(jié)的訓練。

⑵學會并掌握文獻搜索技能,即培養(yǎng)獲取專業(yè)文獻的能力,理解和描述問題的能力,能夠較準確的編寫系統(tǒng)方案和詳細設計有關的技術說明書。

⑶具備一定的項目風險意識,能夠制定和管理開發(fā)計劃,具備一定的項目管理能力。

⑷能夠自主學習、協(xié)作學習、和探究性學習,具有獨立分析和解決實際問題的能力。

⑸能主動與同學共享解決方案,討論算法的優(yōu)缺點,勝任團隊成員的角色與責任。

⑹能夠就項目中疑問和難點,和團隊成員,老師進行有效溝通和交流。

⑺用文字、圖表等表達自己的設計思路、測試結(jié)果及心得體會,能撰寫質(zhì)量較高的軟件工程項目報告。

2.2 綜合訓練項目的具體內(nèi)容

為了培養(yǎng)學生具有熟悉軟件工程開發(fā),了解一定軟件測試和軟件管理,會理解和應用常用的數(shù)據(jù)結(jié)構(gòu)和算法,我們設計了“德州撲克游戲系統(tǒng)設計和實現(xiàn)”綜合訓練項目,如圖1所示。

圖1 綜合項目的工程設計流程圖

需求分析階段,通過設計引導性問題要求學生完成①用文字或圖表介紹德州撲克牌型的牌型定義和打牌規(guī)則;②理解發(fā)牌,轉(zhuǎn)牌,比牌等專業(yè)術語,利用程序流程圖模擬整個游戲工作流程;③從國家政策、需求風險、市場風險、成本風險等角度分析和討論項目的風險因素。這個階段主要培養(yǎng)學生使用文獻搜索技巧查詢所需資料,具備理解和描述問題的能力,用文字和圖表成功描述項目的能力。

方案設計階段,需要在完成需求分析后進行總體設計。任務包括:明確研究的對象是什么、如何定義和表示、需要完成哪些功能、計劃使用何種界面、繪制功能圖、構(gòu)思軟件的操作流程等。這個階段培養(yǎng)學生具備一定的項目需求分析和總體設計能力,能夠收集、辨別并組織相關資訊的能力,能夠畫出軟件項目開發(fā)進度的關鍵路徑圖,能夠估算整個項目的開發(fā)成本的能力。

系統(tǒng)詳細設計階段,引導學生將一個較大的功能分解成多個函數(shù)來實現(xiàn)。設計內(nèi)容包括數(shù)據(jù)類型的規(guī)劃和設計、函數(shù)功能和函數(shù)首部的設計、函數(shù)間調(diào)用關系的設計、主要算法的設計與分析。比如發(fā)牌程序是游戲程序的關鍵步驟,將牌抽象為一個長度52位數(shù)組,常見的發(fā)牌思路有①每次隨機取兩張牌交換,循環(huán)K次;②隨機取一張,從數(shù)組中刪除后再隨機取一張再刪除;③取52 個數(shù)全排列中的任意一個;④經(jīng)典Knuth-shuffle算法等。鼓勵學生發(fā)散思維,頭腦風暴,相互討論,分析算法的時間復雜度和空間復雜度,選取合適的發(fā)牌算法。這一階段培養(yǎng)學生具備在掌握數(shù)據(jù)結(jié)構(gòu)專業(yè)知識的基礎上,能夠針對具體問題設計或選擇合適的數(shù)據(jù)結(jié)構(gòu)和算法,能夠自主學習、協(xié)作學習和探究性學習。

程序編碼階段,我們設計了一系列的核心編程任務,內(nèi)容包括①給一人發(fā)五張牌,運行10萬次,給出牌型的概率;②給兩人各發(fā)五張牌,給出所屬牌型和輸贏情況;③兩人打牌,公共牌分別為三張,四張,五張時的型和輸贏情況。這部分內(nèi)容是設計牌型判斷,牌型比較,排列組合函數(shù)編程等編程難點,團隊成員間討論如何應用數(shù)據(jù)結(jié)構(gòu)排序算法,各種同類牌型比較時的編程思路,排列組合函數(shù)的遞歸和非遞歸算法,能夠調(diào)用系統(tǒng)排序函數(shù)和排列組合函數(shù)等等。這個階段主要培養(yǎng)學生求真務實,腳踏實地學習態(tài)度,培養(yǎng)學生應用專業(yè)知識進行程序設計和程序調(diào)試,能夠獨立分析和解決實際問題的能力,勝任團隊成員的角色與責任。

軟件測試階段,主要任務是單元測試和系統(tǒng)集成調(diào)試,培養(yǎng)學生掌握一定的單元測試和集成調(diào)試的基本方法,持續(xù)改進算法或函數(shù)設計,依靠團隊不斷學習和經(jīng)驗積累,養(yǎng)成追求正確,科學嚴謹,盡善盡美的個人品格。

系統(tǒng)評價與改進階段,主要任務是用文字、圖表等表達個人設計的思路,分析系統(tǒng)的優(yōu)缺點,以研究式的學習進行系統(tǒng)優(yōu)化和完善。我們設計的開放式優(yōu)化任務包括①針對牌型計算模塊的優(yōu)化算法,優(yōu)化的思路有牌整數(shù)編碼比較法,正則表達式比較法,哈希查表比較法等,以及如何實現(xiàn);②考慮客戶端服務器模式,如何對發(fā)的牌定義,減少傳遞的數(shù)據(jù)量,節(jié)省服務器資源?如何對牌進行加密解密,來防止棋牌作弊器;③基于牌力值,潛力值,有效牌力值等牌力評估指標,查詢資料了解最近的研究現(xiàn)狀,學習Cactus Kev,Paul Senzee,TPT 算法,并進行算法實現(xiàn)和效率評估等。這個階段主要培養(yǎng)學生學會采用探究式學習策略進行系統(tǒng)優(yōu)化的思維,從系統(tǒng)角度去認識整個項目,積累項目的合作協(xié)調(diào),開發(fā)測試經(jīng)驗,使用各種工具性地解決復雜工程中遇到的各種問題。。

2.3 綜合訓練項目的復雜工程問題特征分析

“德州撲克游戲系統(tǒng)設計和實現(xiàn)”綜合訓練項目融合了數(shù)據(jù)結(jié)構(gòu)與算法綜合知識(如線性表,排序,查找和圖等四個教學章節(jié)的理論教學內(nèi)容結(jié)構(gòu),各種算法的分析和比較),軟件工程的開發(fā)流程(包括需求分析,方案設計,系統(tǒng)詳細設計,程序編碼,軟件測試和系統(tǒng)評價等教學內(nèi)容),軟件項目管理和成本效率分析(包括開發(fā)進度的關鍵路徑圖,項目開發(fā)成本估計)等,可以看作是一個課程群的綜合實踐項目,因此具有較高的挑戰(zhàn)性和綜合性。完成整個項目需要學生運用深入的工程原理分析,建立合適的牌型和牌型比較模型,考慮項目風險因素和時間管理等非技術因素,綜合所學的數(shù)據(jù)結(jié)構(gòu)和軟件工程基礎知識,獨立設計和團隊分工合作才能順利完成,達到項目的教學目標。項目鍛煉了學生系統(tǒng)分析與理解、算法設計和運用、文獻查詢和系統(tǒng)理解、性能測試與對比分析、文檔撰寫和團隊溝通等多方面綜合能力和高階思維,為培養(yǎng)學生在課程中逐步培養(yǎng)解決復雜工程問題提供了有力支撐。

3 教學效果

經(jīng)過面向復雜工程問題的綜合性實驗案例改革后,選取經(jīng)過綜合訓練改革前后學生的項目吸引力,能力成長滿意度,實驗課平均成績等三方面指標進行教學效果的評價。其中,項目吸引力和能力成長滿意度指標通過課程結(jié)束后的調(diào)查問卷得到,單個學生的實驗課成績由任課老師評分得到。我們得到的改革前后的教學效果對比如表1所示。

表1 效果對比

從表1 數(shù)據(jù)可以看出,改革前的綜合項目吸引力平均得分為66 分,能力成長滿意度為64 分,實驗課平均成績?yōu)?3.5 分;而改革后綜合項目吸引力平均得分為84 分,能力成長滿意度為82 分,實驗課平均成績?yōu)?1.7 分。仔細分析其中的原因,可以得知,改革前,學生覺得綜合性項目吸引力一般,對自己能力提升也就那樣,導致實驗平均成績不高。改革后,游戲案例來源于生活,應用廣泛,學生有較高的興趣,加上項目難度適中,能夠鍛煉其綜合能力,因此實驗平均成績有了較大的提升,取得了較好的教學效果。

4 結(jié)束語

綜合教學案例設計是培養(yǎng)學生解決復雜工程問題的關鍵環(huán)節(jié)。設計一個符合復雜工程問題特征的教學案例,既要考慮學生學情,又要考慮綜合性和挑戰(zhàn)度,是一件不容易的事情。論文以德州撲克游戲系統(tǒng)設計為例,探討了在課程實驗中進行綜合教學案例設計的思路和具體實踐,取得了較好的教學效果。在未來的教學實踐中,作者將不斷收集和分類學生在該項目學習中的問題和建議,持續(xù)改進,不斷完善。

猜你喜歡
數(shù)據(jù)結(jié)構(gòu)案例算法
案例4 奔跑吧,少年!
基于MapReduce的改進Eclat算法
Travellng thg World Full—time for Rree
隨機變量分布及統(tǒng)計案例拔高卷
進位加法的兩種算法
發(fā)生在你我身邊的那些治超案例
“翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學為例
一種改進的整周模糊度去相關算法
高職高專數(shù)據(jù)結(jié)構(gòu)教學改革探討
一個模擬案例引發(fā)的多重思考
乐亭县| 云龙县| 广河县| 辽阳市| 大厂| 松潘县| 贵德县| 武汉市| 塔城市| 平顶山市| 晋州市| 菏泽市| 称多县| 三都| 苍南县| 大新县| 龙里县| 孟连| 娱乐| 双辽市| 罗田县| 铜陵市| 渝中区| 岳普湖县| 南郑县| 中方县| 石首市| 嫩江县| 山东| 湖南省| 望都县| 开远市| 苏州市| 沙坪坝区| 通化县| 五莲县| 榕江县| 永和县| 灵丘县| 垣曲县| 刚察县|