張艷++劉亞
摘 要: 離散數(shù)學課程對培養(yǎng)學生的抽象思維、邏輯思維和計算思維能力有著重要意義。從該課程的實用性出發(fā),在分析課程定位的基礎上,以網(wǎng)絡化的形式構建知識單元之間的聯(lián)系,引入任務驅動的實踐教學環(huán)節(jié)以改變傳統(tǒng)的教學模式,充分調動學生的學習積極性,大大提高了教學質量。
關鍵詞: 離散數(shù)學; 計算思維能力; 實踐教學; 自主學習能力
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2016)05-89-03
Abstract: Discrete mathematics course is of great significance to cultivate students' ability of abstract thinking, logical thinking and computational thinking. This paper, starting out from the practicability of the course, on the basis of analyzing the course orientation, builds the links between knowledge units in the form of networking, and introduces the task-driven practical teaching to change the traditional teaching mode, which fully mobilizes the enthusiasm of students and greatly improves the quality of teaching.
Key words: discrete mathematics; computational thinking ability; practical teaching; autonomous learning ability
0 引言
離散數(shù)學是計算機科學與技術專業(yè)一門核心基礎課程[1],該課程不僅為數(shù)據(jù)結構、編譯原理、操作系統(tǒng)、數(shù)據(jù)庫原理、人工智能等專業(yè)課程提供必須的基礎知識,而且對培養(yǎng)學生的抽象思維、邏輯思維和計算思維能力十分重要。該課程有助于提高學生分析問題和解決問題的能力。
由于該課程具有內容多、概念多、理論性強、高度抽象等特點,很多高校教師常常采用“定義-定理-證明-習題”這樣的傳統(tǒng)數(shù)學理論課的教學模式講授,而學生覺得枯燥、難學。本文重新思考離散數(shù)學的課程定位;從知識的實用性出發(fā),力求合理組織和安排教學內容;探討任務驅動的實踐教學模式以激發(fā)學生學習積極性,提高離散數(shù)學課程的教學效果,從而更好地培養(yǎng)學生的計算機專業(yè)能力。
1 從計算思維能力培養(yǎng)角度重新審視課程的定位
計算思維是指對問題及其解決方案進行闡釋,將解決方案表示成形式化的信息處理代理(information-
processing agent)形式有效解決問題的思維過程,其本質是抽象和自動化[2-3]。對于計算機專業(yè)學生而言,計算思維的能力具體體現(xiàn)為學生構建各種層次的計算環(huán)境以及在這種環(huán)境下進行問題求解的能力。因此,從計算思維的角度重新審視離散數(shù)學課程定位十分必要。
在離散數(shù)學課程教學伊始就要明確告知學生:電子計算機本身是一個只能處理離散化了的數(shù)量關系的離散結構,計算機科學及其相關的科研領域,都面臨著如何運用離散結構建立模型或者如何將已有連續(xù)數(shù)量關系建立起來的模型離散化,再由計算機處理和實現(xiàn)的問題[4]。對計算思維能力的培養(yǎng)和訓練是計算機專業(yè)教學的核心所在;學生在經(jīng)過大學專業(yè)學習之后,不僅要掌握計算機專業(yè)的相關知識,更要能夠應用這些知識構建出各種層次的計算環(huán)境實現(xiàn)問題求解,這也是對學生創(chuàng)新能力培養(yǎng)的一個重要途徑。
2 挖掘相互獨立知識單元之間的聯(lián)系,構建完整的教學內容網(wǎng)絡
同一門課程針對不同專業(yè)學生,其教學的側重點與教學方式都應該是不一樣的。按照《高等學校計算機科學與技術專業(yè)核心課程教學實施方案》的要求,應用型本科院校計算機專業(yè)的離散數(shù)學教學內容分為三個層次:核心知識單元、推薦知識單元和可選知識單元[5]。為了強調知識的實用性,我們選擇包括數(shù)理邏輯、集合、關系、函數(shù)和圖論初步等教學內容為核心知識單元;在其中穿插證明技術和特殊的圖等內容作為推薦知識單元;而可選知識單元包括代數(shù)系統(tǒng)、基本計數(shù)和初等數(shù)論等內容,并則根據(jù)進度和學生的素質選擇講授。
離散數(shù)學課程是由教學目的高度統(tǒng)一的多個相對獨立的內容組成,各個知識單元看似彼此獨立,實際上存在著內在聯(lián)系:集合論、數(shù)理邏輯和圖論在抽象角度上都可以看成是一種具體的代數(shù)系統(tǒng),這樣的知識網(wǎng)絡圖(如圖1)引導學生對離散數(shù)學有一個整體的認識和把握,便于學生體會各個內容之間的聯(lián)系,從而深刻地理解字母、符號、公式、圖形等形式化概念,對課程知識有整體把握。
在介紹基本理論的同時,還應讓學生明白計算機實際應用領域與這些理論密切相關:
⑴ 數(shù)理邏輯就是專家系統(tǒng)的基礎,邏輯推理是人工智能研究中最持久的子領域之一;
⑵ 集合論在數(shù)據(jù)庫和知識庫方面具有很廣泛的應用,而且已經(jīng)成為計算科學工作者不可缺少的數(shù)學基礎知識;
⑶ 代數(shù)系統(tǒng)是計算機通信領域中糾錯機制的數(shù)學基礎,例如:群和陪集等概念是校驗矩陣和群碼校正的理論基礎;
⑷ 圖論是數(shù)學建模中最常用的方法,在計算機網(wǎng)絡與通訊、社會科學以及經(jīng)濟管理等領域已得到廣泛應用。
如此,學生就能明白離散數(shù)學在計算機學科中的作用、地位和重要性,從而提高學生的學習興趣。
3 引入實踐環(huán)節(jié),選擇任務驅動的教學模式,發(fā)揮網(wǎng)絡平臺的優(yōu)勢
離散數(shù)學課程中包含大量抽象而不易理解的概念及分析方法。如何將這些理論性強且不易理解的專業(yè)知識與計算機科學的實踐相結合成為教學的難點和重點。為此,我們在采用啟發(fā)式教學、類比法和增加舉例等方法提高學生對抽象概念理解的同時,還引入了實踐教學環(huán)節(jié)——設計不同的實驗任務,將知識點融入實踐教學中,實現(xiàn)理論知識與計算機程序設計的有機集合。例如:關系、集合、圖和代數(shù)系統(tǒng)中的運算性質都可以表示為矩陣的形式,通過程序設計中的數(shù)組來實現(xiàn)矩陣結構,把離散數(shù)學中各種對象的分析過程轉化為信息矩陣上的各種操作。學生針對實驗任務自主探索,完成資料的收集、問題的分析以及信息的處理,充分發(fā)揮學生的主觀能動性,使其成為學習的主體,有利于培養(yǎng)學生綜合應用能力。
在設置實驗任務時,強調基本理論知識的實驗和鍛煉學生創(chuàng)新能力的綜合性實驗并重。一方面加強學生對基本定義、基本性質及其計算方法的掌握,設計一些基礎知識的驗證性實驗,在教師指導下,由學生個人獨立地在規(guī)定時間節(jié)點內完成;另一方面培養(yǎng)學生的創(chuàng)新能力,綜合實驗應圍繞離散數(shù)學在計算機科學中的應用而設定,通過創(chuàng)設一定的情境任務給學生,由多人組成小組共同完成,這樣可以提升學生的自主學習能力和知識的綜合運用能力[6]。例如:可以讓學生編程解決尋找交通網(wǎng)絡中兩個城市之間最短路徑的問題。
在實踐教學中,積極鼓勵學生使用多種程序設計語言完成實驗,這樣不僅有利于加強學生對各種程序設計語言的理解,而且高度抽象的數(shù)學理論與編程的結合能夠提高學生利用所學的程序設計語言、數(shù)據(jù)結構和算法分析等專業(yè)知識解決實際問題的能力[7],極大地提高學生學習離散數(shù)學的積極性,增強題目解決實際問題的信心。
此外,我們還開發(fā)了離散數(shù)學學習網(wǎng)站,通過網(wǎng)絡平臺延伸課堂教學內容,以彌補課堂教學時間的不足。把課堂上的教學難點、重點和來不及講授的離散數(shù)學應用實例通過網(wǎng)絡平臺展現(xiàn)給學生。通過該學習網(wǎng)站,學生可以便捷地利用各種學習資源,可以與教師互動交流,而網(wǎng)絡平臺上的知識拓展模塊對學生設計、完成相應的實驗項目會有很大幫助,這極大地激發(fā)了學生的學習興趣。
4 結束語
近幾年的教學實踐證明,以上教學方法對激發(fā)學生的學習興趣,增強教學效果是非常有效的,不僅為學生今后從事計算機應用、信息管理和計算機科研打下堅實的數(shù)學基礎,而且使該課程的教學更加貼合計算機專業(yè)學生的能力培養(yǎng)要求。以計算思維能力培養(yǎng)為出發(fā)點對離散數(shù)學課程重新定位,在教學設計中融入實驗教學環(huán)節(jié),將程序設計實踐與抽象的數(shù)學理論有效地結合起來的新思路取得初步成效,值得在計算機專業(yè)理論課教學中進一步深入和推廣。
參考文獻(References):
[1] ACM/IEEE-CS Joint Task Force on Computing Curricula. 2013. Computer Science Curricula. 2013.[DB/OL]. ACM Press and IEEE Computer Society Press. DOI: http://dx.doi.org/10.1145/2534860.
[2] 張劍妹,郭詠梅等.計算機專業(yè)離散數(shù)學教學研究[J].長治學院學報,2015.32:12-14
[3] Jeannette M. Wing. Computational Thinking: What andWhy?[EB/OL]. [2010-11-17]. http://www.cs.cmu.edu /~Computer Thinking/resources/TheLinkWing.pdf.
[4] 常亮,徐周波等.離散數(shù)學教學中的計算思維培養(yǎng)[J].計算機教育,2011.14:90-93
[5] 教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業(yè)核心課程教學實施方案[M].高等教育出版社,2009.
[6] 馬艷芳,陳亮.基于任務驅動的離散數(shù)學實驗教學研究[J].淮北師范大學學報(自然科學版),2015.36:70-73
[7] 朱仲忠.淺談程序設計在《離散數(shù)學》教學中的應用[J].電腦知識與技術,2015.11:129-130