本課程是繼《數(shù)據(jù)結(jié)構(gòu)》和《算法設(shè)計(jì)與分析》后的一門(mén)算法設(shè)計(jì)和編程實(shí)踐的課程,旨在引導(dǎo)學(xué)生理論聯(lián)系實(shí)際,利用數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)去嘗試解決實(shí)際問(wèn)題,進(jìn)一步提升其算法設(shè)計(jì)與軟件編程技能,從而增強(qiáng)其解決復(fù)雜工程問(wèn)題的能力。本課程分四個(gè)階段:第一階段是簡(jiǎn)單實(shí)際問(wèn)題的求解,涉及到基本數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)和簡(jiǎn)單應(yīng)用(在線編程實(shí)訓(xùn));第二階段是較復(fù)雜實(shí)際問(wèn)題的求解,涉及到問(wèn)題分析、模型建立、算法設(shè)計(jì)及有效實(shí)現(xiàn)(在線編程實(shí)訓(xùn));第三階段考核學(xué)生的基本數(shù)據(jù)結(jié)構(gòu)和算法的有效實(shí)現(xiàn)和應(yīng)用技能(在線編程考核);第四個(gè)階是探究中等難度實(shí)際應(yīng)用問(wèn)題的求解,以小組為單位讓學(xué)生利用數(shù)據(jù)結(jié)構(gòu)和算法知識(shí),通過(guò)分析與建模、算法設(shè)計(jì)與實(shí)現(xiàn)去嘗試解決較復(fù)雜的工程實(shí)踐問(wèn)題(在線編程實(shí)踐,項(xiàng)目合作和展示)。
本課程基于歷屆CCF CSP認(rèn)證真題實(shí)訓(xùn)和PTA平臺(tái)的編程實(shí)踐開(kāi)展教學(xué),以能力培養(yǎng)為導(dǎo)向,著力培養(yǎng)學(xué)生問(wèn)題分析、算法設(shè)計(jì)與編程實(shí)踐能力,以增強(qiáng)其解決實(shí)際問(wèn)題的能力。 中國(guó)計(jì)算機(jī)學(xué)會(huì)(CCF)的計(jì)算機(jī)軟件能力認(rèn)證(簡(jiǎn)稱CCF CSP認(rèn)證)目標(biāo)與本課程目標(biāo)基本一致。CSP認(rèn)證考試內(nèi)容覆蓋大學(xué)計(jì)算機(jī)專業(yè)學(xué)習(xí)的程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)及算法,以及相關(guān)數(shù)學(xué)基礎(chǔ)知識(shí)。CCF在中國(guó)計(jì)算機(jī)領(lǐng)域?qū)W術(shù)方面具有領(lǐng)軍地位使得CSP認(rèn)證具有權(quán)威、公正、客觀等特性,已經(jīng)得到業(yè)界廣泛認(rèn)可。CCF CSP認(rèn)證成績(jī)是很多知名IT公司優(yōu)先招聘軟件開(kāi)發(fā)崗位條件之一。全國(guó)一些985、211高校已將CSP認(rèn)證成績(jī)納入計(jì)算機(jī)專業(yè)的教學(xué)計(jì)劃,作為計(jì)算機(jī)專業(yè)課程的上機(jī)成績(jī),甚至作為畢業(yè)要求之一;一些高校將CSP認(rèn)證成績(jī)作為研究生機(jī)試復(fù)試成績(jī),用于選拔優(yōu)秀學(xué)生。PTA (https://pintia.cn)是浙江大學(xué)國(guó)家級(jí)程序設(shè)計(jì)系列課程教學(xué)團(tuán)隊(duì)與網(wǎng)易公司、杭州百騰教育科技有限公司合作推出面向高校和社會(huì)的程序自動(dòng)評(píng)測(cè)、開(kāi)放式實(shí)踐教學(xué)輔助平臺(tái),是一個(gè)優(yōu)秀程序設(shè)計(jì)類課程實(shí)踐訓(xùn)練平臺(tái),已有許多大學(xué)選擇該平臺(tái)實(shí)施程序設(shè)計(jì)類課程實(shí)踐環(huán)節(jié)。
本課程的第一階段和第二階段依托CCF CSP官網(wǎng)(https://www.cspro.org/)上模擬考試模塊(http://118.190.20.162/)進(jìn)行算法與編程實(shí)訓(xùn),第三階段和第四階段依托PTA平臺(tái)進(jìn)行算法與編程實(shí)踐。對(duì)四個(gè)階段分別評(píng)分后綜合可得本課程的最終考核評(píng)分,四個(gè)階段評(píng)分占比分別為25%,25%,20%,30%。
本課程中各種算法設(shè)計(jì)思想都是人們?nèi)粘I钪薪鉀Q問(wèn)題的方法和技術(shù)的提煉,含有豐富的哲學(xué)思想??梢猿浞滞诰蚋鞣N技術(shù)的思想內(nèi)涵,適時(shí)地對(duì)學(xué)生進(jìn)行思政教育。同時(shí)結(jié)合算法與編程實(shí)訓(xùn)和解決復(fù)雜工程問(wèn)題的實(shí)踐體驗(yàn),讓學(xué)生領(lǐng)悟和感受優(yōu)化布局、節(jié)省資源意識(shí)和意義,以及勇于創(chuàng)新、追求卓越的精神。
?《數(shù)據(jù)結(jié)構(gòu)與算法課程項(xiàng)目》課程教學(xué)大綱
一、課程信息
課程名稱 | (中文)數(shù)據(jù)結(jié)構(gòu)與算法課程項(xiàng)目 | ||||||
(英文)Projects for Data Structures and Algorithms | |||||||
課程編碼 | 21H24120 | 課程性質(zhì) | ■必修 £選修 | ||||
課程類型 | £通識(shí)教育 £大類教育 ■專業(yè)教育 £師范教育 | ||||||
所屬模塊(通識(shí)選修課填寫(xiě),限選1項(xiàng)) | £創(chuàng)新創(chuàng)業(yè) £藝術(shù)修養(yǎng) £文化傳承 £社會(huì)研究 £科學(xué)思維 £多元文化 £道德推演 | ||||||
適用專業(yè) | 計(jì)算機(jī)類各本科專業(yè) | ||||||
開(kāi)課部門(mén) | 計(jì)算機(jī)學(xué)院 | 課程負(fù)責(zé)人 | 陳衛(wèi)東 | ||||
學(xué)時(shí)學(xué)分 | 學(xué)分:1 | 總學(xué)時(shí):32 | 理論:0 | 實(shí)驗(yàn):0 | 實(shí)踐:32 | ||
授課語(yǔ)言 | 中文 | ||||||
先修課程 | 程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析 | ||||||
二、課程簡(jiǎn)介
本課程是繼《數(shù)據(jù)結(jié)構(gòu)》和《算法設(shè)計(jì)與分析》后的一門(mén)算法設(shè)計(jì)和編程實(shí)踐的課程,旨在引導(dǎo)學(xué)生理論聯(lián)系實(shí)際,利用數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)去嘗試解決實(shí)際問(wèn)題,進(jìn)一步提升其算法設(shè)計(jì)與軟件編程技能,從而增強(qiáng)其解決復(fù)雜工程問(wèn)題的能力。本課程分四個(gè)階段:第一階段是簡(jiǎn)單實(shí)際問(wèn)題的求解,涉及到基本數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)和簡(jiǎn)單應(yīng)用(在線編程實(shí)訓(xùn));第二階段是較復(fù)雜實(shí)際問(wèn)題的求解,涉及到問(wèn)題分析、模型建立、算法設(shè)計(jì)及有效實(shí)現(xiàn)(在線編程實(shí)訓(xùn));第三階段考核學(xué)生的基本數(shù)據(jù)結(jié)構(gòu)和算法的有效實(shí)現(xiàn)和應(yīng)用技能(在線編程考核);第四個(gè)階是探究中等難度實(shí)際應(yīng)用問(wèn)題的求解,以小組為單位讓學(xué)生利用數(shù)據(jù)結(jié)構(gòu)和算法知識(shí),通過(guò)分析與建模、算法設(shè)計(jì)與實(shí)現(xiàn)去嘗試解決較復(fù)雜的工程實(shí)踐問(wèn)題(在線編程實(shí)踐,項(xiàng)目合作和展示)。 本課程基于歷屆CCF CSP認(rèn)證真題實(shí)訓(xùn)和PTA平臺(tái)的編程實(shí)踐開(kāi)展教學(xué),以能力培養(yǎng)為導(dǎo)向,著力培養(yǎng)學(xué)生問(wèn)題分析、算法設(shè)計(jì)與編程實(shí)踐能力,以增強(qiáng)其解決實(shí)際問(wèn)題的能力。 中國(guó)計(jì)算機(jī)學(xué)會(huì)(CCF)的計(jì)算機(jī)軟件能力認(rèn)證(簡(jiǎn)稱CCF CSP認(rèn)證)目標(biāo)與本課程目標(biāo)基本一致。CSP認(rèn)證考試內(nèi)容覆蓋大學(xué)計(jì)算機(jī)專業(yè)學(xué)習(xí)的程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)及算法,以及相關(guān)數(shù)學(xué)基礎(chǔ)知識(shí)。CCF在中國(guó)計(jì)算機(jī)領(lǐng)域?qū)W術(shù)方面具有領(lǐng)軍地位使得CSP認(rèn)證具有權(quán)威、公正、客觀等特性,已經(jīng)得到業(yè)界廣泛認(rèn)可。CCF CSP認(rèn)證成績(jī)是很多知名IT公司優(yōu)先招聘軟件開(kāi)發(fā)崗位條件之一。全國(guó)一些985、211高校已將CSP認(rèn)證成績(jī)納入計(jì)算機(jī)專業(yè)的教學(xué)計(jì)劃,作為計(jì)算機(jī)專業(yè)課程的上機(jī)成績(jī),甚至作為畢業(yè)要求之一;一些高校將CSP認(rèn)證成績(jī)作為研究生機(jī)試復(fù)試成績(jī),用于選拔優(yōu)秀學(xué)生。PTA (https://pintia.cn)是浙江大學(xué)國(guó)家級(jí)程序設(shè)計(jì)系列課程教學(xué)團(tuán)隊(duì)與網(wǎng)易公司、杭州百騰教育科技有限公司合作推出面向高校和社會(huì)的程序自動(dòng)評(píng)測(cè)、開(kāi)放式實(shí)踐教學(xué)輔助平臺(tái),是一個(gè)優(yōu)秀程序設(shè)計(jì)類課程實(shí)踐訓(xùn)練平臺(tái),已有許多大學(xué)選擇該平臺(tái)實(shí)施程序設(shè)計(jì)類課程實(shí)踐環(huán)節(jié)。 本課程的第一階段和第二階段依托CCF CSP官網(wǎng)(https://www.cspro.org/)上模擬考試模塊(http://118.190.20.162/)進(jìn)行算法與編程實(shí)訓(xùn),第三階段和第四階段依托PTA平臺(tái)進(jìn)行算法與編程實(shí)踐。對(duì)四個(gè)階段分別評(píng)分后綜合可得本課程的最終考核評(píng)分,四個(gè)階段評(píng)分占比分別為25%,25%,20%,30%。 本課程中各種算法設(shè)計(jì)思想都是人們?nèi)粘I钪薪鉀Q問(wèn)題的方法和技術(shù)的提煉,含有豐富的哲學(xué)思想??梢猿浞滞诰蚋鞣N技術(shù)的思想內(nèi)涵,適時(shí)地對(duì)學(xué)生進(jìn)行思政教育。同時(shí)結(jié)合算法與編程實(shí)訓(xùn)和解決復(fù)雜工程問(wèn)題的實(shí)踐體驗(yàn),讓學(xué)生領(lǐng)悟和感受優(yōu)化布局、節(jié)省資源意識(shí)和意義,以及勇于創(chuàng)新、追求卓越的精神。 |
三、課程目標(biāo)
LO1. 通過(guò)解決簡(jiǎn)單實(shí)際問(wèn)題的編程實(shí)踐,培養(yǎng)學(xué)生熟練使用各種數(shù)據(jù)結(jié)構(gòu)有效實(shí)現(xiàn)基本算法的技能,從而夯實(shí)數(shù)據(jù)結(jié)構(gòu)和算法課程的基礎(chǔ)理論知識(shí)。 LO2. 培養(yǎng)學(xué)生探求解決較復(fù)雜實(shí)際問(wèn)題的能力,即對(duì)問(wèn)題進(jìn)行分析、建模、算法設(shè)計(jì)及編程實(shí)現(xiàn)的能力。 LO3. 通過(guò)解決復(fù)雜工程問(wèn)題的編程實(shí)踐,培養(yǎng)學(xué)生使用計(jì)算思維來(lái)分析問(wèn)題和解決問(wèn)題的能力,以及團(tuán)隊(duì)協(xié)作精神。 |
四、課程目標(biāo)與畢業(yè)要求的對(duì)應(yīng)關(guān)系
課程目標(biāo) | 畢業(yè)要求 | 畢業(yè)要求支撐指標(biāo)點(diǎn) | 對(duì)應(yīng)程度 |
LO2 | 2 問(wèn)題分析:能夠應(yīng)用數(shù)學(xué)、自然科學(xué)和工程科學(xué)的基本原理,識(shí)別、表達(dá)、并通過(guò)文獻(xiàn)研究分析計(jì)算機(jī)領(lǐng)域的復(fù)雜工程問(wèn)題,以獲得有效結(jié)論。 | 2.2能夠基于數(shù)學(xué)、自然科學(xué)和工程數(shù)學(xué)的基本原理和數(shù)學(xué)模型,通過(guò)文獻(xiàn)研究分析工程問(wèn)題特性。 | M |
LO1 LO2 | 2 問(wèn)題分析:能夠應(yīng)用數(shù)學(xué)、自然科學(xué)和工程科學(xué)的基本原理,識(shí)別、表達(dá)、并通過(guò)文獻(xiàn)研究分析計(jì)算機(jī)領(lǐng)域的復(fù)雜工程問(wèn)題,以獲得有效結(jié)論。 | 2.3 能認(rèn)識(shí)到計(jì)算機(jī)領(lǐng)域復(fù)雜工程問(wèn)題的多種影響因素以及復(fù)雜工程問(wèn)題的多種解決方案,證實(shí)解決方案的合理性并得到有效結(jié)論。 | H |
LO2 LO3 | 3 設(shè)計(jì)/開(kāi)發(fā)解決方案:設(shè)計(jì)/ 開(kāi)發(fā)解決方案:能夠設(shè)計(jì)計(jì)算機(jī)領(lǐng)域的復(fù)雜工程問(wèn)題的解決方案,設(shè)計(jì)滿足特定需求的系統(tǒng)、子系統(tǒng)或算法流程,并能夠在設(shè)計(jì)環(huán)節(jié)中體現(xiàn)創(chuàng)新意識(shí),考慮社會(huì)、健康、安全、法律、文化以及環(huán)境等因素。 | 3.1能夠按用戶需求和復(fù)雜工程需求,確定計(jì)算機(jī)系統(tǒng)、單元(組件)與過(guò)程的設(shè)計(jì)目標(biāo)。 | H |
LO1 LO2 LO3 | 5 使用現(xiàn)代工具:能夠針對(duì)計(jì)算機(jī)領(lǐng)域的復(fù)雜工程問(wèn)題,開(kāi)發(fā)、選擇與使用恰當(dāng)?shù)募夹g(shù)、資源、現(xiàn)代工程工具和信息技術(shù)工具,包括對(duì)計(jì)算機(jī)領(lǐng)域的復(fù)雜工程問(wèn)題的預(yù)測(cè)與模擬,并能夠理解其局限性。 | 5.3根據(jù)復(fù)雜工程問(wèn)題中的各種制約條件,能夠選用或開(kāi)發(fā)滿足特定需求的現(xiàn)代工具,模擬和預(yù)測(cè)各種復(fù)雜場(chǎng)境,并能夠分析其局限性。 | H |
五、教學(xué)內(nèi)容、要求及進(jìn)度安排
單元一:數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)實(shí)驗(yàn) | 學(xué)時(shí):8 | 支撐課程目標(biāo):LO1,LO2 | |
主要內(nèi)容 | 1.在CCF CSP官網(wǎng)(https://www.cspro.org/)的模擬考試模塊(http://118.190.20.162/)進(jìn)行編程實(shí)訓(xùn),要求在規(guī)定時(shí)間內(nèi)完成最近3次CSP認(rèn)證真題中每套試題的前3題的編程實(shí)現(xiàn)。前3題主要是通過(guò)解決簡(jiǎn)單實(shí)際問(wèn)題的編程實(shí)踐,訓(xùn)練熟練使用各種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)基本算法的技能。 2. 每位同學(xué)獨(dú)立完成,完成后寫(xiě)出解題報(bào)告,包括問(wèn)題分析過(guò)程、基本算法思路及實(shí)現(xiàn)途徑。 | ||
學(xué)習(xí)目標(biāo) | 1. 訓(xùn)練基本數(shù)據(jù)處理能力,包括數(shù)組上進(jìn)行遞推、大小比較、計(jì)數(shù)、排序等。 2. 理解并熟練編程實(shí)現(xiàn)與基本數(shù)據(jù)結(jié)構(gòu)相關(guān)的基礎(chǔ)算法,包括遞歸、排序、查找、字符串簡(jiǎn)單處理等。 3. 訓(xùn)練基于STL的復(fù)雜字符串處理、日期處理、進(jìn)制處理、遞推、排序、查找等技能,并具備問(wèn)題抽象和建模的初步能力,能用所學(xué)方法解決實(shí)際問(wèn)題。 | ||
學(xué)生課前閱讀材料與其他準(zhǔn)備 | 1. 參考書(shū)目: [1]殷人昆編著. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版). 北京:清華大學(xué)出版社,2017 [2]M.H.Alsuwaiyel著,吳偉昶,方世昌等譯. 算法設(shè)計(jì)技巧與分析. 北京:電子工業(yè)出版社,2010 [3]蘇小紅等編. 程序設(shè)計(jì)實(shí)踐教程(C語(yǔ)言版),北京: 機(jī)械工業(yè)出版社,2021 [4]胡凡,曾磊主編.算法筆記.北京:機(jī)械工業(yè)出版社,2016 [5]Thomas H.Cormen等著, 殷建平等譯.算法導(dǎo)論(原書(shū)第3版).北京:機(jī)械工業(yè)出版社,2012 2. 思考問(wèn)題: [1] 使用STL 相對(duì)于自己寫(xiě)程序處理字符串有何優(yōu)勢(shì)? [2] 基本算法的多種實(shí)現(xiàn)時(shí)空效率有何差異? 3. 其他課前準(zhǔn)備:在CCF CSP官網(wǎng)注冊(cè),在學(xué)者網(wǎng)注冊(cè)并加入課程組,在PTA平臺(tái)注冊(cè)并加入課程組。 | ||
教學(xué)方式 | 1. 實(shí)訓(xùn)教學(xué): 一周內(nèi)在CSP官網(wǎng)上在線編程解決試題中對(duì)應(yīng)的簡(jiǎn)單實(shí)際問(wèn)題,并寫(xiě)出解題報(bào)告,包括解題分析過(guò)程、基本算法思路及實(shí)現(xiàn)途徑等。 2. 思政教育: 算法運(yùn)行時(shí)間與算法空間開(kāi)銷一個(gè)主要區(qū)別是時(shí)間不可重復(fù)使用,空間可重復(fù)使用。引導(dǎo)學(xué)生感悟時(shí)間的寶貴,逝去的青春不再來(lái),要珍惜現(xiàn)在讀書(shū)學(xué)習(xí)的好時(shí)光。 | ||
課后作業(yè) | 一周內(nèi)在CSP官網(wǎng)上通過(guò)在線編程解決試題中對(duì)應(yīng)的簡(jiǎn)單實(shí)際問(wèn)題,并寫(xiě)出解題的書(shū)面報(bào)告上傳到學(xué)者網(wǎng)課程作業(yè)中。 | ||
單元二:數(shù)據(jù)結(jié)構(gòu)與算法的實(shí)際應(yīng)用 | 學(xué)時(shí):10 | 支撐課程目標(biāo):LO2,LO3 | |
主要內(nèi)容 | 1. 在CCF CSP官網(wǎng)(https://www.cspro.org/)的模擬考試模塊(http://118.190.20.162/)進(jìn)行編程實(shí)訓(xùn),要求在規(guī)定時(shí)間內(nèi)完成最近3次CSP認(rèn)證真題中每套試題的最后2題的編程實(shí)現(xiàn)。最后2題主要是通過(guò)對(duì)較復(fù)雜實(shí)際問(wèn)題的求解,訓(xùn)練問(wèn)題分析、建模、算法設(shè)計(jì)及其實(shí)現(xiàn)的能力。 2. 每位同學(xué)獨(dú)立完成,完成后寫(xiě)出解題報(bào)告,包括解題分析過(guò)程、基本算法思路及實(shí)現(xiàn)途徑等。 | ||
學(xué)習(xí)目標(biāo) | 1. 熟悉經(jīng)典算法,包括并查集、最短路徑、強(qiáng)連通分支、最小生成樹(shù)、歐拉序列、動(dòng)態(tài)規(guī)劃、貪心算法、深度優(yōu)先搜索、廣度優(yōu)先搜索、回溯剪枝等;能夠分析算法的時(shí)間復(fù)雜度、空間復(fù)雜度和算法穩(wěn)定性;熟練理解并使用STL來(lái)優(yōu)化算法的時(shí)間復(fù)雜度。 2. 熟練使用高級(jí)、復(fù)雜數(shù)據(jù)結(jié)構(gòu),包括后綴數(shù)組、樹(shù)狀數(shù)組、線段樹(shù)、靜態(tài)KDTree等;能夠靈活利用經(jīng)典算法思想解決較復(fù)雜實(shí)際問(wèn)題,包括如:剪枝、分治、狀態(tài)壓縮動(dòng)態(tài)規(guī)劃、快速矩陣冪、計(jì)算幾何、圖論高級(jí)應(yīng)用(包括最大流、最小費(fèi)用流)等;能夠解決復(fù)雜的模擬問(wèn)題,編寫(xiě)并調(diào)試代碼量較大的程序;培養(yǎng)縝密的科學(xué)思維和計(jì)算思維。 | ||
學(xué)生課前閱讀材料與其他準(zhǔn)備 | 1. 參考書(shū)目: [1]殷人昆編著. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版). 北京:清華大學(xué)出版社,2017 [2]M.H.Alsuwaiyel著,吳偉昶,方世昌等譯. 算法設(shè)計(jì)技巧與分析. 北京:電子工業(yè)出版社,2010 [3]蘇小紅等編. 程序設(shè)計(jì)實(shí)踐教程(C語(yǔ)言版),北京: 機(jī)械工業(yè)出版社,2021 [4]胡凡,曾磊主編.算法筆記.北京:機(jī)械工業(yè)出版社,2016 [5]Thomas H.Cormen等著, 殷建平等譯.算法導(dǎo)論(原書(shū)第3版).北京:機(jī)械工業(yè)出版社,2012 2. 思考問(wèn)題: [1] 如何實(shí)現(xiàn)圖的基本算法(包括圖的遍歷、最小成生數(shù)、最短路徑等)? [2] 如何解決復(fù)雜的模擬問(wèn)題? 3. 其他課前準(zhǔn)備:在CCF CSP官網(wǎng)注冊(cè),在學(xué)者網(wǎng)注冊(cè)并加入課程組,在PTA平臺(tái)注冊(cè)并加入課程組。 | ||
教學(xué)方式 | 1. 實(shí)訓(xùn)教學(xué): 一周內(nèi)在CSP官網(wǎng)上在線編程解決試題中對(duì)應(yīng)的較復(fù)雜實(shí)際問(wèn)題,完成后寫(xiě)出解題報(bào)告,包括解題分析過(guò)程、基本算法思路及實(shí)現(xiàn)途徑等。 2. 思政教育: 通過(guò)編程實(shí)訓(xùn),讓學(xué)生感悟到解決問(wèn)題有多種算法且同一算法的不同實(shí)現(xiàn)往往有不同的時(shí)空復(fù)雜度;算法設(shè)計(jì)與分析目的是為了用較少的資源解決問(wèn)題。由此增強(qiáng)學(xué)生節(jié)約資源、提高效率意識(shí)。 | ||
課后作業(yè) | 一周內(nèi)在CSP官網(wǎng)上通過(guò)在線編程解決試題中對(duì)應(yīng)較復(fù)雜的實(shí)際問(wèn)題,完成后寫(xiě)出解題報(bào)告并上傳到學(xué)者網(wǎng)課程作業(yè)中。 | ||
單元三:數(shù)據(jù)結(jié)構(gòu)與算法的編程測(cè)試 | 學(xué)時(shí):4 | 支撐課程目標(biāo):LO1,LO2 LO3 | |
主要內(nèi)容 | 1. 在歷年CSP認(rèn)證真題中隨機(jī)抽取5道試題移植到PTA平臺(tái),其中3道題是關(guān)于數(shù)據(jù)結(jié)構(gòu)和算法的基本編程題,2道是關(guān)于用數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)編程解決較復(fù)雜的實(shí)際問(wèn)題。試題結(jié)構(gòu)與CSP認(rèn)證真題相仿,每題分值也是100分,共計(jì)500分。 2. 在PTA系統(tǒng)實(shí)時(shí)在線考核(4學(xué)時(shí)),學(xué)生獨(dú)立完成。 | ||
學(xué)習(xí)目標(biāo) | 1. 熟悉各種數(shù)據(jù)結(jié)構(gòu)、經(jīng)典算法的基本思路及其效實(shí)現(xiàn)途徑。 2. 熟練使用各種數(shù)據(jù)結(jié)構(gòu)和經(jīng)典算法解決簡(jiǎn)單實(shí)際問(wèn)題。 2. 能夠靈活利用各種算法思想解決較復(fù)雜的實(shí)際問(wèn)題。 | ||
學(xué)生課前閱讀材料與其他準(zhǔn)備 | 1. 參考書(shū)目: [1]殷人昆編著. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版). 北京:清華大學(xué)出版社,2017 [2]M.H.Alsuwaiyel著,吳偉昶,方世昌等譯. 算法設(shè)計(jì)技巧與分析. 北京:電子工業(yè)出版社,2010 [3]蘇小紅等編. 程序設(shè)計(jì)實(shí)踐教程(C語(yǔ)言版),北京: 機(jī)械工業(yè)出版社,2021 [4]胡凡,曾磊主編.算法筆記.北京:機(jī)械工業(yè)出版社,2016 [5]Thomas H.Cormen等著, 殷建平等譯.算法導(dǎo)論(原書(shū)第3版).北京:機(jī)械工業(yè)出版社,2012 2. 思考問(wèn)題:無(wú) 3. 其他課前準(zhǔn)備:在PTA平臺(tái)注冊(cè)并加入課程組。 | ||
教學(xué)方式 | 1. 在線編程實(shí)踐考核:4學(xué)時(shí)內(nèi)在PTA平臺(tái)上在線編程解決試題中對(duì)應(yīng)實(shí)際問(wèn)題。 2. 思政教育:誠(chéng)信考試,獨(dú)立思考完成。 | ||
課后作業(yè) | 查找資料了解如何編寫(xiě)程序來(lái)識(shí)別處理圖像中數(shù)字串(比如圖書(shū)ISBN中識(shí)別出數(shù)字串)。注意:不能用現(xiàn)有的工具軟件。 | ||
單元四:數(shù)據(jù)結(jié)構(gòu)與算法的工程實(shí)踐 | 學(xué)時(shí):10 | 支撐課程目標(biāo):LO1,LO2,LO3 | |
主要內(nèi)容 | 1. 給出一個(gè)較復(fù)雜的實(shí)際應(yīng)用問(wèn)題(開(kāi)放類型問(wèn)題),比如識(shí)別ISBN圖片中的數(shù)字串,文檔的自動(dòng)摘要等。引導(dǎo)學(xué)生通過(guò)分析將該復(fù)雜問(wèn)題的求解過(guò)程分解為若干模塊任務(wù)來(lái)解決,這些模塊任務(wù)是簡(jiǎn)單的,能夠用基本數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)來(lái)編程求解。分析模塊任務(wù)之間的邏輯關(guān)系,畫(huà)出任務(wù)關(guān)系圖,并通過(guò)拓?fù)渑判虻玫浇鉀Q任務(wù)的次序。 2. 每一個(gè)模塊任務(wù)在PTA上對(duì)應(yīng)設(shè)置一道編程題目,要求學(xué)生在給定的時(shí)間內(nèi)獨(dú)立在線編程解決。 3. 每3位同學(xué)一組,每組同學(xué)討論每個(gè)模塊任務(wù)的最佳算法及實(shí)現(xiàn)途徑,探討如何集成這些模塊的求解算法來(lái)得到解決原問(wèn)題的一個(gè)小型應(yīng)用軟件。要求展示每一小組的軟件及應(yīng)用效果。 | ||
學(xué)習(xí)目標(biāo) | 1. 培養(yǎng)學(xué)生探求解決較復(fù)雜實(shí)際問(wèn)題的能力,即對(duì)問(wèn)題進(jìn)行分析、建模、算法設(shè)計(jì)及編程實(shí)現(xiàn)的能力。 2. 鍛煉學(xué)生的程序設(shè)計(jì)與實(shí)現(xiàn)能力、對(duì)項(xiàng)目整體把控能力,培養(yǎng)學(xué)生的計(jì)算思維和團(tuán)隊(duì)協(xié)作精神。 | ||
學(xué)生課前閱讀材料與其他準(zhǔn)備 | 1. 參考書(shū)目: [1]殷人昆編著. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版). 北京:清華大學(xué)出版社,2017 [2]M.H.Alsuwaiyel著,吳偉昶,方世昌等譯. 算法設(shè)計(jì)技巧與分析. 北京:電子工業(yè)出版社,2010 [3]蘇小紅等編. 程序設(shè)計(jì)實(shí)踐教程(C語(yǔ)言版),北京: 機(jī)械工業(yè)出版社,2021 [4]胡凡,曾磊主編.算法筆記.北京:機(jī)械工業(yè)出版社,2016 [5]Thomas H.Cormen等著, 殷建平等譯.算法導(dǎo)論(原書(shū)第3版).北京:機(jī)械工業(yè)出版社,2012 2. 思考問(wèn)題: 通過(guò)小組完成項(xiàng)目的編程實(shí)踐,如何理解計(jì)算思維和團(tuán)隊(duì)協(xié)作精神? 3.其他課前準(zhǔn)備:在PTA平臺(tái)注冊(cè)并加入課程組。 | ||
教學(xué)方式 | 1. 教師講解: 針對(duì)較復(fù)雜實(shí)際問(wèn)題的編程求解,讓學(xué)生清楚完成整個(gè)項(xiàng)目的基本思路。 2. 學(xué)生實(shí)踐: 通過(guò)小組合作方式,讓每位學(xué)生清楚項(xiàng)目的整體思路,以及如何協(xié)作完成項(xiàng)目、分工撰寫(xiě)項(xiàng)目報(bào)告和制作項(xiàng)目答辯PPT。最終項(xiàng)目的所有工作分工合作完成。 3. 思政教育: 通過(guò)小組合作方式完成項(xiàng)目,讓學(xué)生感悟到分工合作才能挑戰(zhàn)復(fù)雜問(wèn)題。 | ||
課后作業(yè) | 根據(jù)各小組展示和匯報(bào)情況,完善小組的展示報(bào)告,并上傳到學(xué)者網(wǎng)課程作業(yè)中。 | ||
六、考核方式
考核評(píng)價(jià)方式 | 考核要求 | 成績(jī)比例(%) | 課程目標(biāo)比例(%) | |
編程實(shí)訓(xùn) (單元一) | 編程實(shí)訓(xùn)的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)(見(jiàn)附表1) | 25 | LO1 | 50 |
LO2 | 50 | |||
編程實(shí)訓(xùn) (單元二) | 編程實(shí)訓(xùn)的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)(見(jiàn)附表1) | 25 | LO2 | 50 |
LO3 | 50 | |||
編程考核 (單元三) | 編程考核的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)(見(jiàn)附表2) | 20 | LO1 | 30 |
LO2 | 40 | |||
LO3 | 30 | |||
編程實(shí)踐 (單元四) | 編程實(shí)踐的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)(見(jiàn)附表3) | 30 | LO1 | 20 |
LO2 | 40 | |||
LO3 | 40 |
七、教材、參考文獻(xiàn)與其他教學(xué)資源
1. 參考書(shū)目: [1]殷人昆編著. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版). 北京:清華大學(xué)出版社,2017 [2]M.H.Alsuwaiyel著,吳偉昶,方世昌等譯. 算法設(shè)計(jì)技巧與分析. 北京:電子工業(yè)出版社,2010 [3]蘇小紅等編. 程序設(shè)計(jì)實(shí)踐教程(C語(yǔ)言版),北京: 機(jī)械工業(yè)出版社,2021 [4]胡凡,曾磊主編.算法筆記.北京:機(jī)械工業(yè)出版社,2016 [5]Thomas H.Cormen等著, 殷建平等譯.算法導(dǎo)論(原書(shū)第3版).北京:機(jī)械工業(yè)出版社,2012 2. 課程網(wǎng)址(相關(guān)教學(xué)資源網(wǎng)址): http://www.1061937.com/course/scnualgorithms
|
八、備注
【附表1】編程實(shí)訓(xùn)的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)(注:任務(wù)包括編程題目和解題報(bào)告)
80-100 分 | 60-79分 | 40-59分 | 0-39分 | 得分 | |
進(jìn)度及任務(wù)完成進(jìn)度 (權(quán)重0.4) | 按時(shí)提交且任務(wù)完成進(jìn)度80%以上 | 按時(shí)提交且任務(wù)完成進(jìn)度60%以上 | 按時(shí)提交且任務(wù)完成進(jìn)度40%以上 | 補(bǔ)交完成 | |
掌握程度 (權(quán)重0.4) | 掌握60%以上 | 掌握40%以上 | 掌握40%以下 | ||
創(chuàng)新性 (權(quán)重0.2) | 提出不同解決辦法 | 只有一種解決辦法 | 能提出不同辦法,但可靠性不足 | 不能提出有效解決辦法 | |
總分 |
【附表2】編程考核的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)
在線自動(dòng)評(píng)測(cè),測(cè)試成績(jī)得分為該環(huán)節(jié)得分。
【附表3】編程實(shí)踐的成績(jī)?cè)u(píng)分標(biāo)準(zhǔn)
80-100 分 | 60-79分 | 40-59分 | 0-39分 | 得分 | |
完成進(jìn)度 (權(quán)重0.6) | 提前提交 | 按時(shí)提交 | 延時(shí)提交 | 補(bǔ)交完成 | |
展示效果 (權(quán)重0.2) | 程序能正常運(yùn)行,在80%以上測(cè)試用例上運(yùn)行結(jié)果正確 | 程序能正常運(yùn)行,在60%以上測(cè)試用例上運(yùn)行結(jié)果正確 | 程序能正常運(yùn)行,在40%以上測(cè)試用例上運(yùn)行結(jié)果 | 程序未能運(yùn)行,或在40%以下測(cè)試用例上運(yùn)行結(jié)果不正確 | |
項(xiàng)目報(bào)告 (權(quán)重0.2)
| 完整且有深入細(xì)化分析和描述 | 完整且但深入細(xì)化分析和描述不夠 | 較為完整、深入細(xì)化分析和描述不夠 | 不完整、缺乏細(xì)節(jié)分析和描述 | |
總分 |