孫方 李娟
摘?要:在大數(shù)據(jù)時代下,“數(shù)據(jù)結(jié)構(gòu)”作為計算機類專業(yè)的核心課程,需要積極探索有效的教學(xué)改革措施以適應(yīng)新時代對人才的需求。本文圍繞我校工科應(yīng)用型人才培養(yǎng)方案,結(jié)合專業(yè)課程目標(biāo),積極探索大數(shù)據(jù)時代下“數(shù)據(jù)結(jié)構(gòu)(Java)”課程的改革,以更好地滿足學(xué)生專業(yè)成長的需要。
關(guān)鍵詞:大數(shù)據(jù);數(shù)據(jù)結(jié)構(gòu);教學(xué)改革
1?概述
隨著“互聯(lián)網(wǎng)+”、云計算、大數(shù)據(jù)、人工智能等技術(shù)的興起,高等教育教學(xué)有了新的機遇。各大高校陸續(xù)開設(shè)了新技術(shù)相關(guān)的課程,也在積極探索如何利用新技術(shù)進(jìn)行已有課程內(nèi)容的銜接和融合,如何進(jìn)行教學(xué)方法和教學(xué)模式的轉(zhuǎn)變。數(shù)據(jù)結(jié)構(gòu)課程作為全國高等學(xué)校計算機類專業(yè)的核心課程,一般在大二年級開設(shè),既是已學(xué)C語言、Java等基礎(chǔ)課程的抽象與深化,也是后續(xù)專業(yè)課程的先導(dǎo),著重培養(yǎng)學(xué)生的計算思維、算法設(shè)計與分析、程序設(shè)計與實現(xiàn)的能力。為了適應(yīng)社會發(fā)展的需求,更好地進(jìn)行數(shù)據(jù)結(jié)構(gòu)的教學(xué),做好后續(xù)專業(yè)課程的鋪墊,應(yīng)在教學(xué)過程中將大數(shù)據(jù)等新技術(shù)有機地融合到數(shù)據(jù)結(jié)構(gòu)知識點中,并利用大數(shù)據(jù)技術(shù)進(jìn)行教學(xué)改革的探索。
2?大數(shù)據(jù)驅(qū)動下,課程的重要性
早期計算機主要用于數(shù)值計算,而隨著計算機領(lǐng)域和大數(shù)據(jù)等新技術(shù)的發(fā)展,計算機越來越多地應(yīng)用于非數(shù)值計算,應(yīng)用于各行各業(yè)。與此同時,數(shù)據(jù)結(jié)構(gòu)逐漸被日益重視。“數(shù)據(jù)結(jié)構(gòu)”作為一門研究非數(shù)值計算的程序設(shè)計中計算機的操作對象以及它們之間的關(guān)系和操作的學(xué)科,介紹了計算機領(lǐng)域常用的數(shù)據(jù)結(jié)構(gòu)及各種查找和排序的算法,在計算機等相關(guān)專業(yè)課程體系中具有舉足輕重的作用。通過“數(shù)據(jù)結(jié)構(gòu)”課程學(xué)習(xí)較復(fù)雜的數(shù)據(jù)組織、存儲結(jié)構(gòu)和數(shù)據(jù)處理方法,學(xué)習(xí)數(shù)據(jù)算法的基本概念和應(yīng)用,培養(yǎng)學(xué)生邏輯思維和抽象建模的能力。“數(shù)據(jù)結(jié)構(gòu)”課程包括線性表、棧、隊列、樹、圖、查找和排序等內(nèi)容,知識點多且靈活,強調(diào)復(fù)雜數(shù)據(jù)類型的抽象與自我定義。由于“數(shù)據(jù)結(jié)構(gòu)”課程作為承上啟下的一門專業(yè)課程,一般是在學(xué)生已經(jīng)學(xué)習(xí)了“C語言程序設(shè)計”和“面向?qū)ο蟪绦蛟O(shè)計(Java)”等課程的基礎(chǔ)上進(jìn)行開設(shè)。結(jié)合我院計算機專業(yè)近幾年學(xué)生學(xué)情,發(fā)現(xiàn)大部分學(xué)生“C語言程序設(shè)計”中指針、結(jié)構(gòu)體知識點掌握不扎實,而對Java語言面向?qū)ο蟮乃枷肜斫飧笍兀珜唧w應(yīng)用環(huán)節(jié)缺少更深入的練習(xí)和理解。采用Java語言講解數(shù)據(jù)結(jié)構(gòu)知識更能讓學(xué)生理解抽象數(shù)據(jù)類型的思想,并且Java語言包括豐富的類庫可以直接進(jìn)行調(diào)用,學(xué)生可以更加專注于數(shù)據(jù)結(jié)構(gòu)本身的問題,可進(jìn)一步鍛煉學(xué)生的抽象思維能力,培養(yǎng)學(xué)生的計算思維、創(chuàng)造性思維和批判性思維,提高程序設(shè)計與實現(xiàn)的能力和Java應(yīng)用技能的培養(yǎng)。
同時,以培養(yǎng)新工科人才的需求,打好“數(shù)據(jù)結(jié)構(gòu)(Java)”基本功,對于后續(xù)大數(shù)據(jù)專業(yè)課程的學(xué)習(xí),如“數(shù)據(jù)庫系統(tǒng)”“大數(shù)據(jù)技術(shù)”“數(shù)據(jù)分析與挖掘”“hadoop系統(tǒng)應(yīng)用”等課程提供知識基礎(chǔ)。在我國數(shù)字化、智能化發(fā)展動下,大數(shù)據(jù)、人工智能、機器學(xué)習(xí)等熱門應(yīng)用越來越廣泛,而這些應(yīng)用所采用的數(shù)據(jù)結(jié)構(gòu)和存儲方式已遠(yuǎn)超出了傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)類型。所以,“數(shù)據(jù)結(jié)構(gòu)(Java)”課程教學(xué)需結(jié)合學(xué)科前沿發(fā)展的需要,在課程教學(xué)中逐步融合大數(shù)據(jù)理論和前沿技術(shù)知識,將其貫穿到課程教學(xué)始終,這不僅可以應(yīng)用當(dāng)下的技術(shù)熱點激發(fā)學(xué)生學(xué)習(xí)興趣,進(jìn)而深入理解課程內(nèi)容,加強學(xué)生對后續(xù)大數(shù)據(jù)專業(yè)課程知識的理解,培養(yǎng)學(xué)生大數(shù)據(jù)思維和素養(yǎng)。同時,對數(shù)據(jù)結(jié)構(gòu)教學(xué)師資隊伍也提出了更高的要求。大數(shù)據(jù)時代,教師不僅僅需要了解大數(shù)據(jù)相關(guān)技術(shù)和應(yīng)用,還需要在如何充分發(fā)揮大數(shù)據(jù)對變革教育方式、提升教育質(zhì)量方面進(jìn)行積極的探索,通過大數(shù)據(jù)分析進(jìn)行個性化教學(xué),改善教學(xué)方式,促進(jìn)教學(xué)的科學(xué)化和智能化。
3?大數(shù)據(jù)時代下,精選教學(xué)內(nèi)容
以計算機專業(yè)“數(shù)據(jù)結(jié)構(gòu)”典型知識體系為依據(jù)選取教學(xué)內(nèi)容,課程以素質(zhì)教育、創(chuàng)新教育為指導(dǎo)思想,遵循學(xué)生認(rèn)知規(guī)律和能力發(fā)展規(guī)律精選教學(xué)案例。通過案例式引導(dǎo),以學(xué)生為主體,以教師為主導(dǎo),以能力培養(yǎng)為核心,在課程框架設(shè)計上按照“邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和算法”組織課程知識體系,在內(nèi)容上按照“概念表述、數(shù)據(jù)模型構(gòu)建、算法設(shè)計”三個層面進(jìn)行講授,將計算機科學(xué)中一些重要的問題求解技術(shù)、精彩的經(jīng)典算法和大數(shù)據(jù)技術(shù)、大數(shù)據(jù)處理計算的信息數(shù)據(jù)結(jié)構(gòu)內(nèi)容,如嵌套數(shù)據(jù)結(jié)構(gòu)、列存儲、鍵值對存儲及相關(guān)應(yīng)用穿插其中。在教學(xué)內(nèi)容中,教師不僅可以將大數(shù)據(jù)前沿問題作為課程導(dǎo)入部分,也可以在講解理論基礎(chǔ)知識后進(jìn)行引入,加強學(xué)生對知識點的理解和應(yīng)用。
在講述數(shù)據(jù)結(jié)構(gòu)有關(guān)術(shù)語時,首先引領(lǐng)同學(xué)們理解數(shù)據(jù)的概念,通過舉例學(xué)習(xí)和生活中常見的數(shù)據(jù)示例,如數(shù)字、電話號碼、數(shù)據(jù)庫表、文本、圖像、音頻、視頻、JSON、HTML文件等不同類型的數(shù)據(jù),引入大數(shù)據(jù)數(shù)據(jù)類型結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)的知識點,引導(dǎo)學(xué)生了解大數(shù)據(jù)時代數(shù)據(jù)的特點、分類和意義等知識點,激發(fā)學(xué)生學(xué)習(xí)大數(shù)據(jù)的興趣。講解算法復(fù)雜性時,引入經(jīng)典的AlphaGo示例,引出人工智能話題,引導(dǎo)學(xué)生們思考算法復(fù)雜度的知識點,理解其應(yīng)用。再后續(xù)學(xué)習(xí)了通過線性關(guān)系存儲傳統(tǒng)的關(guān)系型數(shù)據(jù),再次引導(dǎo)學(xué)生們思考海量數(shù)據(jù)以及非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)如何進(jìn)行存儲,讓學(xué)生習(xí)慣用大數(shù)據(jù)的思維思考學(xué)習(xí)的知識點,提出自己的想法或見解。在學(xué)習(xí)樹的相關(guān)知識后,應(yīng)用內(nèi)容除了講解二叉樹的經(jīng)典示例,還要在
日常生活中引入數(shù)據(jù)分析與挖掘中的決策算法和分類算法。在圖的知識中,引入知識圖譜建立知識概念之間的聯(lián)系;引入關(guān)聯(lián)規(guī)則算法、聚類算法擴展學(xué)生的思維空間。在查找知識中,講解索引表、哈希表知識點在非關(guān)系型數(shù)據(jù)庫中的應(yīng)用示例。講解排序知識后,引導(dǎo)學(xué)生思考大數(shù)據(jù)存儲情況下如何應(yīng)用排序的知識。
通過數(shù)據(jù)結(jié)構(gòu)(Java)基礎(chǔ)知識點和大數(shù)據(jù)知識及實例的融合,創(chuàng)新教學(xué)內(nèi)容,增強學(xué)生對基礎(chǔ)知識和應(yīng)用的理解,增加學(xué)生對前沿知識的認(rèn)識,激發(fā)學(xué)生自主學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和大數(shù)據(jù)知識的熱情,進(jìn)一步培養(yǎng)學(xué)生的計算思維和能力。
4?大數(shù)據(jù)環(huán)境下,優(yōu)化教學(xué)方法
在大數(shù)據(jù)環(huán)境下,“數(shù)據(jù)結(jié)構(gòu)(Java)”課程需要突破傳統(tǒng)的教學(xué)模式,有效利用先進(jìn)的信息化技術(shù)探索多元化的教學(xué)方式,關(guān)注學(xué)生學(xué)習(xí)需求,重視學(xué)生自主學(xué)習(xí)和創(chuàng)新能力的培養(yǎng)。
首先,課程充分利用互聯(lián)網(wǎng)及大數(shù)據(jù)技術(shù)的優(yōu)勢,以應(yīng)用為目標(biāo),以實踐教學(xué)為核心,以學(xué)生為主體,以項目為載體,構(gòu)建課程體系,引入多元化的教學(xué)手段。課程合理采用情景導(dǎo)入、故事啟發(fā)、任務(wù)驅(qū)動、教師總結(jié)、分組練習(xí)、學(xué)生討論等教學(xué)方法,進(jìn)行所授內(nèi)容的融合。充分了解學(xué)生的學(xué)情情況,合理進(jìn)行教學(xué)設(shè)計,規(guī)劃教學(xué)過程,將數(shù)據(jù)結(jié)構(gòu)中抽象的概念及算法實現(xiàn)過程通過信息化的方式進(jìn)行直觀展示,方便學(xué)生進(jìn)行理解和掌握,加強知識點在具體任務(wù)中的應(yīng)用,使學(xué)生通過“實踐—學(xué)習(xí)—實踐—提高”的過程不斷提高編程能力,實現(xiàn)“在實踐中學(xué)習(xí)、在學(xué)習(xí)中實踐、理論與實踐教學(xué)一體化”。以實際任務(wù)牽引教學(xué),充分激發(fā)學(xué)生的學(xué)習(xí)熱情,調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性,提高教學(xué)效果。
其次,課程合理應(yīng)用網(wǎng)絡(luò)平臺,以學(xué)生為本,建設(shè)在線資源,拓展教學(xué)內(nèi)容。“數(shù)據(jù)結(jié)構(gòu)(Java)”課程采用我校泛雅平臺實現(xiàn)線上線下混合教學(xué),通過在平臺中有序組織導(dǎo)學(xué)、總結(jié),章節(jié)知識點詳解及本章測試等教學(xué)內(nèi)容擴展課程內(nèi)容,方便學(xué)生利用碎片化的課余時間在線學(xué)習(xí),及時復(fù)習(xí)及預(yù)習(xí),充分體現(xiàn)“以學(xué)生為中心的教學(xué)理念”,為學(xué)生提供更豐富的學(xué)習(xí)渠道。
同時,借助線上線下混合教學(xué)模式,教師可以充分利用教學(xué)過程中產(chǎn)生的行為數(shù)據(jù),借用大數(shù)據(jù)技術(shù)進(jìn)行有效的分析,推動教學(xué)質(zhì)量的提高。教師在教學(xué)過程中通過線上平臺發(fā)布通知、討論、簽到、投票、選人、搶答、問卷、隨堂練習(xí)、分組任務(wù)等活動,提高師生課堂互動。課前,基礎(chǔ)知識理解。通過線上平臺課程導(dǎo)學(xué),布置預(yù)習(xí)任務(wù);學(xué)生根據(jù)學(xué)生預(yù)習(xí)任務(wù)自主學(xué)習(xí)“教學(xué)內(nèi)容”“知識點詳解”“視頻任務(wù)點”等內(nèi)容,最后通過結(jié)合隨堂練習(xí)、投票和問卷等方式,檢測其知識盲區(qū),進(jìn)行精準(zhǔn)定位。課中,知識思維培養(yǎng)。根據(jù)自學(xué)情況提出問題,教師引導(dǎo)學(xué)生回答,理解其知識點,針對回答情況,對重難點知識進(jìn)行講解,通過講解充分利用隨機選人、搶答、分組任務(wù)等活動,有效實現(xiàn)互動,完成對知識點的內(nèi)化。同時,對知識點的應(yīng)用通過案例分析引導(dǎo)學(xué)生理解其應(yīng)用及算法實現(xiàn)思路,并通過分組任務(wù)引導(dǎo)學(xué)生自主通過編碼的方式進(jìn)行算法的具體實現(xiàn)。課后,鞏固提升。通過本章測試和分組任務(wù)的形式檢測所學(xué)知識點,充分調(diào)動學(xué)生的積極性和主動性,讓每個學(xué)生都能學(xué)有所獲。借助大數(shù)據(jù)技術(shù),將整個教學(xué)過程中學(xué)生活動的行為數(shù)據(jù)采集下來,通過圖、表等多元方式直觀展示出來,有效地幫助老師進(jìn)一步精準(zhǔn)分析學(xué)生對某一特定知識點的理解與掌握程度,有針對性地講評,最終反饋回到教學(xué)和課程優(yōu)化當(dāng)中,實現(xiàn)精準(zhǔn)教學(xué)。
線上線下混合式教學(xué)圖
最后,課程構(gòu)建大數(shù)據(jù)實驗平臺,豐富教學(xué)案例。在實踐教學(xué)過程中,教師應(yīng)充分發(fā)揮大數(shù)據(jù)實驗平臺的作用,利用已搭建的大數(shù)據(jù)平臺環(huán)境探索數(shù)據(jù)結(jié)構(gòu)知識的應(yīng)用,設(shè)計多層次的應(yīng)用實例,學(xué)生也可以利用已搭建好的模型和算法進(jìn)行實際操作,通過實踐思考在此平臺下算法實現(xiàn)與傳統(tǒng)方式下的異同點,培養(yǎng)學(xué)生的實際應(yīng)用能力和大數(shù)據(jù)思維。
5?大數(shù)據(jù)背景下,多元化考核方式
“數(shù)據(jù)結(jié)構(gòu)(Java)”作為一門實踐性較強的課程,利用大數(shù)據(jù)技術(shù)強化過程管理,采用過程性考核和終結(jié)性考核相結(jié)合的考核方式,將整個教學(xué)過程中的學(xué)生的行為成績有機結(jié)合起來。
過程性考核將學(xué)習(xí)效果的評價與整個教學(xué)過程相融合,能夠幫助教師不斷調(diào)整教學(xué)方法、優(yōu)化教學(xué)手段的同時,加強對學(xué)生主動學(xué)習(xí)精神、獨立解決問題能力的培養(yǎng)。過程性考核占50%,主要由平臺系統(tǒng)進(jìn)行記錄和導(dǎo)出,將課前自學(xué)、課上知識點理解、分組任務(wù)、課后學(xué)生自主學(xué)習(xí)、章節(jié)測試、課程線上測試等充分融合起來,包括考勤、作業(yè)、課程音視頻、章節(jié)測試、資源訪問、討論、課堂互動等構(gòu)成。實驗成績主要采用學(xué)生自評、同學(xué)互評和教師評價的方式進(jìn)行。實驗環(huán)節(jié)中為了增強學(xué)生的動手能力,按照驗證、設(shè)計、綜合、拓展遞進(jìn)設(shè)計、分解實驗任務(wù),最終將每個環(huán)節(jié)任務(wù)完成情況通過平臺分組任務(wù)、隨堂練習(xí)和實驗報告方式進(jìn)行提交。平臺自動統(tǒng)計學(xué)生完成情況,根據(jù)完成情況,學(xué)生首先進(jìn)行講解和自我評價,同學(xué)以提問的方式進(jìn)行互評,最后教師進(jìn)行總結(jié)答疑,對完成情況進(jìn)行評價。線上測試從泛雅平臺的課程資料題庫中進(jìn)行抽取組合完成,考核學(xué)生對基礎(chǔ)知識掌握情況。
實施過程性考核,教師可針對具體任務(wù)采取課堂實踐、課后實踐、卷面測試等多種方式進(jìn)行,可采取學(xué)生自評、生生互評、組間互評等形式進(jìn)行多方面考核。
終結(jié)性考核側(cè)重于考核學(xué)生知識掌握程度和應(yīng)用情況,采用試卷的方式進(jìn)行,包括線性表、樹、圖數(shù)據(jù)結(jié)構(gòu),查找與排序問題等內(nèi)容。
6?總結(jié)
“數(shù)據(jù)結(jié)構(gòu)(Java)”作為一門基礎(chǔ)性課程,是計算機科學(xué)的基石,也是信息時代的重要支撐。在大數(shù)據(jù)時代,數(shù)據(jù)結(jié)構(gòu)在生產(chǎn)生活中的應(yīng)用越來越廣泛,這對該課程提出了明確的導(dǎo)向,也提出了更高的需求。因此,高校需持續(xù)關(guān)注相關(guān)學(xué)科發(fā)展的前沿和趨勢,不斷推進(jìn)此課程改革,在課程目標(biāo)中注重學(xué)生研究能力、工程實踐能力的培養(yǎng),利用大數(shù)據(jù)技術(shù)豐富課程內(nèi)容,積極探索新的教學(xué)方法,理論聯(lián)系實際,解決實際問題,使大數(shù)據(jù)技術(shù)與數(shù)據(jù)結(jié)構(gòu)課程更好地進(jìn)行融合,提高課程的高階性,提升學(xué)生學(xué)習(xí)的自主性和分析問題、解決復(fù)雜問題的綜合能力及創(chuàng)造型思維能力的培養(yǎng)。
參考文獻(xiàn):
[1]李春葆,李筱馳.數(shù)據(jù)結(jié)構(gòu)教程(Java語言描述)[M].清華大學(xué)出版社,2020.
[2]孟巍,周艷聰,黃橡麗.大數(shù)據(jù)背景下的電商專業(yè)數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革探索[J].科研教育,2020,06(425):3334+64.
[3]邢丹.大數(shù)據(jù)時代的醫(yī)學(xué)院校數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革初探[J].電腦知識與技術(shù),2018,05:114116.
[4]鄭春紅,王偉.大數(shù)據(jù)背景下高職院校《數(shù)據(jù)結(jié)構(gòu)》課程的教學(xué)改革初探[J].現(xiàn)代計算機,2019,10:7174.
[5]金偉健.新工科背景下校企協(xié)同育人平臺構(gòu)建探索[J].科技資訊,2019,17(2):174175.
項目名稱:大數(shù)據(jù)時代下“數(shù)據(jù)結(jié)構(gòu)(Java)”課程教學(xué)改革研究,項目號:2022JY03
作者簡介:孫方(1988—?),女,漢族,湖北隨州人,碩士研究生,高級工程師,研究方向:計算機應(yīng)用。