劉雯敏
(武漢職業技術學院,計算機技術與軟件工程學院,湖北,武漢 430074)
目前,在黨中央的正確領導下,多地疫情清零,但“疫情清零”并不意味著徹底消滅了新冠肺炎病毒。專家判斷,疫情將長期低水平存在。近期,我國新疆和香港的疫情出現復燃,這說明,任何一個地方都不敢打包票做到“零反彈”,做好持久、充分的防控直到疫情徹底結束是非常有必要的。“零狀態”只是動態的,不是永恒的。在疫情防控背景下,在線教學模式和方法得到了快速的發展,與此同時也涌現出了大量優秀的課程思政元素。本文在課程案例中進行了思政元素融合的相關探索,有效、自然的將思想政治元素融入到“數據結構”的課程教學中。
習總書記在2016年12月的全國高校思想政治工作會議中強調,高等教育的核心問題,就是堅持把立德樹人作為中心環節,做到把思想政治工作貫穿教育教學整個過程,真正實現全員育人、全過程育人、全方位育人[1]。目前高校普遍將教學重點放在了專業性和技術性領域,但在專業課教學大綱中除了提出培養學生專業知識與能力目標外,還提出了素質目標,目前的教學重點僅僅在于專業知識和能力的培養,忽略了思想政治素養的培養。若將實時的思政元素融合到專業課的教授中,提高學生思想政治素養的同時可解決普遍存在的思政理論課程學時不夠長,融入專業課程不夠深入等問題[2]。
疫情期間,全國人民跟著黨走,上行下效,令行禁止。在中國共產黨的正確領導下,全國執行了快速高效的疫情防控策略,全國動員執行嚴格的居家隔離措施減少人員流動封鎖感染源,跟蹤調查每個病人的流行性病史、一個不漏地排查、組織井然有序的全民篩查還有嚴格的隔離觀察。這些都是時代當下的正能量,確保了中國人民打贏這場沒有硝煙的戰爭。將這些思政元素融入到課程教學中,不僅緊跟時代腳步,更讓復雜難懂的計算機專業課程接地氣,讓學生在學習專業課的同時,了解黨的指導政策,踐行社會主義核心價值觀,為國家培養有理想、有信念、有擔當的社會主義接班人。
“數據結構”是計算機專業的一門專業基礎課、專業核心課,它介于數學、計算機硬件與計算機軟件之間。不僅是學習編程的基礎,也是學習數據庫、編程框架、計算機操作系統等知識的基礎。在本課程的培養目標中,需要學生具備良好的邏輯思維能力,基本運用計算機進行數據處理的能力。如掌握數據的邏輯結構和物理結構。其特點是理論知識點多、具有一定的抽象性[3]。本課程在課程體系中具有承前啟后的作用,其前導課程為計算機文化基礎和Java程序設計,后續課程包括 JSP編程、數據庫等。
本課程主要研究計算機中數據存儲的特征及數據元素之間的關系,內容涉及了數學、計算機硬件、計算機軟件3方面的知識。主要知識點包括:線性表、棧和隊列、串、矩陣、廣義表、樹和二叉樹、圖、查找和排序等基本數據結構和算法。在本課程中實現基礎算法使用到Java編程語言,要求學生具有Java編程基礎。“數據結構”是一門理論知識較多、邏輯思維要求高、相對較難的專業課,要想在課程中開展課程思政教學實踐,必須堅持教學性質不變、知識點不變,挖掘課程中的邏輯、原理、科學精神等,融入當下思政元素[4]。本文通過探索與研究,在“數據結構”課程中融入包含思政元素的案例,并開展課程思政實踐教學工作。結合當下疫情發展情況,精心選擇了思政內容與切入點,并合理設計實踐環節,主要將疫情期間有序的全民篩查、流行性病史跟蹤調查、密接人員隔離觀察等內容引入了課程。
隊列是一種操作受限的線性結構,只允許在線性表的一端進行插入,而在另一端進行刪除。結構特點是“先進先出(First In First Out)”,即先入隊的元素會先被刪除,后入隊的元素后被刪除[5]。2020年5月14日至6月1日,武漢市對9 899 828名居民進行了核酸檢測,在這次全民檢測大會戰中,每個社區隨處可見間隔1 m的“隊列”。新冠肺炎病毒排查時間緊、任務重,排隊使公共場所有了秩序,使咽拭子采樣工作能有序、高效地進行。
在課前發布隊列基礎學習微視頻,并布置課前案例作業。武漢市某小區安排全社區人員進行核酸檢測,F下班后趕來排隊進行咽拭子采樣,在他所站的隊伍里:A、B已完成采樣;C正在采樣;D、E正在排隊等待。學生分組進行討論,要求給出F入隊過程、F出隊過程和整個隊伍出隊的序列。
課程中,首先學生分組分享課前作業的完成情況,并詳細講解采樣排隊、F入隊、F出隊的過程,在分析后都能夠得出正確的出隊序列:ABCDEF。然后教師分析隊列中新增元素(入隊)、刪除元素(出隊)的詳細操作過程,統一講解整個隊列的存儲結構和操作的相關算法。最后一起進行Java代碼實現,特別是順序存儲中的循環隊列概念。課后布置編程題,在循環隊列中實現入隊、出隊和整隊遍歷輸出操作,鞏固Java編程基礎。
通過課中分組探討新冠肺炎核酸檢測隊列中“入隊”“出隊”的過程,讓學生不僅學習到隊列這一數據結構的基礎特點,也潛移默化中深入體會了遵守秩序的重要性。“懂規矩,守紀律”才能保證社會的有序運行,社會有了各種規章制度,人們生活才能安定有序地進行,國家有了各種法律法規,人們的生活才有了安全保障。有序的隊列才能保證武漢全民核酸檢測高效、快速的進行,保證全體人民的生命安全。
圖G是頂點集合V(G)和邊集合E(G)組成的,記作G=(V(G),E(G)),簡寫為G=(V,E)。其中,V是頂點的有窮非空集合,E是2個頂點之間的關系,即邊的有窮集合。新型冠狀病毒肺炎是一種傳染性極強的傳染病,而傳染病的傳播路徑就是一個典型的有向圖。圖的深度優先遍歷,可以應用到新冠肺炎密接人員排查中,更加快速高效地排查大量與患者接觸的人員。
講解圖的遍歷前,學生已學習并掌握圖的基本概念、性質和圖的存儲。在課前發布圖的遍歷基礎學習微視頻,并布置課前案例作業。對2020年1月10日感染的患者A進行密切接觸者追蹤,對于A的密切接觸人員逐個進行隔離排查,根據A的生活軌跡抽象出有向圖(圖1)。所有密切接觸者并且僅被排查一次,分析并寫出排查的順序。

圖1 新冠患者A的密接人員分布有向圖
課程中,首先學生自由分享求解排查人員順序的思路,并詳細講解人員排查順序分析、有向圖遍歷的過程和最終遍歷結果。根據被排查且僅被排查一次的原則,學生得到多個遍歷序列,分布如下:
①ABCDEFGHIJKLMN;
②ABGCDEFHLMNIJK;
③ABGCDEFHNMLIJK。
隨后教師進行分析:這3種遍歷序列都是正確的將所有結點訪問且僅訪問一次,其中②和③是正確的深度優先遍歷。統一講解圖的深度優先遍歷的特點和實現算法,特別是棧輔助實現算法。最后一起完成使用Java代碼實現圖的深度優先遍歷,由于在計算機中有向圖存儲的唯一性特點,程序執行出來的深度優先遍歷序列為②。課后布置編程題鞏固棧的使用和圖的深度遍歷,熟練Java語法實現。
在課程中學生自主完成案例并提交答案,然后進行總結,講解圖深度優先遍歷的特點、過程、算法和具體代碼實現。結合現實疫情密接人員排查情況,不僅讓學生學習了圖的基本結構以及具體應用,也強調了傳染病傳播渠道和路徑,如何利用圖數據,科學地進行傳染病病源追蹤和傳播范圍預測,做到科學防范。
哈希表(Hash)是在記錄的存儲位置和它的關鍵字之間建立一個確定的對應關系,以求取的哈希值H(key)作為關鍵字為key的記錄在表中的位置。其中最常用求取哈希值的方法是除留余數法,除留余數法是用求余/模(%)運算得到哈希值,其哈希函數為H(key)=key %p,p≤m,其中m為存儲單元數。當不同關鍵字計算出的哈希值相同時,就會產生沖突,即該地址已經存放了其它數據元素,就要去尋找另一個空的散列地址來解決沖突。常用的解決沖突的方法有線性探測、二次探測、雙散列等。
為更好地觀察新型冠狀病毒肺炎密切接觸人員,疫情期間均對其進行隔離觀察和管理,每個人都被分配到不同的房間。將人員手機號信息抽象為關鍵字,通過除留余數法計算出其對應的哈希值(也就是房間號)。在被觀察人員和房間號之間形成一一對應的關系,可以快速地通過個人手機號碼信息查詢到其所住房間。
在課前發布哈希表學習微視頻,并布置課前案例作業。由于疫情排查需要,安排表1中的人員入住酒店A進行隔離觀察。其中取每個人手機號的最后兩位為關鍵字key,酒店還剩7個空房間,房間號分別為0—6,使用如下哈希函數計算哈希值,H(key)=key %7,當發生沖突時,采用線性探測法解決沖突,即Hi=(H(key)+di)%m,di=1,2,3,…,m為表長。

表1 酒店A隔離人員信息
課程中,首先學生自由分享哈希值的計算過程和最終的房間安排情況,并詳細講解每個哈希值的計算、處理沖突時如何計算新的哈希值。大部分同學都能夠正確地計算出每個人正確的房間號,但仍有部分同學在解決沖突時碰到問題,錯將關鍵字key帶入計算。
然后教師講解分析哈希函數與沖突解決函數的區別,逐步演示每個哈希值和沖突解決時新哈希值的計算過程,對于易犯錯誤重點講解。其中,最常見的錯誤是在解決沖突時把key值帶入計算,正確做法是將上一步中計算得到的有沖突的地址帶入重新計算出哈希值。具體計算過程如表2所示。

表2 哈希值計算詳情
課后布置拓展題,鞏固課上所學有關哈希值計算和解決沖突方法的知識點。在課程中學生自主完成哈希值和沖突地址的計算并提交答案,然后教師進行總結講解:哈希表的特點、哈希值計算、沖突解決函數和常犯錯誤。結合現實中疫情密接人員隔離房間安排的應用,不僅讓學生學習了哈希表的基本概念,也強調了人員隔離與對應房間號之間一對一的關系,密切接觸者接受嚴格的隔離,才能更有效地控制新冠肺炎傳播,高效、快速、準確地找到被感染人員。
課程思政是在教學中實現立德樹人根本目標的必然選擇,也是課程教學改革的必然趨勢。課程思政教學改革使得思政課與專業技能課的互通變為可能,架起了思政課與專業課的溝通橋梁。疫情期間涌現了大量思政內容:有序排隊的良好公共秩序、傳染病的防控路徑、密切接觸者的隔離觀察等。從“數據結構”課程的基礎內容出發,將疫情期間的思政元素合理融入到案例教學中,取得了一定的效果。在日后的專業課教學中,需要進一步加強課程思政的水平、內涵和深度挖掘。只有不斷加深課程思政的實施范圍和深度,才能在教會學生專業技能的同時不斷提高學生道德品質、思想水平、政治覺悟和文化素養,把學生培養成為德才兼備、全面發展的人才。