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