宋瑞琪 劉甜甜
黃河交通學院 河南焦作 454950
隨著信息時代的到來,離散數學的重要性逐漸被人們認識。“離散數學”課程所傳授的思想和方法廣泛地體現在計算機科學與技術相關專業的各個領域,從理論計算機科學到計算機應用技術,從計算機軟件到計算機硬件,從人工智能到認知系統,均與離散數學緊密相關[1]。計算機只能處理離散的或離散化了的數量關系,所以需要用離散數學表示問題和分析問題,再用計算機解決問題。因而,大部分高校中計算機科學與技術相關專業,均將“離散數學”設置為核心基礎課程,作為學習專業理論知識不可缺少的數學工具。
“離散數學”由于概念多、定理多、高度抽象等課程特點,通常被當作純數學科目來進行教學,由數學專業的教師進行講授,一般采用“課堂講授+課后作業”的教學模式。學生在學習過程中看不到離散數學知識在計算機科學中的具體應用背景,導致學生不重視離散數學的學習,且由于這門課本身的抽象性和理論性,會使學生對該課程產生恐懼心理[2]。因此,在“離散數學”課程教學的過程中,需要考慮如何將離散數學的相關知識和“數據庫原理”“人工智能”“數據結構”等計算機專業的課程以及實際生活聯系起來,使學生更好地理解、掌握所學知識。
全國高校思政工作會議曾提出高校應當做好思政工作,并依托課堂教學這一主要教學途徑,促進思政教學和各類課程之間的同向同行,發揮協同效應,促進雙方提升[3]。從而,在將離散數學相關知識與計算機專業課程聯系的同時,應該盡可能在其中融入思政,將教書育人真正落實到課堂教學中。
目前,離散數學課程的主要內容有數理邏輯、集合論、圖論、組合數學與代數系統等,大部分高校還是以“課堂講授”為主要教學模式,教學安排一般為五個環節:復習回顧、情景導入、新課講授、課堂小結、布置作業。情景導入環節可以選擇“數據庫原理”“人工智能”“數據結構”等后續課程的應用實例,也可以選擇和實際生活緊密相連的國家政策、熱點新聞等,提高學生學習的興趣和積極性。新課講授環節要注意:一是不僅要講解知識,還要歸納總結和思考如何使學生更好地理解、掌握所學知識;二是如果情節導入環節留有問題,最后需要解決問題并再次點題并凝練思政;三是可以適當拓展相應的實際操作,鼓勵學有余力的學生學習更深層次的知識。課堂小結可以結合思維導圖、提問、小組討論等多種形式來完成。作業的布置可以不局限于課本上的作業,可以是分解后的競賽題,也可以是實際問題等。下面以課本[4]為例,根據“離散數學”與“數據庫原理”“人工智能”“數據結構”等后續課程以及實際生活的聯系,討論了“離散數學”教學過程中如何穿插相應的應用實例,并盡可能在其中融入思政,使學生更好地理解、掌握所學知識,同時將教書育人真正落實到課堂教學中。
目前,數據庫原理主要研究的數據庫類型是關系數據庫,關系數據庫中的關系演算和關系模型需要用到離散數學中謂詞邏輯的知識;關系數據庫的邏輯結構是由行和列構成的二維表,表之間的連接操作需要用到離散數學中笛卡爾積的知識,表數據的查詢、插入、刪除和修改等操作都需要用到離散數學中關系代數理論和數理邏輯中的知識[5]。
例如,在講解集合論的背景知識時,可以把數據庫信息存儲、查找等操作同實際生活聯系起來?!皵祿樵兿到y”是一個關系數據庫,其建立、查詢、插入、刪除和修改等操作都需要用到集合論中的集合、關系、笛卡爾積等知識。
新課講授環節中,在講解集合的基本概念時,可以通過集合中元素與集合之間的關系,引申出個人與集體之間的關系,同時可以引用鄧中夏的一句名言“五人團結一只虎,十人團結一條龍,百人團結像泰山”,使學生正確認識個人與集體之間的利益關系,并樹立正確的全局觀念。在講解關系的基本概念時,使學生了解關系是描述事物之間的聯系,如數之間的關系、記錄之間的關系、國之間關系,以及人之間的關系等。同時,一方面回到情景設計環節的“數據查詢系統”,介紹所學知識在其中發揮的作用,引申關系在數據庫理論的作用,強調理論對實踐的指導作用。另一方面,通過國之間的關系,強調一個國家要立于不敗之地,必須立于時代潮頭,鼓勵學生學好基礎知識,報效祖國。
離散數學中數學推理和布爾代數章節中的知識為早期的人工智能研究領域打下了良好的數學基礎。謂詞邏輯演算為人工智能學科提供了一種重要的知識表示方法和推理方法[5]。集合論在人工智能的應用中可以幫助建立機器學習中的決策分類模型的表示和分類。圖論中哈密頓圖為人工智能中智能算法解決旅行商問題提供了強有力的描述工具。
例如,在講解數理邏輯部分的“析取范式與合取范式”小節時,可以和人工智能中知識的謂詞邏輯表示法、生活中“神舟十四號”聯系起來。情景導入環節設計如下:2022年6月5日,神舟14號載人飛船發射取得圓滿成功。10年前,劉洋搭乘神舟九號載人飛船首次飛天,在“天宮一號”工作生活了13天。從神舟九號到神舟十四號,從短期駐留到“出差”半年,劉洋太空之旅的10年之變,濃縮著中國航天的蓬勃發展。這10年,中國航天跨越發展,從航天大國邁向航天強國,演繹著非同凡響的“中國速度”。中國載人航天工程取得的諸多成就和優秀的航天員是密不可分,我們對參加過載人航天任務的楊利偉、聶海勝、王亞平等宇航員的名字耳熟能詳,但身處或身處過航天員大隊但沒有執行過載人航天任務的鄧清明、陳全等人同樣值得我們敬佩,他們時刻把“寧可備而不用,決不用而無備”的要求落到實處,把“任務需要、國家榮譽”放在首位,雖然有遺憾、有傷感,但仍在堅持。每一位參加載人航天任務宇航員的選擇都充滿了各種考量,簡化之后就是本節的應用“人員選派問題”。
數據結構主要研究數據的邏輯結構和存儲結構以及它們之間的相互關系,并對這種結構定義相應的操作設計出相應的算法。數據的邏輯結構通常有集合結構、線性結構、樹結構和圖結構四類,這四類也是離散數學研究的內容。數據結構中有豐富的案例,并相應給出了案例的分析與實現,在“離散數學”授課中,可以引入這些案例,讓學生了解基本知識的實際用途,在最后也可以拓展相應的案例分析與實現,鼓勵學生深入了解相關知識。
例如,在講解圖論部分的“生成樹”小節時,可以和數據結構中以最小成本構建通信網絡、生活中“廣電5G”聯系起來。情景導入環節設計如下:中國廣電是全球范圍內媒體與通信行業深度融合發展的典型案例,如果中國廣電希望實現整個區域、全國、甚至全球5G網絡互聯互通,可以整個區域抽象為一個連通網,地點就是連通網中的頂點,兩個地點之間可以架設通信線路就是連通網中的邊,兩個地點之間架設通信線路的耗費就是邊上的權值。而在這個連通網中實現網絡互聯,自然是希望耗費盡可能少,那么應該怎樣做呢?就是本節的重點——在連通網中尋找最小生成樹。
新課講授環節中,求最小生成樹有很多種算法,常用的是破圈法和避圈法,課本中講解的避圈法(Kruskal算法),可以拓展Kruskal算法如何實現,也需要讓學生知道這兩種算法都需要反復判斷回路是否存在,很多時候是不實用的,常使用深度優先算法和廣度優先算法,可以簡單介紹這兩個算法,鼓勵學有余力的學生學習更深層次的知識。
數學的理論體系源自于實踐,是在解決實際問題的過程中不斷發展和抽象出來的,然后會被應用于實踐[6]。也就是說,數學來自于實際生活,應用于實際生活,與實際生活之間存在著密不可分的聯系,同樣可以知道,離散數學與實際生活是密不可分的。
例如,在講解圖論部分的“通路與回路”小節時,可以和“一帶一路”倡議聯系起來。情景導入環節設計如下:為增進我國的對外交流,提出了“一帶一路”倡議,“一帶一路”建設秉承共商、共享、共建原則,已經惠及了亞歐非大陸,其中很多專業知識也在項目建設中得到應用,比如用盡可能少的耗費實現煤氣管道互通,可以將整個“一帶一路”抽象為一個圖,地點就是圖中的頂點,兩個地點之間的路線就是圖中的邊,那么兩地點鋪設煤氣管道的耗費可以怎么表示呢?整個圖的最少耗費可以怎么求呢?就是本節的重點——最短路徑。
新課講授環節可以使用幾個小技巧。第一個小技巧,講解通路、簡單通路、路徑、回路、簡單回路、圈等概念時,概念比較多、比較相似,不太容易理解,因為圖論部分的資料大部分都是外文的,該部分不同的離散數學課本會有不同的翻譯,所以可以將這些術語的英文walk、trace、path、cycle等同步介紹給學生,并通過英文的含義告訴學生這些概念的記憶方法。比如,walk的意思是散步,相對隨意,聯想到通路的頂點和邊都可以重復;trace的意思是痕跡,聯想到所有邊不能重復;path的意思是路,聯想到所有頂點、邊都不能重復。同時,這幾個概念之間是有一定的聯系的,可以總結一下對比記憶,比如,如果通路、簡單通路、路徑的起點和終點相同,就可以分別得到回路、簡單回路、圈;路徑(path)是特殊的簡單通路,簡單通路(trace)是特殊的通路(walk);圈是特殊的簡單回路,簡單回路是特殊的回路。通路與回路相關概念的學習,中英文聯想記憶、對比記憶總結如下圖所示。

通路與回路相關概念的學習圖
第二個小技巧,在講解Dijkstra標號算法時,首先要介紹這個算法的必要性。對于簡單的賦權圖,如果我們求兩個頂點之間的最短路徑,因為頂點數和邊數比較小,可以多次對比找出最短路徑。但如果賦權圖的頂點數和邊數比較大,這種方法可能無法準確地得到最短路徑,此時,我們就需要使用Dijkstra標號算法借助計算機來求解最短路徑。其次,通過Dijkstra的主要成就和語錄提煉思政熱點。根據“1972年獲得圖靈獎”這個成就,普及“有計算機科學界的諾貝爾獎之稱”的圖靈獎,結合Dijkstra的照片,提出“顏值與才華并存”是大家努力的方向。通過Dijkstra的經典語錄“有效的程序員不應該浪費很多時間用于程序調試,他們應該一開始就不要把故障引入”,與大家常說的“編程十分鐘,調試兩小時”,告訴學生,應該打好基礎,重視編程編寫,而不是調試。
第三個小技巧,最后回到前面提到的“一帶一路”建設中,用盡可能少的耗費實現整個版圖煤氣管道互通問題。講解實際問題的一般求解方法:實際問題?數學建模?算法設計?編程實現,編程實現由教師展示即可,有興趣的學生可以由教師帶著簡單學習一下,其他同學可以等數據結構課程再進行學習。同時凝練思政知識點,在中國從大國走向強國的過程中,同學們應該提高知識、能力、素質水平,期待同學們可以填補“一帶一路”建設中的人才缺口,擔負起國家建設的重任。
“離散數學”是計算機科學與技術相關專業的一門核心基礎課程,本文根據“離散數學”與“數據庫原理”“人工智能”“數據結構”等后續課程以及實際生活的聯系,對“離散數學”課程教學改革提出了幾點建議,給出了“離散數學”教學過程中如何穿插相應的應用實例,并盡可能在其中融入思政,在學生更好地理解、掌握所學知識的同時,將教書育人真正落實到課堂教學中。比如,在講解集合論的背景知識時,可以和數據庫信息存儲、查找等操作聯系起來;在講解數理邏輯部分的“析取范式與合取范式”小節時,可以和人工智能中知識的謂詞邏輯表示法、生活中“神舟十四號”聯系起來;在講解圖論部分的“生成樹”小節時,可以和數據結構中以最小成本構建通信網絡、生活中“廣電5G”聯系起來;在講解圖論部分的“通路與回路”小節時,可以和“一帶一路”倡議聯系起來。