周曉聰,衣 楊,喬海燕
(中山大學(xué) 數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,廣東 廣州 510006)
新工科建設(shè)的核心目標(biāo)是要在國(guó)家實(shí)施創(chuàng)新驅(qū)動(dòng)發(fā)展、“中國(guó)制造2025”“互聯(lián)網(wǎng)+”“網(wǎng)絡(luò)強(qiáng)國(guó)”“一帶一路”等重大戰(zhàn)略的背景下,為響應(yīng)國(guó)家戰(zhàn)略需求,支撐服務(wù)以新技術(shù)、新業(yè)態(tài)、新產(chǎn)業(yè)、新模式為特點(diǎn)的新經(jīng)濟(jì)蓬勃發(fā)展而培養(yǎng)大批新興工程科技人才[1]。計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程作為比較傳統(tǒng)的工科專業(yè)要與數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、智能科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程等新興工科專業(yè)相結(jié)合來(lái)建設(shè)信息技術(shù)學(xué)科的新結(jié)構(gòu)。
新工科建設(shè)的關(guān)鍵是要樹立創(chuàng)新工程教育理念,深化工科教育改革,注重學(xué)生的工程和科技創(chuàng)新能力的培養(yǎng),樹立全面綜合的工程教育理念,加強(qiáng)跨學(xué)科、多學(xué)科知識(shí)和能力、人文和管理能力,運(yùn)用所學(xué)知識(shí)解決真實(shí)世界復(fù)雜工程問(wèn)題的綜合能力培養(yǎng),樹立全周期工程教育理念,培養(yǎng)學(xué)生樹立對(duì)產(chǎn)品、系統(tǒng)和過(guò)程全生命周期的系統(tǒng)工程觀,以更加開放和廣闊的視野,立足當(dāng)前需求,面向未來(lái)、面向國(guó)際,以學(xué)生為中心,建設(shè)貼近業(yè)界、聚焦需求、結(jié)果導(dǎo)向、持續(xù)改進(jìn)的工程教育[2]。
離散數(shù)學(xué)是計(jì)算機(jī)類專業(yè)的核心基礎(chǔ)理論課程,是計(jì)算機(jī)類專業(yè)許多核心課程的先導(dǎo)課程。傳統(tǒng)上,離散數(shù)學(xué)課程具有內(nèi)容抽象性高、邏輯性強(qiáng)、理論性強(qiáng)等特點(diǎn),很容易被當(dāng)做一門純理論課程,甚至純數(shù)學(xué)課程。雖然近年來(lái)對(duì)在離散數(shù)學(xué)課程中如何強(qiáng)化計(jì)算思維能力的培養(yǎng)進(jìn)行了探索[3],但仍然是一種偏向理科教育的教學(xué)思路。為適應(yīng)新工科背景下對(duì)新興工程科技人才的要求,適應(yīng)傳統(tǒng)計(jì)算類專業(yè)與新興專業(yè)融合發(fā)展的需求,需要在課程目標(biāo)定位、課程內(nèi)容組織和課程教學(xué)模式等方面做進(jìn)一步的探索,以發(fā)揮離散數(shù)學(xué)這類基礎(chǔ)課程在創(chuàng)新性、綜合化、全周期工程教育中的重要作用。
通常人們都會(huì)將培養(yǎng)學(xué)生的抽象思維和邏輯推理能力作為離散數(shù)學(xué)的主要教學(xué)目標(biāo)[3],近年來(lái)隨著“計(jì)算思維”概念的提出和不斷深入討論,人們也逐漸將培養(yǎng)學(xué)生的計(jì)算思維能力納入離散數(shù)學(xué)的教學(xué)目標(biāo)[4-5],不少學(xué)者也提出了將培養(yǎng)學(xué)生的模型構(gòu)建能力作為離散數(shù)學(xué)課程的教學(xué)目標(biāo)之一[6-8]。目前人們對(duì)離散數(shù)學(xué)課程教學(xué)目標(biāo)的探討都沒有在新工科建設(shè)背景下工程教育的角度進(jìn)行討論。以CDIO教育模式為代表的工程教育模式強(qiáng)調(diào)培養(yǎng)學(xué)生樹立產(chǎn)品、系統(tǒng)和過(guò)程全生命周期的系統(tǒng)工程觀,強(qiáng)調(diào)圍繞學(xué)生畢業(yè)后所制造產(chǎn)品、系統(tǒng)或過(guò)程的構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implementation)和運(yùn)行(Operation)需要的知識(shí)和技能設(shè)計(jì)課程體系和課程教學(xué)目標(biāo)[9]。因此,從工程教育角度探討離散數(shù)學(xué)課程教學(xué)目標(biāo),要從信息技術(shù)產(chǎn)品的構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行需要的知識(shí)和技能出發(fā),思考課程講授的知識(shí)和培養(yǎng)的能力在信息技術(shù)產(chǎn)品的生命周期中所能發(fā)揮的作用而對(duì)課程目標(biāo)進(jìn)行定位。
信息技術(shù)產(chǎn)品生命周期過(guò)程中最核心的內(nèi)容是離散模型的構(gòu)建與轉(zhuǎn)換。信息技術(shù)產(chǎn)品的構(gòu)思和設(shè)計(jì)必然是對(duì)所要解決工程問(wèn)題的離散建模,實(shí)現(xiàn)和運(yùn)行則是將離散模型轉(zhuǎn)換為在計(jì)算機(jī)平臺(tái)上實(shí)現(xiàn)和運(yùn)行的軟件或硬件。按照計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)委員會(huì)對(duì)計(jì)算思維能力的能力點(diǎn)描述,計(jì)算機(jī)類專業(yè)學(xué)生最基本的能力也是離散模型的構(gòu)建與運(yùn)行[10]。
如果說(shuō)離散建模能力是制造信息技術(shù)產(chǎn)品所需要的最基礎(chǔ)能力,那么離散數(shù)學(xué)課程則是培養(yǎng)學(xué)生離散建模能力的最基礎(chǔ)課程,因此應(yīng)當(dāng)將培養(yǎng)學(xué)生離散建模能力作為離散數(shù)學(xué)課程的核心教學(xué)目標(biāo)。已經(jīng)有學(xué)者提出將培養(yǎng)學(xué)生的模型構(gòu)建能力作為離散數(shù)學(xué)課程的教學(xué)目標(biāo)[6-8],但僅是空泛地將模型構(gòu)建能力培養(yǎng)作為課程教學(xué)目標(biāo)還不夠,需要根據(jù)工程教育理念,對(duì)課程目標(biāo)進(jìn)行細(xì)化,最好能進(jìn)行量化,以定量化地考核課程教學(xué)目標(biāo)對(duì)專業(yè)畢業(yè)能力要求和培養(yǎng)目標(biāo)的支撐。
離散數(shù)學(xué)課程通常在大學(xué)一年級(jí)開設(shè),因此要在課程中培養(yǎng)學(xué)生構(gòu)建復(fù)雜模型的能力不現(xiàn)實(shí),也很難通過(guò)講授離散數(shù)學(xué)知識(shí)在計(jì)算機(jī)專業(yè)后續(xù)課程中的建模應(yīng)用來(lái)完成離散數(shù)學(xué)課程的教學(xué)目標(biāo)。離散數(shù)學(xué)課程培養(yǎng)學(xué)生建模能力的教學(xué)目標(biāo)既要具體化、細(xì)化甚至量化,也要難度合適,切實(shí)可行。基于對(duì)離散模型特點(diǎn)的分析,我們將離散建模能力在離散數(shù)學(xué)課程的培養(yǎng)目標(biāo)細(xì)化為培養(yǎng)學(xué)生能有條理、明確和系統(tǒng)地描述問(wèn)題、分析和求解問(wèn)題。
有條理(methodically)是指要能抓住問(wèn)題要點(diǎn),并對(duì)其進(jìn)行有規(guī)律、有秩序的羅列,進(jìn)一步要找到合適的切入點(diǎn)將問(wèn)題進(jìn)行分解、離散化,去掉細(xì)節(jié),歸納要點(diǎn),并按一定的規(guī)律進(jìn)行枚舉、羅列;明確化(definitely)是指給出的問(wèn)題要點(diǎn)要清晰,無(wú)歧義,要點(diǎn)之間的關(guān)系、界限清晰,不模糊,要點(diǎn)之間最好沒有重疊,進(jìn)一步每個(gè)要點(diǎn)要容易理解或切實(shí)可行,甚至是機(jī)械化、形式化的;系統(tǒng)化(systematically)是指給出的問(wèn)題要點(diǎn)要全面、周密,盡量能覆蓋問(wèn)題所有可能情況。
能夠有條理、明確和系統(tǒng)地描述問(wèn)題是離散建模的第一步,作為本科一年級(jí)學(xué)生,能較好地做到這一點(diǎn),在后面的專業(yè)學(xué)習(xí)再結(jié)合后續(xù)課程知識(shí)就能逐步形成對(duì)復(fù)雜問(wèn)題進(jìn)行離散建模的能力。離散數(shù)學(xué)課程的邏輯、集合、函數(shù)、關(guān)系、圖、樹、計(jì)數(shù)等知識(shí)非常適合作為載體培養(yǎng)學(xué)生有條理、明確和系統(tǒng)描述問(wèn)題的能力。離散化是條理化的第一步,而數(shù)學(xué)語(yǔ)言是明確描述問(wèn)題的最好語(yǔ)言。將離散建模的理念貫穿到整個(gè)課程的教學(xué),將有條理、明確和系統(tǒng)描述問(wèn)題的準(zhǔn)則貫穿到教師的例題講解和學(xué)生的習(xí)題解答,就可讓學(xué)生逐步掌握離散模型的特點(diǎn),進(jìn)而以離散建模思維方式分析問(wèn)題和求解問(wèn)題,達(dá)到培養(yǎng)學(xué)生離散建模能力的目標(biāo)。
能否有條理、明確和系統(tǒng)地描述問(wèn)題、分析問(wèn)題和解決問(wèn)題可作為學(xué)生是否具有基本離散建模能力的度量,可通過(guò)學(xué)生在作業(yè)或考試中對(duì)課程問(wèn)題求解的表述進(jìn)行評(píng)價(jià)和量化,比提高學(xué)生抽象思維、邏輯推理能力這種相對(duì)空泛的目標(biāo)更容易量化課程教學(xué)目標(biāo)的達(dá)成度,更符合工程專業(yè)認(rèn)證的理念。對(duì)于計(jì)算機(jī)類專業(yè)本科一年級(jí)學(xué)生,要有條理、明確和系統(tǒng)地描述問(wèn)題并不是十分容易達(dá)到的目標(biāo)。我們?cè)诙嗄杲虒W(xué)實(shí)踐中發(fā)現(xiàn),能抓住問(wèn)題的要點(diǎn),并能準(zhǔn)確、全面表述問(wèn)題求解要點(diǎn)的初學(xué)者實(shí)際上不多,因此有必要在離散數(shù)學(xué)這樣的課程中系統(tǒng)訓(xùn)練和培養(yǎng)學(xué)生的這種能力。
離散數(shù)學(xué)被譽(yù)為計(jì)算機(jī)科學(xué)的數(shù)學(xué),但是計(jì)算機(jī)科學(xué)到底需要哪些專門的數(shù)學(xué)知識(shí)卻頗有爭(zhēng)論,這導(dǎo)致離散數(shù)學(xué)課程的教材模塊眾多,使得學(xué)生總認(rèn)為離散數(shù)學(xué)課程的內(nèi)容比較“離散”,各個(gè)模塊的知識(shí)缺乏有機(jī)聯(lián)系。教師可以從培養(yǎng)學(xué)生離散建模能力的角度出發(fā),對(duì)離散數(shù)學(xué)課程的知識(shí)內(nèi)容重新進(jìn)行整理與組合,以更好地挖掘這些知識(shí)內(nèi)容之間的內(nèi)在聯(lián)系,從而凸顯課程的教學(xué)目標(biāo)。
表1以Rosen編著的《離散數(shù)學(xué)及其應(yīng)用(英文影印版第七版)》[11]為基礎(chǔ),對(duì)該教材包含的知識(shí)模塊從離散建模的視角進(jìn)行初步整理與組合。
教師可從模型表示、模型分析和模型轉(zhuǎn)換等角度考慮離散建模所需知識(shí)。模型表示不僅包括模型元素,還包括模型元素之間的約束和對(duì)模型元素可能的操作。模型元素以及元素之間的約束、操作一起確定離散模型的結(jié)構(gòu)。為建立好的模型,還要能對(duì)模型性質(zhì)和性能進(jìn)行分析。模型性質(zhì)的分析可從模型元素的性質(zhì)、模型約束以及模型操作出發(fā)分析模型是否充分描述待求解問(wèn)題。模型性能的分析主要是分析模型元素的個(gè)數(shù),操作的效率等,以求能更高效率地對(duì)模型進(jìn)行轉(zhuǎn)換,最終使用計(jì)算機(jī)技術(shù)進(jìn)行高效地求解。建模的過(guò)程和目的都是對(duì)模型進(jìn)行轉(zhuǎn)換,首先將具體的應(yīng)用問(wèn)題轉(zhuǎn)換為有條理、明確和系統(tǒng)化(但仍可能是自然語(yǔ)言)描述的抽象模型,然后到機(jī)械化、形式化的(用偽碼或受限自然語(yǔ)言描述的)算法模型,或者是完全使用數(shù)學(xué)語(yǔ)言描述的數(shù)學(xué)模型,最后到使用計(jì)算機(jī)語(yǔ)言描述的軟件或硬件,從而達(dá)到使用計(jì)算機(jī)技術(shù)進(jìn)行求解的目的。
因此,從離散建模的視角出發(fā),學(xué)習(xí)集合、整數(shù)、函數(shù)、關(guān)系、序列、矩陣、圖、樹、布爾代數(shù)和自動(dòng)機(jī)等相關(guān)的知識(shí)的主要目的是掌握可用于表示和描述模型的元素及離散化結(jié)構(gòu),而邏輯、函數(shù)、關(guān)系、布爾代數(shù)等相關(guān)內(nèi)容則可展示如何描述模型元素之間的約束。邏輯和證明技巧,包括歸納證明技巧則是對(duì)模型性質(zhì)進(jìn)行分析所要掌握的基礎(chǔ)知識(shí),組合計(jì)數(shù)的相關(guān)知識(shí)是學(xué)生能對(duì)模型性能進(jìn)行分析的必備知識(shí),最后算法相關(guān)的基礎(chǔ)知識(shí)則是將用自然語(yǔ)言描述的模型轉(zhuǎn)換到計(jì)算機(jī)語(yǔ)言描述的軟硬件之間的重要環(huán)節(jié)。
計(jì)算機(jī)類專業(yè)本科一年級(jí)學(xué)生通常已經(jīng)學(xué)習(xí)相關(guān)程序設(shè)計(jì)語(yǔ)言的基本知識(shí),在離散數(shù)學(xué)課程中盡早地、比較系統(tǒng)化地學(xué)習(xí)算法基本概念和算法分析基本方法有助于提高學(xué)生程序設(shè)計(jì)的能力,也有助于學(xué)生學(xué)習(xí)后面的數(shù)據(jù)結(jié)構(gòu)與算法、算法設(shè)計(jì)與分析等課程,所以我們非常認(rèn)同在離散數(shù)學(xué)課程中引入有關(guān)算法的內(nèi)容,這使得離散數(shù)學(xué)課程真正成為計(jì)算機(jī)專業(yè)的課程而非數(shù)學(xué)專業(yè)的課程,也使得離散數(shù)學(xué)課程的教學(xué)可更符合工程教育理念。
以培養(yǎng)學(xué)生離散建模能力為核心的課程教學(xué)目標(biāo)需要課程教學(xué)“新模式”的支撐。離散數(shù)學(xué)課程由于內(nèi)容多,學(xué)時(shí)有限,課堂上經(jīng)常是教師從頭到尾一直講解,很少開展探究式、交互式等鼓勵(lì)學(xué)生主動(dòng)學(xué)習(xí)的教學(xué)模式。為避免這種“滿堂灌”的教學(xué),需要大膽拋棄以往注重課程知識(shí)系統(tǒng)性和完整性的教學(xué)思路,利用已有的國(guó)家精品課程資源,精心設(shè)計(jì)每堂課的教學(xué)目標(biāo)和教學(xué)過(guò)程,以精選例題、習(xí)題為中心實(shí)施探究式教學(xué),將系統(tǒng)性、完整性的知識(shí)學(xué)習(xí)主要留給學(xué)生通過(guò)網(wǎng)絡(luò)資源或教師自己錄制的視頻、課件完成,而將課堂時(shí)間用于知識(shí)的串聯(lián),離散建模思維的貫穿,通過(guò)探究式、案例式學(xué)習(xí)讓學(xué)生主動(dòng)地學(xué)會(huì)有條理、明確和系統(tǒng)地描述問(wèn)題、分析和求解問(wèn)題。
表1 離散建模視角下的離散數(shù)學(xué)課程知識(shí)模塊的“新組合”
例如,對(duì)于離散數(shù)學(xué)課程的命題邏輯部分的主要內(nèi)容是命題公式真值表的構(gòu)造、命題公式的等值演算和自然語(yǔ)言命題在命題邏輯中的符號(hào)化。實(shí)際上,高中數(shù)學(xué)已經(jīng)涉及到基本邏輯運(yùn)算符“與”、“或”、“非”,因此沒必要從基本邏輯運(yùn)算符的真值定義開始講解,可直接將重點(diǎn)放在真值表的構(gòu)造,在給出命題公式直觀語(yǔ)法的基礎(chǔ)上,構(gòu)造含2、3個(gè)變量的命題公式真值表,并強(qiáng)調(diào):①需要有規(guī)律地羅列2個(gè)或3個(gè)命題變量的所有可能賦值,這里還可強(qiáng)化學(xué)生有條理、系統(tǒng)表述問(wèn)題的重要性;②真值表的構(gòu)造應(yīng)該按列構(gòu)造,每列考慮命題公式的一個(gè)運(yùn)算符的計(jì)算,而不是一次性地給出一行命題變量某個(gè)可能賦值組合下整個(gè)公式的真值。
例如,對(duì)于命題公式(p?q)ú(?pùq)的真值表,除給出p和q所有可能賦值的兩列外,還 應(yīng) 該 有 計(jì) 算 p?q、?p、?pùq和(p?q)ú(?pùq)四列,而不只有計(jì)算整個(gè)公式(p?q)ú(?pùq)這一列。每次只考慮一個(gè)運(yùn)算,可以讓思路更有條理化,這時(shí)還可串聯(lián)基本邏輯運(yùn)算符計(jì)算真值的特點(diǎn),也可引入公式語(yǔ)法樹的直觀概念,讓學(xué)生初步掌握怎樣根據(jù)公式語(yǔ)法結(jié)構(gòu)排列真值表的列,進(jìn)一步還可討論如何由計(jì)算機(jī)自動(dòng)構(gòu)造真值表。
作為本科一年級(jí)課程,教師不應(yīng)期望通過(guò)講授離散數(shù)學(xué)知識(shí)在計(jì)算機(jī)專業(yè)其他課程中的應(yīng)用來(lái)培養(yǎng)學(xué)生建模能力,而應(yīng)該在課程本身的內(nèi)容中挖掘案例,例如上面遵循語(yǔ)法樹這樣的(命題邏輯公式)模型構(gòu)造真值表。又如,自然語(yǔ)言命題在命題邏輯或謂詞邏輯中的符號(hào)化都可認(rèn)為是一種建模,用精確、無(wú)歧義的邏輯公式建模不精確、可能模糊的自然語(yǔ)言命題。從培養(yǎng)建模思維的目標(biāo)出發(fā),教師在講授時(shí)要讓學(xué)生學(xué)會(huì)抓住自然語(yǔ)言命題中的要點(diǎn),理清它們之間的關(guān)系。
實(shí)際上,離散數(shù)學(xué)課程知識(shí)模塊到處都有類似的離散建模思維的體現(xiàn),例如大家都公認(rèn)許多應(yīng)用問(wèn)題可使用圖和樹的知識(shí)進(jìn)行建模。但同樣的,其他知識(shí)模塊也很多適合強(qiáng)化離散建模思維的內(nèi)容,例如使用遞推式建模組合計(jì)數(shù)問(wèn)題,組合等式的組合證明則是用實(shí)際的應(yīng)用問(wèn)題實(shí)例化抽象的組合等式,是從抽象到具體的逆向建模。
因此,要以離散建模思維的培養(yǎng)為導(dǎo)向,充分挖掘離散數(shù)學(xué)課程各知識(shí)模塊中的建模案例,開展以案例為中心的探究式教學(xué)新模式,通過(guò)精心設(shè)計(jì)的課程教學(xué)過(guò)程,向?qū)W生展示如何有條理、明確和系統(tǒng)地描述問(wèn)題、分析和求解問(wèn)題。強(qiáng)化離散數(shù)學(xué)課程各知識(shí)模塊間的相互應(yīng)用,使離散數(shù)學(xué)課程的知識(shí)成為有機(jī)整體,而不是分散的知識(shí)模塊。全方位地將計(jì)算思維與離散數(shù)學(xué)課程教學(xué)內(nèi)容相結(jié)合,既體現(xiàn)離散建模思維在其他課程,特別是程序設(shè)計(jì)課程中的應(yīng)用與類比,也要重視計(jì)算機(jī)技術(shù)在離散數(shù)學(xué)課程的應(yīng)用,例如真值表的自動(dòng)構(gòu)造、組合計(jì)數(shù)問(wèn)題和遞推式的計(jì)算機(jī)程序驗(yàn)證等。
新工科建設(shè)的核心目標(biāo)是要培養(yǎng)大批的新興工程科技人才,新工科建設(shè)的關(guān)鍵是要樹立創(chuàng)新的工程教育理念。離散數(shù)學(xué)作為計(jì)算機(jī)類專業(yè)的核心基礎(chǔ)理論課程,要從信息技術(shù)產(chǎn)品的構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行需要的知識(shí)和技能出發(fā),思考課程講授的知識(shí)和培養(yǎng)的能力在信息技術(shù)產(chǎn)品的生命周期中所發(fā)揮的作用,確立以離散建模能力培養(yǎng)為核心的課程教學(xué)目標(biāo),從離散建模的視角審視離散數(shù)學(xué)課程各知識(shí)模塊與模型表示、模型分析和模型轉(zhuǎn)換相關(guān)的知識(shí),將這些知識(shí)整合成更為有機(jī)的整體。大膽拋棄強(qiáng)調(diào)知識(shí)體系完整性和系統(tǒng)性的教學(xué)思路,以離散建模思維的培養(yǎng)為導(dǎo)向,充分挖掘離散數(shù)學(xué)課程各知識(shí)模塊中的建模案例,開展以案例為中心的探究式教學(xué)模式,通過(guò)精心設(shè)計(jì)的課程教學(xué)過(guò)程,向?qū)W生展示如何有條理、明確和系統(tǒng)地描述問(wèn)題、分析問(wèn)題和解決問(wèn)題。
我們?cè)诮鼛啄甑慕虒W(xué)實(shí)踐中,通過(guò)積極思考和調(diào)研,挖掘了一些離散數(shù)學(xué)課程中適合用于培養(yǎng)離散建模思維的案例,在教學(xué)過(guò)程中取得了不錯(cuò)的效果。我們將在總結(jié)以往經(jīng)驗(yàn)的基礎(chǔ)上,編寫相關(guān)教材,不斷深入教學(xué)實(shí)踐與改革,以期離散數(shù)學(xué)課程能在新工科建設(shè)背景計(jì)算機(jī)類專業(yè)工程人才培養(yǎng)中發(fā)揮重要作用。