楊帆,包永強(qiáng)
(南京工程學(xué)院 信息與通信工程學(xué)院,江蘇南京 211167)
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)非常重要的一門基礎(chǔ)課程,其目標(biāo)是讓學(xué)生掌握數(shù)據(jù)的存儲(chǔ)、管理和處理方法以及數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中的應(yīng)用。在教學(xué)方法方面,傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)課程教學(xué)方法主要是以教師為中心的授課模式,教師向?qū)W生介紹數(shù)據(jù)結(jié)構(gòu)的理論知識(shí),然后通過課后習(xí)題來加強(qiáng)學(xué)生對知識(shí)的理解和應(yīng)用能力。然而,這種教學(xué)模式存在一些問題,比如理論知識(shí)與實(shí)踐應(yīng)用脫節(jié)、學(xué)生參與度不高等。近年來,隨著教育改革的推進(jìn),項(xiàng)目化教學(xué)[1-3]、翻轉(zhuǎn)課堂教學(xué)[4]、線上線下混合式教學(xué)[5-8]等新的教學(xué)方法也逐漸被應(yīng)用于數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中。其中,項(xiàng)目化教學(xué)是一種以項(xiàng)目為核心的學(xué)習(xí)方式,通過學(xué)生自主選擇、設(shè)計(jì)、實(shí)現(xiàn)和評估項(xiàng)目,以達(dá)到理論與實(shí)踐相結(jié)合的教學(xué)目的。對項(xiàng)目化教學(xué)方法的深入研究和實(shí)踐,不僅可以有效提高學(xué)生的學(xué)習(xí)興趣和參與度,提升教學(xué)質(zhì)量和效果,也可以推動(dòng)教育教學(xué)改革的深入發(fā)展。
數(shù)據(jù)結(jié)構(gòu)課程的目標(biāo)是幫助學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)的基本原理和實(shí)際應(yīng)用,提高學(xué)生的計(jì)算機(jī)科學(xué)素養(yǎng)和實(shí)踐能力。數(shù)據(jù)結(jié)構(gòu)課程的主要內(nèi)容通常包括以下幾個(gè)方面[9-10]。
算法是解決問題的方法,而復(fù)雜度分析是評估算法效率的方法。在數(shù)據(jù)結(jié)構(gòu)課程中,學(xué)生需要掌握算法分析和復(fù)雜度分析的基本概念、方法和技巧。
基本數(shù)據(jù)結(jié)構(gòu)包括數(shù)組、鏈表、堆棧、隊(duì)列、樹等數(shù)據(jù)結(jié)構(gòu)的定義、特點(diǎn)、基本操作和應(yīng)用。
高級數(shù)據(jù)結(jié)構(gòu)包括二叉搜索樹、平衡樹、圖等高級數(shù)據(jù)結(jié)構(gòu)的定義、特點(diǎn)、基本操作和應(yīng)用。
基本的排序和查找算法包括冒泡排序、插入排序、快速排序、二分查找等。
貪心算法、動(dòng)態(tài)規(guī)劃、分治算法等屬于常見的算法設(shè)計(jì)技巧,學(xué)生需要了解這些算法設(shè)計(jì)技巧的基本思想和應(yīng)用場景,以及它們的實(shí)現(xiàn)方法和優(yōu)劣。
項(xiàng)目化教學(xué)以學(xué)生的實(shí)際需求和興趣為出發(fā)點(diǎn),通過項(xiàng)目設(shè)計(jì)、組織和管理,引導(dǎo)學(xué)生探究、發(fā)現(xiàn)和解決實(shí)際問題,同時(shí)培養(yǎng)學(xué)生的學(xué)科能力和綜合素質(zhì)。項(xiàng)目化教學(xué)是一種強(qiáng)調(diào)實(shí)踐、跨學(xué)科、學(xué)生主導(dǎo)、協(xié)作和終身學(xué)習(xí)的教學(xué)模式,是當(dāng)前教育改革中重要的教學(xué)模式。但是,項(xiàng)目化教學(xué)方法也存在一些限制[11-13]:項(xiàng)目化教學(xué)需要更多的時(shí)間和精力,包括項(xiàng)目的策劃、設(shè)計(jì)、實(shí)施和評估,對于教師和學(xué)生而言都是一種挑戰(zhàn);項(xiàng)目化教學(xué)強(qiáng)調(diào)學(xué)生主導(dǎo),需要學(xué)生具備一定的自主學(xué)習(xí)能力和解決問題的能力,否則可能影響項(xiàng)目的實(shí)施效果;項(xiàng)目化教學(xué)注重學(xué)生之間的協(xié)作交流,但是學(xué)生之間的協(xié)作可能存在合作困難、利益分歧等問題,需要教師進(jìn)行適當(dāng)引導(dǎo)和協(xié)調(diào);項(xiàng)目化教學(xué)的評估難度較大,需要教師制定合理的評估標(biāo)準(zhǔn)和方法,以確保項(xiàng)目的評估結(jié)果公正客觀。
項(xiàng)目化教學(xué)方法需要在課堂教學(xué)模式設(shè)計(jì)、項(xiàng)目設(shè)計(jì)方法和學(xué)生評價(jià)方法三個(gè)方面開展具體設(shè)計(jì)。首先,課堂教學(xué)中教師應(yīng)該將傳統(tǒng)的以教師為中心模式轉(zhuǎn)變?yōu)橐詫W(xué)生為中心模式,讓學(xué)生充分發(fā)揮主動(dòng)性和創(chuàng)造性。其次,項(xiàng)目設(shè)計(jì)方法應(yīng)該具有挑戰(zhàn)性、可行性和實(shí)用性,在充分考慮學(xué)生興趣和能力的同時(shí)也要涵蓋課程的主要內(nèi)容,讓學(xué)生在項(xiàng)目實(shí)踐中得到充分鍛煉和提升。最后,評價(jià)方法應(yīng)該具有客觀性、全面性和針對性,教師應(yīng)該制定明確的項(xiàng)目完成標(biāo)準(zhǔn)和評估方式,確保學(xué)生完成的項(xiàng)目符合要求。
課堂教學(xué)采用“以學(xué)生為中心”的教學(xué)模式[14],要求學(xué)生在上課前自主學(xué)習(xí)課程材料。由于數(shù)據(jù)結(jié)構(gòu)課程的知識(shí)點(diǎn)繁多,且存在較多的抽象概念,因此,在課前分配預(yù)習(xí)任務(wù)可以幫助學(xué)生提前掌握一些相對容易理解的知識(shí)點(diǎn),同時(shí)有助于程序設(shè)計(jì)語言基礎(chǔ)較為薄弱的學(xué)生理解和掌握課程內(nèi)容。
教師在講解完知識(shí)點(diǎn)后,使用“問卷星”“雨課堂”等工具進(jìn)行隨堂測驗(yàn),學(xué)生使用手機(jī)進(jìn)行選擇題答題,以檢驗(yàn)學(xué)生對基礎(chǔ)知識(shí)的掌握情況,并將測試成績作為平時(shí)成績的一部分,促使學(xué)生養(yǎng)成課前預(yù)習(xí)的好習(xí)慣。使用手機(jī)測試軟件,教師可以快速收集學(xué)生的答題情況,及時(shí)了解學(xué)生對知識(shí)點(diǎn)的掌握程度,為后續(xù)更復(fù)雜知識(shí)點(diǎn)的講解奠定基礎(chǔ)。
實(shí)訓(xùn)項(xiàng)目需要遵循由淺入深、逐漸掌握課程知識(shí)的原則,分為基礎(chǔ)型、綜合型和創(chuàng)新型項(xiàng)目三種。基礎(chǔ)型項(xiàng)目主要涉及數(shù)據(jù)結(jié)構(gòu)相關(guān)單元知識(shí)點(diǎn),旨在鞏固基礎(chǔ)知識(shí);綜合型項(xiàng)目與實(shí)際問題相關(guān),涉及多個(gè)知識(shí)點(diǎn);創(chuàng)新型項(xiàng)目來源于科技創(chuàng)新活動(dòng)、教師科研項(xiàng)目、生活實(shí)際問題及工程應(yīng)用等,可鍛煉學(xué)生科學(xué)研究和工程應(yīng)用能力。基礎(chǔ)型和綜合型項(xiàng)目為必選項(xiàng)目,創(chuàng)新型項(xiàng)目為可選項(xiàng)目。
3.2.1 基礎(chǔ)型項(xiàng)目的設(shè)計(jì)
基礎(chǔ)型項(xiàng)目適用于初學(xué)者或者需要理解基本概念的學(xué)生,需要根據(jù)學(xué)生的知識(shí)水平和實(shí)際情況確定項(xiàng)目的難度,不能過于復(fù)雜,否則會(huì)打消學(xué)生的學(xué)習(xí)積極性。基礎(chǔ)型項(xiàng)目應(yīng)該涵蓋課本知識(shí)的主要內(nèi)容,主要包括基本數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)等(如設(shè)計(jì)并實(shí)現(xiàn)棧、隊(duì)列、鏈表、二叉樹、哈希表等基本數(shù)據(jù)結(jié)構(gòu)的操作)并實(shí)現(xiàn)相應(yīng)的算法(如遍歷二叉樹、查找哈希表等)。
3.2.2 綜合型項(xiàng)目的設(shè)計(jì)
綜合型項(xiàng)目的設(shè)計(jì)需要選擇具有挑戰(zhàn)性、可行性和實(shí)用性的主題,以激發(fā)學(xué)生的學(xué)習(xí)興趣。教師需要將項(xiàng)目主題分解成具體的項(xiàng)目任務(wù),讓學(xué)生在解決問題的過程中學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)知識(shí),并將所學(xué)的知識(shí)運(yùn)用到項(xiàng)目實(shí)踐中。教師還需要制定明確的項(xiàng)目完成標(biāo)準(zhǔn)和評估方式,確保學(xué)生完成的項(xiàng)目符合要求,并為他們提供有針對性的反饋。學(xué)生必須獨(dú)立完成項(xiàng)目,寫出完整的項(xiàng)目報(bào)告。這樣的綜合性設(shè)計(jì)可以幫助學(xué)生更好地掌握數(shù)據(jù)結(jié)構(gòu)課程的知識(shí),提高他們的實(shí)踐能力和創(chuàng)新能力。
以下給出一個(gè)綜合型項(xiàng)目的案例:“設(shè)計(jì)一個(gè)基于鏈表結(jié)構(gòu)的學(xué)生信息查詢系統(tǒng),要求使用鏈表結(jié)構(gòu)存儲(chǔ)學(xué)生信息,鏈表節(jié)點(diǎn)包含學(xué)生信息和指向下一節(jié)點(diǎn)的指針;實(shí)現(xiàn)添加、刪除、修改和查詢學(xué)生信息等功能,并能夠根據(jù)學(xué)號(hào)或姓名等關(guān)鍵字查詢學(xué)生信息”。
通過上面綜合型實(shí)驗(yàn),學(xué)生可以掌握鏈表的整套基本操作和應(yīng)用方法,如鏈表的創(chuàng)建、遍歷、查找、插入和刪除等。
3.2.3 創(chuàng)新型項(xiàng)目的設(shè)計(jì)
創(chuàng)新型項(xiàng)目主要采用學(xué)生自由組隊(duì)的模式開展。教師提供一系列切合課程內(nèi)容和學(xué)生實(shí)際情況的項(xiàng)目題目,由學(xué)生自由組隊(duì),根據(jù)自己的興趣和能力選擇題目,并根據(jù)項(xiàng)目要求和任務(wù)分配制定詳細(xì)的項(xiàng)目計(jì)劃,每個(gè)團(tuán)隊(duì)成員按照分工完成自己的任務(wù),教師時(shí)刻關(guān)注項(xiàng)目進(jìn)度,及時(shí)協(xié)調(diào)和解決問題。項(xiàng)目完成后,團(tuán)隊(duì)向其他團(tuán)隊(duì)展示項(xiàng)目成果,分享項(xiàng)目經(jīng)驗(yàn)和心得。這種創(chuàng)新型的項(xiàng)目化教學(xué)模式可以激發(fā)學(xué)生的學(xué)習(xí)熱情,提高他們的實(shí)踐能力和團(tuán)隊(duì)合作精神。
以下給出一個(gè)創(chuàng)新型項(xiàng)目的案例:“設(shè)計(jì)和實(shí)現(xiàn)一款能夠分析和可視化社交網(wǎng)絡(luò)關(guān)系的系統(tǒng),具體包括以下目標(biāo):使用Python 等編程語言,完成社交網(wǎng)絡(luò)數(shù)據(jù)的抓取、清洗和分析,構(gòu)建關(guān)系圖;使用D3.js 等工具對關(guān)系進(jìn)行可視化;對關(guān)系網(wǎng)絡(luò)進(jìn)行分析,包括社區(qū)發(fā)現(xiàn)、關(guān)系強(qiáng)度分析等;撰寫項(xiàng)目報(bào)告和演示文稿,展示項(xiàng)目成果和分析結(jié)論。”
在上面創(chuàng)新型項(xiàng)目的實(shí)施過程中,學(xué)生不僅需要應(yīng)用數(shù)據(jù)結(jié)構(gòu)課程中圖結(jié)構(gòu)的有關(guān)知識(shí),還需要綜合運(yùn)用爬蟲編寫、可視化方法等其他課程的內(nèi)容。學(xué)生在項(xiàng)目中自行分工合作,可以選擇以下角色。
項(xiàng)目負(fù)責(zé)人:負(fù)責(zé)項(xiàng)目計(jì)劃和進(jìn)度管理、分配任務(wù)和跟蹤進(jìn)度、協(xié)調(diào)項(xiàng)目成員等。
數(shù)據(jù)采集和處理:負(fù)責(zé)從社交網(wǎng)絡(luò)中采集數(shù)據(jù)、清洗和整理數(shù)據(jù),構(gòu)建關(guān)系圖等。
可視化:負(fù)責(zé)使用D3.js 等工具對關(guān)系圖進(jìn)行可視化,并進(jìn)行交互式設(shè)計(jì)。
數(shù)據(jù)分析:負(fù)責(zé)對關(guān)系圖進(jìn)行分析,包括社區(qū)發(fā)現(xiàn)、關(guān)系強(qiáng)度分析等。
報(bào)告撰寫:負(fù)責(zé)撰寫項(xiàng)目報(bào)告和演示文稿,展示項(xiàng)目成果和分析結(jié)論。
通過合作完成項(xiàng)目,學(xué)生可以體驗(yàn)到軟件設(shè)計(jì)項(xiàng)目中的分工合作模式,在應(yīng)用所學(xué)知識(shí)的同時(shí)提升實(shí)踐能力和協(xié)作能力。
項(xiàng)目化教學(xué)的課程考核可以分為項(xiàng)目參與、項(xiàng)目報(bào)告、項(xiàng)目答辯及閉卷考試四個(gè)部分。項(xiàng)目參與是在學(xué)生整個(gè)項(xiàng)目任務(wù)完成期間,根據(jù)學(xué)生的考勤、參與程度、任務(wù)完成情況進(jìn)行評分;項(xiàng)目報(bào)告主要是針對分配的項(xiàng)目任務(wù),總結(jié)學(xué)生在完成任務(wù)的過程中如何發(fā)現(xiàn)、解決問題,如何運(yùn)用知識(shí)及所獲得的心得體會(huì);項(xiàng)目答辯是學(xué)生對整個(gè)項(xiàng)目任務(wù)的總結(jié)展示和匯報(bào);閉卷考試主要是考核學(xué)生對專業(yè)基礎(chǔ)理論知識(shí)的理解和掌握程度。教師通過合理分配各考核部分的占比,對學(xué)生在項(xiàng)目化教學(xué)過程中的表現(xiàn)進(jìn)行全過程考核,及時(shí)掌握學(xué)生動(dòng)態(tài),了解學(xué)生的薄弱環(huán)節(jié)并及時(shí)進(jìn)行指導(dǎo)和引導(dǎo)。
在數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)實(shí)踐中,采用項(xiàng)目化教學(xué)方法后,師生互動(dòng)大幅增加。在項(xiàng)目實(shí)踐中,學(xué)生積極探究問題,運(yùn)用所學(xué)的數(shù)據(jù)結(jié)構(gòu)知識(shí)解決實(shí)際問題,增強(qiáng)了實(shí)踐能力和創(chuàng)新思維能力。教師通過個(gè)性化指導(dǎo)和集體討論,激發(fā)學(xué)生的學(xué)習(xí)熱情和自主學(xué)習(xí)能力,實(shí)現(xiàn)了師生共同成長的目標(biāo)。學(xué)生普遍反映:通過項(xiàng)目化教學(xué)方法,數(shù)據(jù)結(jié)構(gòu)的理論內(nèi)容、實(shí)際問題的解決及專業(yè)特點(diǎn)得到了很好的結(jié)合,不僅掌握了數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí),更具備了解決實(shí)際問題的能力和實(shí)踐經(jīng)驗(yàn)。此外,項(xiàng)目化教學(xué)還可以激發(fā)學(xué)生的學(xué)習(xí)興趣,提高他們的自主學(xué)習(xí)和團(tuán)隊(duì)合作能力,促進(jìn)他們創(chuàng)新思維和實(shí)踐能力的發(fā)展。
未來數(shù)據(jù)結(jié)構(gòu)課程項(xiàng)目化教學(xué)模式的改進(jìn),可以考慮將數(shù)據(jù)結(jié)構(gòu)課程與其他課程相結(jié)合,例如,可以將數(shù)據(jù)結(jié)構(gòu)和人工智能、計(jì)算機(jī)視覺等相關(guān)學(xué)科結(jié)合,讓學(xué)生了解和掌握數(shù)據(jù)結(jié)構(gòu)在這些領(lǐng)域中的應(yīng)用,同時(shí)促進(jìn)學(xué)生自主學(xué)習(xí)新興技術(shù),提升自學(xué)能力和創(chuàng)新意識(shí)。
創(chuàng)新創(chuàng)業(yè)理論研究與實(shí)踐2024年1期