楊美艷 劉堯猛
摘要:計算思維是一種新的思維方式,要求用計算機科學(xué)的基本概念去解決問題,系統(tǒng)設(shè)計并理解人類的行為。離散數(shù)學(xué)是計算機專業(yè)非常重要的一門專業(yè)基礎(chǔ)課程,其教學(xué)目標(biāo),就是要培養(yǎng)學(xué)生的抽象思維能力、邏輯推理能力,提高學(xué)生利用數(shù)學(xué)方法解決問題的技能,這與培養(yǎng)學(xué)生的計算思維能力也是高度一致的。該文分析了原有教學(xué)模式的一些弊端,提出了一種基于計算思維培養(yǎng)的全新的教學(xué)方法,使得計算思維的培養(yǎng)意識始終貫穿于整個教學(xué)過程,有效地激發(fā)了學(xué)生的學(xué)習(xí)興趣,達到更好的教學(xué)目標(biāo),收到良好地教學(xué)效果。
關(guān)鍵詞:計算思維 離散數(shù)學(xué) 教學(xué)改革
中圖分類號:O15 文獻標(biāo)識碼:A 文章編號:1674-098X(2017)06(c)-0150-03
Abstract:Computational thinking is a new way of thinking, which requires the basic concepts of computer science to solve the problem, system design and understanding of human behavior. Discrete mathematics is a very important subject in computer science, and its teaching objective is to cultivate students' ability of abstract thinking, logical reasoning, and improve students' ability to solve problems by using mathematical method. This paper analyzes some disadvantages of the original teaching mode, and puts forward a new teaching method based on the computational thinking training, make the cultivation of the computational thinking consciousness throughout the teaching process, effectively inspire the students' interest in learning, to achieve better teaching goal and receive good teaching effects.
Key words:Computational thinking; Discrete mathematics; Teaching reform
計算思維作為一種新的科學(xué)思維方式,一經(jīng)提出便成為計算教育領(lǐng)域的一個重要概念和研究的一個熱點問題。在我國,也有很多計算機教育專家從教育的角度出發(fā),對計算思維的培養(yǎng)進行了研究與分析。然而,計算思維在計算機教育中的應(yīng)用仍處于初級階段。離散數(shù)學(xué)是計算機相關(guān)專業(yè)的核心課程之一,在計算機邏輯設(shè)計、自動機理論、編碼理論、網(wǎng)絡(luò)安全、密碼學(xué)等領(lǐng)域有著非常重要的作用,為后續(xù)的多門專業(yè)課程的學(xué)習(xí)打下堅實的基礎(chǔ)。然而,離散數(shù)學(xué)本身的具有理論性強和高度抽象等特點,被公認為是一門既難教又難學(xué)的課程。文章作者通過分析計算思維與離散數(shù)學(xué)的特點及其內(nèi)在聯(lián)系,結(jié)合多年來的教學(xué)經(jīng)驗,提出了一種基于計算思維培養(yǎng)的全新教學(xué)方法。
1 計算思維簡介
計算思維是一種新的思維方式,要求用計算機科學(xué)的基本概念去解決問題,系統(tǒng)設(shè)計并理解人類的行為。隨著信息化的全面推進,“計算機”變得無處不在、無事不用,網(wǎng)絡(luò)(包括物聯(lián)網(wǎng)等)延伸到各個角落,加上數(shù)據(jù)積累的簡單化、容易化,使計算思維成為人們認識和解決問題的重要思維方式之一。計算思維能力,是所有受教育者應(yīng)該具備的能力,更是計算機專業(yè)人員應(yīng)該具備的能力。然而,目前從總體上看,人們對計算思維的認識以及如何進行計算思維能力的培養(yǎng)還處于相對初始的階段,很多問題還有待進一步的研究和實踐。
2 離散數(shù)學(xué)教學(xué)中如何實現(xiàn)計算思維的培養(yǎng)
離散數(shù)學(xué)屬于現(xiàn)代數(shù)學(xué)的范疇,研究的是離散量的結(jié)構(gòu)和相互之間的關(guān)系。由于離散數(shù)學(xué)的興起和發(fā)展都與計算機科學(xué)緊密相關(guān),因此又將它稱為計算機數(shù)學(xué)。隨著計算機科學(xué)技術(shù)的飛速發(fā)展,作為基礎(chǔ)學(xué)科之一的離散數(shù)學(xué)也變得越來越重要。它所涉及的概念、方法和理論,大量地應(yīng)用在數(shù)字電路、編譯原理、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫、算法等領(lǐng)域。事實上,離散數(shù)學(xué)采用抽象的數(shù)學(xué)符號系統(tǒng)對知識進行表達,然后進一步對知識進行分析和計算,這本身就是一種計算思維的體現(xiàn)。并且離散數(shù)學(xué)的教學(xué)目標(biāo),是要培養(yǎng)學(xué)生的抽象思維能力、邏輯推理能力,提高學(xué)生利用數(shù)學(xué)方法解決問題的技能,這與培養(yǎng)學(xué)生的計算思維能力也是高度一致的。然而筆者,在從事十多年的離散數(shù)學(xué)一線的教學(xué)工作中,對于離散數(shù)學(xué)的教學(xué)過程和教學(xué)效果,深有體會。非常遺憾,當(dāng)前很多高校的“離散數(shù)學(xué)”教學(xué)都沒有達到這個目標(biāo),大部分計算機專業(yè)學(xué)生在學(xué)習(xí)完“離散數(shù)學(xué)”課程后均表示“作用不大”。因此,我們有必要對當(dāng)前“離散數(shù)學(xué)”的教學(xué)方法進行改進。
3 教學(xué)改進
筆者所在學(xué)校,與計算機相關(guān)的專業(yè)的離散數(shù)學(xué)教學(xué)也曾經(jīng)歷過各樣的改革。其中一種就是,鑒于離散數(shù)學(xué)在整個計算機專業(yè)中的重要基礎(chǔ)地位,為了學(xué)生能扎實基礎(chǔ)知識和能力,把離散數(shù)學(xué)的教學(xué)學(xué)時延長。由原來的1學(xué)期72學(xué)時,延長拓展至,3學(xué)期,186學(xué)時。分別是第一學(xué)期:《集合論》、《圖論》,教學(xué)學(xué)時72學(xué)時;第二學(xué)期 :《近世代數(shù)》,教學(xué)學(xué)時54學(xué)時;第三學(xué)期:《面向計算機科學(xué)的數(shù)理邏輯》,教學(xué)學(xué)時60學(xué)時。然而,在教學(xué)手段上,基本采用傳統(tǒng)教學(xué)方法,即課堂講述加少量的算例。學(xué)生對知識的理解仍然停留在理論階段,甚至由于部分同學(xué)數(shù)學(xué)基礎(chǔ)的薄弱,使得大量的理論課程更使其缺乏興趣,不能接受,很難將離散數(shù)學(xué)培養(yǎng)和訓(xùn)練的能力與實際應(yīng)用聯(lián)系起來,使學(xué)生在學(xué)習(xí)過程中很難體會到該課程與計算機科學(xué)之間的聯(lián)系,特別是與實踐應(yīng)用的聯(lián)系。以此可見,通過單純的增加課時來提高學(xué)生的能力培養(yǎng)效果不太明顯。所以,必須改變傳統(tǒng)的教學(xué)模式,在理論講授之后,適當(dāng)?shù)卦黾訉嵺`教學(xué)內(nèi)容,有利于學(xué)生對理論知識的掌握和認識。在實踐教學(xué)過程中可以基于任務(wù)驅(qū)動的教學(xué)模式,以問題為載體,培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題和解決問題的能力。根據(jù)理論課程的教學(xué)內(nèi)容,將知識點融入到實踐教學(xué)中設(shè)計不同的實驗任務(wù),然后將這些實驗任務(wù)分配給學(xué)生,讓學(xué)生自己進行資料的收集、問題的分析以及信息的處理,使得學(xué)生能夠?qū)嶋H感受和體驗到知識的產(chǎn)生過程。在離散數(shù)學(xué)的教學(xué)過程中增加實驗教學(xué)環(huán)節(jié),將理論知識與計算機程序設(shè)計課程有機結(jié)合,進而建立一個較完善的離散數(shù)學(xué)實踐課程體系,有利于培養(yǎng)學(xué)生的綜合應(yīng)用能力。endprint
4 基于實踐教學(xué)的計算思維的培養(yǎng)——案例分析
抽象化和自動實現(xiàn)是計算思維中兩個關(guān)鍵內(nèi)容,即首先將復(fù)雜現(xiàn)實問題抽象成數(shù)學(xué)模型,并用數(shù)學(xué)的符號系統(tǒng)來描述,繼而通過所學(xué)的計算機知識逐步“計算”求解,從而找到解決問題的算法,利用計算機實現(xiàn)。下面,我們就以《集合論》中一節(jié)知識——偏序關(guān)系作為例子,討論在教學(xué)過程中,讓學(xué)生體會如何在案例中實現(xiàn)理論知識與實踐相結(jié)合,并培養(yǎng)學(xué)生的計算思維能力。
4.1 問題描述及分析
例如,一個計算機專業(yè)的學(xué)生,每學(xué)期必須學(xué)習(xí)一系列的基本課程,然而有些課程必須在學(xué)習(xí)完其他課程之后才能學(xué)習(xí),即有一定的先修課程。比如,必修學(xué)習(xí)完《離散數(shù)學(xué)》、程序設(shè)計基礎(chǔ)才能學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》。這樣課程之間就有了一定的優(yōu)先關(guān)系,那么我們就可以用偏序關(guān)系來表達課程之間的這種優(yōu)先關(guān)系。如<離散數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu)>,<離散數(shù)學(xué),匯編語言>,<數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)>等等。為了方便理解,下面我們分別用表、有向圖來表達課程之間的關(guān)系,有向圖中的弧代表課程之間的先修關(guān)系。
4.2 問題解決方案
構(gòu)造一個課程集合上的偏序關(guān)系,若a,b代表課程,用偏序關(guān)系來代表課程之間的優(yōu)先順序,既a≤b當(dāng)且僅當(dāng)a優(yōu)先于b,既課程a結(jié)束后課程b才能開始。
我們可以使用如下的算法來求出課程的完成順序(其中,A是課程集合)。
在一個偏序關(guān)系R中,根據(jù)極小元素的定義,如果一個元素a和集合中任意元素x,只要任意x?a都滿足
通過上述案例,學(xué)生不僅能夠理解偏序關(guān)系的概念,也能夠體會其用途。在整個問題的解決過程中,體現(xiàn)出計算思維的兩大核心內(nèi)容,即抽象化和自動化。筆者認為,如果在離散數(shù)學(xué)的整個教學(xué)過程中,如果教師能恰當(dāng)引導(dǎo),學(xué)生能用心體會,把計算思維貫穿在教學(xué)的各個環(huán)節(jié)上,那么通過一個學(xué)期的學(xué)習(xí)和體會,學(xué)生不但能較好地完成離散數(shù)學(xué)的教學(xué)目標(biāo),并且對其計算思維能力的提高,以及對計算機科學(xué)后續(xù)的專業(yè)課程奠定了極其重要的基礎(chǔ)。
參考文獻
[1] 龔沛曾,楊志強.大學(xué)計算機基礎(chǔ)教學(xué)中的計算思維培養(yǎng)[J].中國大學(xué)教學(xué),2012(5):51-54.
[2] 孫麗君,楊志強,高枚.圍繞計算思維培養(yǎng)的程序設(shè)計課程改革[J].計算機教育,2013(5):29-31.
[3] 何欽銘,陸漢權(quán),馮博琴.計算機基礎(chǔ)教學(xué)的核心任務(wù)是計算思維能力的培養(yǎng)[J].中國大學(xué)教學(xué),2010(9):7-11.
[4] 馮博琴.對于計算思維能力培養(yǎng)“落地”問題的探討[J].中國大學(xué)教學(xué),2012(9):6-9.
[5] 蔣宗禮.計算思維之我見[J].中國大學(xué)教學(xué),2013(9).
[6] 耿素云.離散數(shù)學(xué)[M].北京:北京大學(xué)出版社,2011.
[7] JeannetteM.Wing.Computational Thingking[J] Communications of the ACM,2006,49(3):33-35.
[8] 嚴蔚敏.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,1997:179-186.