尹波
摘 ?要: 離散數(shù)學(xué)是計(jì)算機(jī)類專業(yè)的核心基礎(chǔ)課程,具有理論性強(qiáng)并且內(nèi)容抽象的特點(diǎn)。文章分析歸納了離散數(shù)學(xué)課程實(shí)際教學(xué)中存在的問題,探索面向計(jì)算機(jī)抽象思維能力培養(yǎng)的教學(xué)模式改革,提出離散數(shù)學(xué)抽象思維培養(yǎng)核心內(nèi)容,以啟發(fā)和訓(xùn)練學(xué)生的建模思維、邏輯思維、算法思想為主導(dǎo),著重從課程內(nèi)容設(shè)計(jì)、實(shí)踐環(huán)節(jié)培養(yǎng)等方面提出具體改革措施。該教學(xué)改革可以有效提高學(xué)生將實(shí)際問題轉(zhuǎn)化為計(jì)算機(jī)可計(jì)算問題的能力。
關(guān)鍵詞: 離散數(shù)學(xué); 抽象思維; 實(shí)踐培養(yǎng); 教學(xué)改革
中圖分類號:G642 ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A ? ? ?文章編號:1006-8228(2020)06-67-03
Abstract: Discrete mathematics, which has the characteristics of strong theory and abstract content, is a core basic course for computer related majors. In this paper, the problems existed in teaching of discrete mathematics are analyzed, the reform of teaching mode for cultivating computer abstract thinking ability is explored. The core content of abstract thinking ability in the course of discrete mathematics is formally defined, and the strategies of teaching reform from the perspectives of teaching content, and practice training are presented, in order to inspire and train students' modeling thinking, logic thinking, and algorithmic thinking. This teaching mode reform can effectively improve the ability of students to transform practical problem into computable problem.
Key words: discrete mathematics; abstract thinking; practice training; teaching reform
0 引言
離散數(shù)學(xué)是國內(nèi)高校計(jì)算機(jī)學(xué)科相關(guān)專業(yè)的核心基礎(chǔ)理論課程,并且是專業(yè)其他核心課程,如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、編譯原理、信息安全、人工智能等的先行課程[1-2]?!度A盛頓協(xié)議》明確指出要培養(yǎng)學(xué)生解決復(fù)雜工程問題的能力以及邏輯思維能力。離散數(shù)學(xué)課程是數(shù)學(xué)和計(jì)算機(jī)之間的橋梁,其重要之處在于把現(xiàn)實(shí)世界的問題變成計(jì)算機(jī)可計(jì)算的問題:通過數(shù)理邏輯相關(guān)方法將現(xiàn)實(shí)問題變成邏輯問題,再通過形式化的方法(例如集合方法、函數(shù)方法、圖論)將邏輯問題變成代數(shù)與圖論問題。
離散數(shù)學(xué)是一門概念多、理論性強(qiáng)、內(nèi)容抽象、邏輯性高的課程[3-5]。傳統(tǒng)的離散數(shù)學(xué)往往將該課程當(dāng)作一門純理論課程,教學(xué)與應(yīng)用相脫節(jié),并且忽視對計(jì)算機(jī)抽象思維能力的培養(yǎng),教學(xué)效果有限,學(xué)生體會不到這門課程的有用之處,主要問題如下:
一方面,課程內(nèi)容過于理論化,與實(shí)踐應(yīng)用脫節(jié)。目前國內(nèi)離散數(shù)學(xué)教材側(cè)重講授概念和性質(zhì)定理,缺少這些性質(zhì)定理在解決計(jì)算機(jī)學(xué)科具體問題的應(yīng)用,也缺少與其他后續(xù)課程內(nèi)容的有效關(guān)聯(lián)和整合[6]。離散數(shù)學(xué)課程大部分高校是48個純理論教授學(xué)時,課程內(nèi)容較多但學(xué)時有限,基本不設(shè)置實(shí)驗(yàn)或者上機(jī)訓(xùn)練環(huán)節(jié),導(dǎo)致學(xué)生學(xué)習(xí)目標(biāo)不明確,學(xué)習(xí)興趣不高。
另一方面,計(jì)算機(jī)抽象思維能力培養(yǎng)乏力。離散數(shù)學(xué)通過闡述離散結(jié)構(gòu)的描述工具和方法,重點(diǎn)是培養(yǎng)學(xué)生的抽象思維和嚴(yán)格的邏輯推理能力。抽象思維能力是指從計(jì)算機(jī)的基本工作原理出發(fā),將現(xiàn)實(shí)世界中的具體問題,抽象為合適的數(shù)學(xué)模型,進(jìn)行嚴(yán)格地邏輯證明,并且形式化為計(jì)算機(jī)語言可表述和解決的問題。目前離散數(shù)學(xué)課程教學(xué)忽略了對學(xué)生計(jì)算機(jī)抽象思維能力的培養(yǎng),使得學(xué)生在面對具體問題時,雖然掌握了經(jīng)典理論的基本知識和推理技巧,但是缺乏在社會實(shí)踐中發(fā)現(xiàn)問題和解決問題的意識,在真正面對實(shí)際問題時也不能夠利用所學(xué)知識設(shè)計(jì)出有效的解決方案。
本文對面向計(jì)算機(jī)抽象思維能力的離散數(shù)學(xué)教學(xué)改革進(jìn)行了探索。通過離散數(shù)學(xué)課程的學(xué)習(xí),使得學(xué)生具有以下基本素質(zhì):①基本的建模思維,能夠?qū)栴}進(jìn)行量化,轉(zhuǎn)化為數(shù)學(xué)模型;②較好的邏輯思維能力,能夠嚴(yán)謹(jǐn)?shù)剡M(jìn)行邏輯推理;③較強(qiáng)的算法思想,能夠?qū)懗龈咝У拇a。
1 計(jì)算機(jī)抽象思維核心內(nèi)容
將實(shí)際問題轉(zhuǎn)化為計(jì)算機(jī)可處理的問題并對其求解,是一個高度復(fù)雜抽象的過程。抽象思維通過對問題進(jìn)行分析、建模、推理、歸納出規(guī)則,并且用計(jì)算機(jī)語言形容它。離散數(shù)學(xué)的內(nèi)容主要包括數(shù)理邏輯,集合論,代數(shù)系統(tǒng)與圖論。根據(jù)計(jì)算機(jī)的工作原理和離散數(shù)學(xué)的特點(diǎn),離散數(shù)學(xué)的抽象思維能力主要包括以下內(nèi)容。
⑴ 建模思維:建模思維是從具體事物中抽取概括出共性,進(jìn)行精確的符號化表示,映射到算法模型或者數(shù)學(xué)模型,進(jìn)行數(shù)值求解的過程。離散數(shù)學(xué)課程有大量的抽象建模概念,其中數(shù)理邏輯通過引進(jìn)符號系統(tǒng)來研究思維的形式結(jié)構(gòu)和規(guī)律,使得人們?nèi)粘K季S中邏輯推理過程可以使用計(jì)算的方法來實(shí)現(xiàn);集合論提供了描述數(shù)學(xué)物件的語言,包含了集合、成員、關(guān)系等基本的數(shù)學(xué)概念。集合論和邏輯構(gòu)成了數(shù)學(xué)的公理化基礎(chǔ)。代數(shù)結(jié)構(gòu)也叫做抽象代數(shù),也是一種數(shù)學(xué)模型,用以表示實(shí)際世界中的離散結(jié)構(gòu)。圖論則是使用點(diǎn)和邊來表示事物和事物之間的關(guān)系。
⑵ 邏輯思維:計(jì)算機(jī)學(xué)科邏輯思維是指符合計(jì)算機(jī)工作原理的思維方式。針對實(shí)際問題構(gòu)建數(shù)學(xué)模型后,需要采用邏輯表達(dá)式來表示,并且按照一定邏輯關(guān)系來推理和證明。邏輯思維是規(guī)范和嚴(yán)密的,主要包括推理和歸納。離散數(shù)學(xué)數(shù)理邏輯通過使用數(shù)學(xué)方法(即引入符號體系)來研究關(guān)于推理和證明等形式邏輯上的問題。數(shù)理邏輯包括邏輯演算、證明論、遞歸論等內(nèi)容。
⑶ 算法思想:算法是計(jì)算機(jī)程序的靈魂,程序運(yùn)行效率最終取決于算法。算法包括算法設(shè)計(jì)與算法分析,其中算法設(shè)計(jì)是根據(jù)實(shí)際問題制定出有效的算法,算法分析是對算法的正確性、時空復(fù)雜度等各種性質(zhì)進(jìn)行定性或定量分析。從更高層次看,算法是一種思維方法,最終達(dá)到使用計(jì)算機(jī)技術(shù)進(jìn)行高效求解的目的。在離散數(shù)學(xué)教學(xué)中強(qiáng)化算法思想,有益于提高學(xué)生動手編程能力,有助于后續(xù)數(shù)據(jù)結(jié)構(gòu)與算法、算法設(shè)計(jì)與分析等課程的學(xué)習(xí),更能體現(xiàn)離散數(shù)學(xué)課程作為計(jì)算機(jī)專業(yè)的課程的特點(diǎn),而不是純粹的數(shù)學(xué)課程。
2 具體改革措施
2.1 提煉知識點(diǎn),摒棄冗繁概念陳述,以解決問題為中心
離散數(shù)學(xué)課程內(nèi)容繁雜?,F(xiàn)有國內(nèi)離散數(shù)學(xué)教材側(cè)重對性質(zhì)定理的闡述,教材中的例題和習(xí)題多是訓(xùn)練對性質(zhì)定理本身的理解和記憶,演變成純粹地做數(shù)學(xué)題。進(jìn)行離散數(shù)學(xué)課程改革,首要內(nèi)容是整合教學(xué)內(nèi)容,提煉和精講知識點(diǎn),以解決問題為中心,圍繞“問題起源(背景)”、“問題的抽象(建模思想)”、“問題解決(邏輯思想、算法思想)”、“問題有效解決(邏輯思想、算法思想)”、“計(jì)算機(jī)領(lǐng)域應(yīng)用案例”五步驟解決問題思維方式為主線,教授學(xué)生從計(jì)算機(jī)視角解決生產(chǎn)和實(shí)踐中的問題。問題起源重在闡述知識點(diǎn)的背景知識,為什么會出現(xiàn)該問題,類似的問題有哪些,類似問題的共性在哪里。問題的抽象是將應(yīng)用問題建模為條例清晰、明確的抽象模型和數(shù)學(xué)模型,充分描述模型約束和模型元素。問題解決對抽象模型和數(shù)學(xué)模型的特點(diǎn)和性質(zhì)進(jìn)行分析,通過使用計(jì)算機(jī)語言描述的軟件或硬件得到基本解決方案。問題有效解決旨在優(yōu)化解決方案,提高解決方案的正確性和效率。整個教學(xué)過程始終圍繞學(xué)生思維訓(xùn)練以及解決問題能力培養(yǎng)展開,一步步引導(dǎo)學(xué)生由淺入深地、從日常思維到嚴(yán)密地從數(shù)學(xué)和計(jì)算機(jī)思維來解決問題。獲得問題解決方案后,需對知識點(diǎn)進(jìn)行升華和拓展,結(jié)合計(jì)算機(jī)后續(xù)課程和計(jì)算機(jī)領(lǐng)域最新技術(shù)方法講解應(yīng)用案例。
以圖論為例,圖論的起源是十八世紀(jì)著名的格尼斯堡七橋問題,通過使用點(diǎn)和線抽象建模為圖的歐拉問題。采用圖的方式表示事物之間的聯(lián)系,最大的優(yōu)點(diǎn)就是直觀和可視化。但是如果用計(jì)算機(jī)編程處理,需要轉(zhuǎn)換為計(jì)算機(jī)可理解的符號表示,這樣就有了關(guān)聯(lián)矩陣、鄰接矩陣等使用矩陣來表示圖中點(diǎn)和邊關(guān)系的方式。回到歐拉問題本身,引出的問題是歐拉圖具有的性質(zhì)、什么樣的圖才存在歐拉回路(是否有充分必要條件)。只有對這些問題進(jìn)行探索和分析后,才能準(zhǔn)確回答給定圖是否存在歐拉道路,再進(jìn)一步尋找歐拉回路的算法。深度優(yōu)先算法、Fleury算法均能找到歐拉回路,但是后者比前者的時間效率要高。歐拉圖在計(jì)算機(jī)領(lǐng)域有著廣泛應(yīng)用需求,例如計(jì)算機(jī)網(wǎng)絡(luò)中路由和傳輸路徑的設(shè)計(jì)。
2.2 設(shè)置實(shí)驗(yàn)環(huán)節(jié),重視實(shí)踐教學(xué),鼓勵學(xué)生參加競賽
實(shí)踐教學(xué)是進(jìn)一步培養(yǎng)和提高解決實(shí)際問題能力的重要途徑,更是適應(yīng)培養(yǎng)新興工程科技人才需求的基本方法。結(jié)合應(yīng)用實(shí)例進(jìn)行實(shí)踐教學(xué),有助于提高學(xué)生的參與度和對知識理解程度,激發(fā)學(xué)生學(xué)習(xí)熱情,并且鍛煉學(xué)生動手編程能力。實(shí)踐教學(xué)包括基礎(chǔ)性實(shí)驗(yàn)和拓展性實(shí)驗(yàn),其中基礎(chǔ)性實(shí)驗(yàn)以鞏固核心知識點(diǎn)為目的,圍繞知識點(diǎn)相關(guān)概念和原理進(jìn)行編程,要求學(xué)生在課內(nèi)上機(jī)或者實(shí)驗(yàn)完成。拓展性實(shí)驗(yàn)則是針對實(shí)際應(yīng)用問題,要求學(xué)生建模并且映射到已有知識,探索和找出解決問題的方法,具有一定難度和挑戰(zhàn)性;教師進(jìn)行思路指導(dǎo),學(xué)生分成項(xiàng)目小組,協(xié)作式完成實(shí)驗(yàn)項(xiàng)目,并進(jìn)行現(xiàn)場演示和答辯。
數(shù)理邏輯部分,基礎(chǔ)性實(shí)驗(yàn)階段要求編程計(jì)算任意命題公式的真值表、主析(合)取范式、推理、形式化證明等。拓展性實(shí)驗(yàn)階段將理論知識應(yīng)用于解決復(fù)雜問題,以制作閱卷系統(tǒng)為目的,通過命題邏輯中的推理證明,實(shí)現(xiàn)一題多解情況下的主觀題閱卷。涉及到的知識點(diǎn)有命題演算、命題邏輯推理規(guī)則、命題邏輯運(yùn)算符號和優(yōu)先級等。
集合論部分,基礎(chǔ)性實(shí)驗(yàn)階段要求編程實(shí)現(xiàn)集合的基本運(yùn)算(并、交、補(bǔ)、差、冪)、集合關(guān)系判斷(包含、相等、真包含)、關(guān)系的運(yùn)算(選擇、投影、連接、除法)、計(jì)算關(guān)系矩陣的性質(zhì)(自反性、對稱性、傳遞性)。拓展性實(shí)驗(yàn)階段,實(shí)現(xiàn)具有基本查詢功能的小型數(shù)據(jù)庫原型系統(tǒng)[7]。
代數(shù)系統(tǒng)部分,基礎(chǔ)性實(shí)驗(yàn)階段編程實(shí)現(xiàn)代數(shù)系統(tǒng)相關(guān)性質(zhì)的判斷(同余關(guān)系、等價關(guān)系)、群的判斷、環(huán)的判斷、域的判斷。拓展性實(shí)驗(yàn)階段,與信息安全技術(shù)相結(jié)合,要求實(shí)現(xiàn)一種數(shù)字簽名算法,幫助學(xué)生了解數(shù)據(jù)加密、數(shù)字簽名和認(rèn)證基本思想和方法。
圖論部分,基礎(chǔ)性實(shí)驗(yàn)階段編程實(shí)現(xiàn)歐拉回路、哈密頓回路的求解算法。掌握圖的矩陣表示方法,通過可視化方法繪制圖形。使用較大的數(shù)據(jù)集,運(yùn)行不同算法并記錄CPU時間開銷,從而強(qiáng)調(diào)算法設(shè)計(jì)和算法時間復(fù)雜度的重要性。拓展性實(shí)驗(yàn)階段,以眾包和服務(wù)組合中任務(wù)分配問題作為案例,建模為二部圖問題,使用二部圖算法來實(shí)現(xiàn)任務(wù)分配。
鼓勵學(xué)生參加數(shù)學(xué)建模競賽、大學(xué)生課外科技立項(xiàng)等項(xiàng)目,培養(yǎng)學(xué)生的實(shí)踐能力、解決問題的思維能力和編程能力。
2.3 改革考核方式,注重實(shí)踐表現(xiàn)
離散數(shù)學(xué)理論性較強(qiáng),實(shí)施書面考試是必要的。但是離散數(shù)學(xué)學(xué)習(xí)的目的是提高解決問題的能力,因此也要注重實(shí)踐環(huán)節(jié)學(xué)生的表現(xiàn)。傳統(tǒng)的考核,以期末書面考試為主,缺乏對學(xué)習(xí)過程的監(jiān)督,不注重學(xué)生平時學(xué)習(xí)的積累;缺少對實(shí)踐過程的考核,沒有真實(shí)反映學(xué)生基于本課程知識解決問題的能力。改革考核方式,主要措施內(nèi)容如下。
⑴ 對學(xué)習(xí)過程進(jìn)行監(jiān)督,對實(shí)踐進(jìn)行考核:采用“平時作業(yè)+實(shí)驗(yàn)+期末考試”的方式,期末考試和平時作業(yè)是對理論知識的考核,這兩項(xiàng)加起來占總成績的50%(平時作業(yè)占20%,期末占30%),實(shí)驗(yàn)包括基礎(chǔ)性實(shí)驗(yàn)和拓展性實(shí)驗(yàn),是對思維能力和解決問題的綜合能力進(jìn)行考核,占總成績的50%(基礎(chǔ)性實(shí)驗(yàn)占20%,提升性實(shí)驗(yàn)占30%)。教師針對作業(yè)和實(shí)驗(yàn)中存在的問題,及時反饋和指導(dǎo)。
⑵ 增加成績透明度:平時成績和實(shí)驗(yàn)成績及時公開。對于基礎(chǔ)型實(shí)驗(yàn),進(jìn)行現(xiàn)場抽查,要求學(xué)生講解自己的編程思路和代碼實(shí)現(xiàn)。對于拓展性實(shí)驗(yàn),制定并公開評分標(biāo)準(zhǔn),并且采用學(xué)生互評和教師評分相結(jié)合的方式。
3 結(jié)束語
本文探討了面向計(jì)算機(jī)抽象思維能力培養(yǎng)的離散數(shù)學(xué)教學(xué)模式改革,對教學(xué)內(nèi)容、實(shí)踐環(huán)節(jié)、考核方法進(jìn)行改革。教學(xué)過程注重對學(xué)生的建模思維、邏輯思維、算法思想的訓(xùn)練,提煉知識點(diǎn),摒棄冗繁概念陳述,精心設(shè)計(jì)實(shí)踐環(huán)節(jié)。實(shí)踐證明,該教學(xué)改革使得學(xué)生學(xué)習(xí)目標(biāo)更加明確,提高了學(xué)生編程解決實(shí)際問題的能力。在以后的教學(xué)工作中,還需要進(jìn)一步加強(qiáng)和后續(xù)課程的組合銜接優(yōu)化,完善和豐富教學(xué)手段,才能真正發(fā)揮離散數(shù)學(xué)課程的作用,更好地促進(jìn)學(xué)生質(zhì)量的提高。
參考文獻(xiàn)(References):
[1] 蘇慶,林華智,黎展毅.新工科形勢下離散數(shù)學(xué)課程教學(xué)改革探索[J].計(jì)算機(jī)教育,2019.1:25-28
[2] 梁銀,董永權(quán),郭小薈.工程教育認(rèn)證中離散數(shù)學(xué)教學(xué)改革探討[J].計(jì)算機(jī)時代,2019.12:91-94
[3] 王曉華,汪榮貴,楊娟,李書杰. 離散數(shù)學(xué)實(shí)驗(yàn)環(huán)節(jié)的設(shè)計(jì)與實(shí)施[J].合肥工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2019.33(6):128-132
[4] 夏紅科.工程教育認(rèn)證背景下離散數(shù)學(xué)課程體系的實(shí)施[J].計(jì)算機(jī)教育,2019.8:103-106
[5] 張順利,黃文芝.計(jì)算思維導(dǎo)向的離散數(shù)學(xué)混合教學(xué)模式研究[J].計(jì)算機(jī)教育,2019.3:39-43
[6] 龍陳鋒,何軼,喬波.操作系統(tǒng)與離散數(shù)學(xué)課程關(guān)系分析[J].教育現(xiàn)代化,2019.9:133-136
[7] 魏瑋,謝慧珍,張麗純.命題邏輯中形式推演證明題的自動評閱系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2014.2:6-14