數(shù)學(xué)是一種語言。學(xué)習(xí)數(shù)學(xué)為了樂趣,也能掌握一種工具。學(xué)習(xí)數(shù)學(xué)首先需要選擇一本能讓你有閱讀樂趣的書。從這種意義上看,我從來不推薦中文教材。這不是源自歧視而源自于經(jīng)驗(yàn)。

《離散數(shù)學(xué)》的主要內(nèi)容
先參考一下美國ACM的2016年版CE(計(jì)算機(jī)工程)的課程計(jì)劃里面給出的指引:
- Discrete Structures [30 core hours]
- History and overview [1]
- Relevant tools and engineering applications [1]
- Functions, relations, and sets [6]
- Boolean algebra principles [4]
- First-order logic [6]
- Proof techniques [6]
- Basics of counting [2]
- Graph and tree representations and properties [2] Iteration and recursion [2]
另外,一般而言,還會把離散概率的內(nèi)容歸為《離散數(shù)學(xué)》的內(nèi)容。
《離散數(shù)學(xué)》相關(guān)課程
稍微歸納一下以上內(nèi)容,大致上是這些內(nèi)容或者這些內(nèi)容的深入解釋出自以下幾門課程:
- 集合論
- 近世代數(shù)(抽象代數(shù))
- 數(shù)理邏輯
- 圖論
- 具體數(shù)學(xué)
不能不說,我們很輕易就能獲取這幾個方向的優(yōu)秀教材,但是我們能有一本足夠優(yōu)秀的《離散數(shù)學(xué)》嗎?
離散數(shù)學(xué)的教學(xué)原則
首先強(qiáng)調(diào),離散數(shù)學(xué)的內(nèi)容是計(jì)算機(jī)科學(xué)領(lǐng)域中廣泛應(yīng)用的數(shù)學(xué),特別是一種針對數(shù)據(jù)結(jié)構(gòu)與算法的數(shù)學(xué)。
其次,從教學(xué)安排上看,可以獨(dú)立開設(shè)《離散數(shù)學(xué)》課程,也可以讓其他課程覆蓋以上內(nèi)容。
第三,《離散數(shù)學(xué)》的知識必須強(qiáng)調(diào)應(yīng)用。請注意,不是僅僅強(qiáng)調(diào)有用,然后讓學(xué)生等待以后使用,而是在教學(xué)中具體展示每一個知識點(diǎn)的某種特定應(yīng)用,至少對重點(diǎn)的知識點(diǎn)必須如此。
一些思考或者經(jīng)驗(yàn)
首先,我們需要思考的一個問題就是,在一門課程中覆蓋這么多的知識量,會出現(xiàn)什么問題?不難預(yù)知,必然是許多知識點(diǎn)得到無法系統(tǒng)覆蓋。比如,如果概率論的內(nèi)容在《離散數(shù)學(xué)》中講授,馬爾可夫鏈必然不會被講授,也許切諾夫界也不會。又比如,群、環(huán)、域的內(nèi)容如果在《離散數(shù)學(xué)》中覆蓋,你能指望可以講授多少代數(shù)的內(nèi)容呢?或許有人會說,不對啊,如果你需要進(jìn)一步學(xué)習(xí),那么你可以選修《概率論》和《抽象代數(shù)》這樣的課程啊。沒錯,前提是,你有機(jī)會選。而且還必須考慮,當(dāng)一種知識只是簡單地入門,其起到什么作用?是否可以達(dá)到以上強(qiáng)調(diào)的“應(yīng)用”的作用呢?答案估計(jì)是否。那么,這樣簡單入門的課程達(dá)到的目標(biāo)是什么呢?值得思考、探討。
從這個意義上看,我是極力反對大學(xué)生手捧一本經(jīng)典《離散數(shù)學(xué)》進(jìn)行努力學(xué)習(xí)的,因?yàn)樾Ч跷?。因此,作為一個清醒的且能主動學(xué)習(xí)的大學(xué)生,你需要的是知道《離散數(shù)學(xué)》的知識體系是什么,然后根據(jù)自己的實(shí)際情況,選修相關(guān)的更專門的課程(《概率論》、《組合數(shù)學(xué)》、《計(jì)算理論》),或者選擇某些專門領(lǐng)域的經(jīng)典教材(《代數(shù)》、《數(shù)理邏輯》、《圖論》)進(jìn)行自習(xí)。如果你做不到這一點(diǎn),那你就只能接受學(xué)數(shù)學(xué)只是為了學(xué)而學(xué),只是從理論到理論(其實(shí)也沒什么理論)的尷尬局面。通常,這種尷尬不是別人說你尷尬,而是一種你自己都感覺得到的尷尬,要改變這種局面,你需要的是改變自己。
小結(jié)
在《CC2013--計(jì)算機(jī)科學(xué)的數(shù)學(xué)要求》一文中提到,不要讓學(xué)生感覺學(xué)習(xí)數(shù)學(xué)過于困難,不要讓數(shù)學(xué)鏈拉得太長,因此我們必須對不同的同學(xué)給不同的學(xué)習(xí)《離散數(shù)學(xué)》的建議。
推薦:(Rafael Pass的Discrete Structure課程講義,簡短實(shí)用,基本涵括CS2013 中明確要求的數(shù)學(xué)知識,供大家參考。
2017年6月17日修訂