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