孔祥艷 劉自強(qiáng) 夏晨曦 李麗華
(東華理工大學(xué) 信息工程學(xué)院 江西 南昌 330013)
《離散數(shù)學(xué)》是計(jì)算機(jī)專業(yè)的核心基礎(chǔ)課程,一門課程中包含了幾個(gè)數(shù)學(xué)分支內(nèi)容,分別為:數(shù)理邏輯、集合論、代數(shù)系統(tǒng)和圖論?!峨x散數(shù)學(xué)》課程具有定義和定理繁多、理論性強(qiáng)和內(nèi)容抽象等特點(diǎn),很容易被學(xué)生認(rèn)為是一門純數(shù)學(xué)課程,教學(xué)活動(dòng)主要是教師的講授,注重知識(shí)傳授而忽略應(yīng)用,更缺乏基本理論的應(yīng)用與專業(yè)學(xué)科的有機(jī)結(jié)合,這使得很多學(xué)生感覺(jué)不到此課程與專業(yè)課程的關(guān)聯(lián),認(rèn)為這門課程難學(xué)且沒(méi)用,因而普遍對(duì)課程缺少興趣。
雖然《離散數(shù)學(xué)》課程所教授內(nèi)容以數(shù)學(xué)知識(shí)點(diǎn)為主,具有較強(qiáng)的理論性,但同時(shí)具有應(yīng)用性的特點(diǎn),在數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)、數(shù)據(jù)庫(kù)、人工智能等多個(gè)領(lǐng)域都有較廣泛的應(yīng)用[1-2],因此適合使用案例教學(xué)。很多教師在《離散數(shù)學(xué)》課程中使用了案例教學(xué)方法[3-8],其中一類主要探討案例教學(xué)的方法論,另一類則注重具體案例的設(shè)計(jì)與實(shí)施。
在國(guó)家一流本科建設(shè)專業(yè)支持下,采用了案例教學(xué)法,以期提高學(xué)生對(duì)《離散數(shù)學(xué)》課程的興趣,加深學(xué)生對(duì)基本概念的理解,提高學(xué)生的運(yùn)用知識(shí)、分析并解決工程問(wèn)題的能力。
為提高學(xué)生運(yùn)用所學(xué)課程知識(shí)、分析并解決工程問(wèn)題能力,既需設(shè)計(jì)與單個(gè)知識(shí)點(diǎn)對(duì)應(yīng)的基本案例,又需設(shè)計(jì)涵蓋本課程的若干個(gè)知識(shí)點(diǎn)和多個(gè)概念的綜合性案例。在教學(xué)實(shí)踐中總結(jié)出設(shè)計(jì)教學(xué)案例的4個(gè)方法:
(1)深入挖掘《離散數(shù)學(xué)》基本知識(shí)在計(jì)算機(jī)專業(yè)課程中的重要作用,這是設(shè)計(jì)好基本案例和綜合案例的重要基礎(chǔ)。圖1是離散數(shù)學(xué)各知識(shí)模塊與部分專業(yè)課程之間的關(guān)系圖。
圖1 離散數(shù)學(xué)各知識(shí)模塊與部分專業(yè)課程之間的關(guān)系圖
(2)閱讀文獻(xiàn)和國(guó)內(nèi)外離散數(shù)學(xué)及其它專業(yè)課教材,并改進(jìn)已有的工程案例。
(3)在各類數(shù)學(xué)建模競(jìng)賽題目中挖掘相關(guān)知識(shí),找出實(shí)際工程中《離散數(shù)學(xué)》相關(guān)知識(shí)的應(yīng)用案例。
(4)發(fā)動(dòng)學(xué)生們的智慧搜集案例。讓學(xué)生運(yùn)用《離散數(shù)學(xué)》知識(shí)解決生活或?qū)I(yè)課程中的一個(gè)小問(wèn)題,從而深刻體會(huì)到《離散數(shù)學(xué)》知識(shí)的實(shí)用價(jià)值。
教學(xué)案例的選取非常重要,良好的課堂教學(xué)案例是實(shí)現(xiàn)教學(xué)目標(biāo)的重要基礎(chǔ)。如果案例選取不恰當(dāng),可能會(huì)影響教學(xué)效果。選取教學(xué)案例時(shí)需要考慮的3個(gè)重要因素如下:
(1)案例要有科學(xué)性,并與《離散數(shù)學(xué)》課程教學(xué)內(nèi)容直接關(guān)聯(lián),主要使用本課程相關(guān)知識(shí)來(lái)描述和解決。
(2)案例應(yīng)貼近生活或能體現(xiàn)離散數(shù)學(xué)知識(shí)在專業(yè)課程中的應(yīng)用,以減少學(xué)生的陌生感,利于學(xué)習(xí)中的情感認(rèn)同,激發(fā)學(xué)生的學(xué)習(xí)興趣。
(3)案例中描述的問(wèn)題要有挑戰(zhàn)性,但難度適中,學(xué)生能運(yùn)用離散數(shù)學(xué)的知識(shí)解決問(wèn)題,從而獲得成就感和信心。
基本案例是在教師課堂講解單個(gè)知識(shí)點(diǎn)時(shí),介紹完基本概念后引入,而綜合性案例通常是在學(xué)生完成課程基本知識(shí)點(diǎn)及離散建模方法的學(xué)習(xí)后引入。由于本文篇幅有限,所以僅介紹幾個(gè)基本案例在離散數(shù)學(xué)教學(xué)中的應(yīng)用。
講解完命題推理理論中幾種常用論證方法和基本推理規(guī)則后,告訴學(xué)生推理理論在警察破案時(shí)也有重要的作用,并舉例如下。公安人員審理某珠寶店鋪金項(xiàng)鏈的失竊案,已知如下偵察結(jié)果: (1)營(yíng)業(yè)員甲或乙盜竊了金項(xiàng)鏈;(2)若乙作案,則作案時(shí)間不在營(yíng)業(yè)時(shí)間; (3)若甲提供的證詞正確,則貨柜未上鎖;(4)若甲提供的證詞不正確,則作案發(fā)生在營(yíng)業(yè)時(shí)間;(5)貨柜上了鎖。問(wèn)題:作案者是誰(shuí)?并寫出推理過(guò)程。啟發(fā)學(xué)生首先將命題(1)-(5)符號(hào)化,在這過(guò)程中,如果兩個(gè)命題中包含相同的原子命題,則相同的原子命題在不同的命題中使用相同的符號(hào)。通過(guò)這個(gè)例題的練習(xí),學(xué)生們不僅復(fù)習(xí)了如何將命題符號(hào)化,學(xué)會(huì)了幾種基本推理規(guī)則的靈活運(yùn)用,而且認(rèn)識(shí)到命題推理理論在現(xiàn)實(shí)生活中的重要應(yīng)用價(jià)值。
笛卡爾積是集合之間的一種重要運(yùn)算,是一種純數(shù)學(xué)基礎(chǔ)理論,它為關(guān)系數(shù)據(jù)庫(kù)的研究提供了重要方法,所以學(xué)生需要對(duì)笛卡爾積的概念有較深入的理解,我們通過(guò)一個(gè)案例理解笛卡爾積。例如:令A(yù)是我們班所有學(xué)生的集合,B是我們學(xué)校開(kāi)設(shè)的所有課程的集合。A和B的笛卡爾積A×B是什么,A×B的子集又是什么,如何應(yīng)用?啟發(fā)學(xué)生可以將我們班學(xué)生只用少量學(xué)生表示,學(xué)校開(kāi)始的所有課程也只用少量部分課程,從而便于用列舉法表示出所求的集合。最后學(xué)生得出: 笛卡爾積A×B是由所有形如<a, b>的序偶的集合,其中a是我們班的學(xué)生而b是我們學(xué)校開(kāi)設(shè)的一門課程。A×B集合表示我們班學(xué)生選課的所有可能情況,而A×B的子集表示一種可能的選課情況。學(xué)生通過(guò)做這個(gè)例題能夠?qū)Φ芽柗e的概念有較形象的掌握。
接著討論笛卡兒積在尋找連續(xù)日期中殘缺的數(shù)據(jù)時(shí)的應(yīng)用。例如:有個(gè)考勤記錄表,記錄著500個(gè)人的2022年4月的考勤信息,理論上這些人應(yīng)該每天都有記錄的,但可能有某些人缺少一些天的考勤數(shù)據(jù),怎樣查找出哪些人在哪些天缺少考勤記錄呢?不論是按天查詢和還是按人查詢都比較麻煩。這種情況下,可以對(duì)這500個(gè)人的集合和2022年4月每一天得到的日期集合做笛卡爾積運(yùn)算,然后與實(shí)際的表去關(guān)聯(lián),就能容易查詢出結(jié)果了。通過(guò)解決尋找連續(xù)日期中殘缺數(shù)據(jù)的實(shí)際問(wèn)題讓學(xué)生感受到笛卡爾積這個(gè)概念的實(shí)用價(jià)值。
鄰接矩陣是圖論部分的一個(gè)重要概念,它是指用一個(gè)方陣表示圖的各頂點(diǎn)之間的鄰接關(guān)系,講解完基本概念后介紹鄰接矩陣一個(gè)重要應(yīng)用。圖的結(jié)構(gòu)比較復(fù)雜,任意兩個(gè)頂點(diǎn)之間都可能有關(guān)系,導(dǎo)致簡(jiǎn)單的順序存儲(chǔ)不能表示圖,但可以借助二維數(shù)組(即鄰接矩陣)來(lái)表示元素之間的關(guān)系。給出無(wú)向圖、有向圖和有權(quán)圖這三種不同圖的鄰接矩陣,讓學(xué)生總結(jié)出不同圖的鄰接矩陣分別有什么特點(diǎn),從而對(duì)鄰接矩陣的概念有更形象和深入的理解。告訴學(xué)生只有當(dāng)圖中有許多邊,即圖是稠密圖時(shí),用鄰接矩陣表示圖便于執(zhí)行圖的算法,但是當(dāng)圖包含的邊較少時(shí),用鄰接表比鄰接矩陣更適合,并從算法復(fù)雜度方面簡(jiǎn)單舉例分析說(shuō)明。
可達(dá)性矩陣描述了圖中任意兩個(gè)結(jié)點(diǎn)間是否存在一條路及任意結(jié)點(diǎn)上是否存在回路,講解完基本概念和可達(dá)性矩陣的求法后,讓學(xué)生解決下列問(wèn)題:設(shè)A、B、C、D、E、F六個(gè)城市之間有通信網(wǎng)絡(luò),并給出這些城市間的通信網(wǎng)絡(luò)圖,它們之間均可進(jìn)行通話聯(lián)絡(luò)。某一天B和C間的線路產(chǎn)生故障,分析此故障對(duì)六城市間通話的影響;某一天D和F的線路產(chǎn)生故障,也分析此故障的影響。首先引導(dǎo)學(xué)生們通過(guò)題意理解以下事實(shí):城市X與Y間可通話,若城市Y與Z間可通話,則X與Z間可通話。通過(guò)教師的啟發(fā),學(xué)生們認(rèn)識(shí)到兩個(gè)城市之間通過(guò)一條或多條線路相連,則它們之間就可以通話聯(lián)絡(luò)。然后引導(dǎo)他們通過(guò)分別求不同故障狀態(tài)下相應(yīng)圖的可達(dá)性矩陣,即可解決問(wèn)題。通過(guò)對(duì)此問(wèn)題的解決,學(xué)生感受到可達(dá)性矩陣在解決其它領(lǐng)域工程問(wèn)題中有重要應(yīng)用價(jià)值。
將案例教學(xué)法應(yīng)用于《離散數(shù)學(xué)》課程教學(xué)后,學(xué)生們明顯感受到此課程與專業(yè)課程的關(guān)聯(lián)性較強(qiáng),認(rèn)為這門課程不僅在現(xiàn)實(shí)生活中還是在其它專業(yè)課程的學(xué)習(xí)中都很有用,從而對(duì)課程內(nèi)容逐漸產(chǎn)生了學(xué)習(xí)興趣。同時(shí),學(xué)生們通過(guò)積極參與課堂互動(dòng)活動(dòng)并完成案例收集相關(guān)作業(yè),大大提高了運(yùn)用知識(shí)、分析并解決工程問(wèn)題的能力。