1. 引言
离散数学是现代数学的一个重要分支,它是研究离散量的结构、性质和相互间的关系的学科[1]。离散数学是计算机科学与技术的基础理论,所以又称为计算机数学,是计算机科学与技术专业的核心、骨干课程[2] [3]。
离散数学课程具有内容广泛、逻辑推理强、概念抽象、应用广泛、基础性强、适应性广的课程。在学习过程中,能够培养学生严密的逻辑思维、抽象问题的解决能力,以及实际问题的分析和处理能力。离散数学不仅可以为计算机专业的后继课程(如数据结构、编译系统、操作系统、数据库原理、软件工程与方法、计算机网络和人工智能等)提供必要的数学理论基础,同时还可以培养和提高学生的抽象思维和逻辑推理能力,为以后的计算机系统的软、硬件学习和研究开发工作打下坚实的数学基础。
2. 离散数学课程的教学内容
离散数学课程的教学内容广泛,主要可以分为五部分:数理逻辑、集合论、图论、组合数学、代数系统[4]。
(1) 数理逻辑
数理逻辑主要包括命题逻辑和谓词逻辑,具体内容含有命题/谓词逻辑的基本概念,命题/谓词逻辑等值演算,命题/谓词逻辑的推理理论。通过对数理逻辑的学习培养学生的逻辑推理能力。数理逻辑在数字逻辑电路、程序设计语言、系统软件、应用软件开发、密码学等方面具有重要的理论应用。
(2) 集合论
集合论主要包括集合代数、二元关系和函数三大部分内容。集合代数具体内容包含集合的基本运算、有穷集的计数和集合恒等式;二元关系具体内容包含有序对与笛卡尔积、二元关系、关系的运算、关系的性质、关系的闭包、等价关系与划分、偏序关系;函数具体内容包含函数的定义与性质、函数的复合与反函数、双射函数与集合的基数。通过对集合论的学习培养学生逻辑思维、抽象思维、解决问题等能力。集合论在计算机网络和通信、编程语言类型系统、形式语言和自动机理论、人工智能和逻辑编程等等方面具有重要的理论应用。
(3) 图论
图论主要包括图的基本概念、树和几种特殊的图。图的基本概念具体内容包含图、通路与回路、图的连通性、图的矩阵表示;树具体内容包含无向树及其性质、生成树、树根及其应用;几种特殊的图具体内容包含欧拉图、哈密顿图、二部图与匹配、平面图。通过对图论的学习促进学生在逻辑、抽象、问题解决、创新、合作、计算和应用等多方面能力的全面提升。图论在网络结构分析、数据结构、形式语言、数据库系统、编译程序、网络安全等方面有着重要的应用。
(4) 组合数学
组合数学主要包含基本的组合计数公式、递推方程、生成函数及其应用。基本的组合计数公式具体内容包含加法法则与乘法法则、排列与组合、二项式定理与组合恒等式、多项式定理;递推方程、生成函数及其应用具体内容包含递推方程的定义及实例、递推方程的公式解法、递推方程的其他解法、生成函数及其应用、指数生成函数及其应用。组合数学在数据编码与解码、压缩算法等方面有着重要的应用。
(5) 代数系统
代数系统也称近世代数,它具体内容包含代数系统的基本概念、几个典型的代数系统。代数系统在数据结构与算法分析、人工智能和逻辑编程、数据库系统,有限自动机、开关理论等方面有着重要的应用。
3. 离散数学课程的教学设计
课程的教学设计是教学的关键环节之一,优秀的教学设计可以有效地帮助教师实现教学目标、提高教学质量、带动学生的主观能动性和提高学生的学习效率。针对离散数学课程的教学内容,本节从课程整体性和章节性两方面进行教学设计的探索,经过教学实践与结果反馈,形成了基于课程整体性的教学设计和基于课程章节性的教学设计。
3.1. 基于课程整体性的教学设计
虽然离散数学课程的教学内容的定义、定理多,逻辑推理性强、概念抽象,但是很多内容之间都存在着一定的联系,为了实现教学过程中教学内容之间的平稳过渡和衔接,我们寻找从离散数学课程教学内容的整体性角度出发的一条主线,形成了基于课程教学内容的整体性的教学设计,课程整体性的教学设计示意图如图1所述。
Figure 1. Schematic diagram of teaching design based on the integrity of the course
图1. 基于课程整体性的教学设计示意图
(1) 针对离散数学课程中的命题、命题公式,合式公式、有序对、笛卡尔积、二元关系、集合、元素、函数、函数的性质、满射、单射、双射、有向图、无向图、图的通路和回路、图的连通性、图的关联矩阵、邻接矩阵、可达矩阵、二部图、欧拉图等基础概念,虽然这些基础概念看似简单,但学生在理解和学习中仍会遇到许多困难。例如,虽然大多数学生能够准确掌握命题的定义,但是在判断一句话是否是命题时仍然会出现判断错误。为了帮助学生更深入地理解这些基础概念的作用,这部分内容可以多结合具体例子进行具象化描述,同时还可以引导学生自主思考,锻炼学生的自主学习意识。
(2) 针对离散数学课程中的运算、判定与推理部分,例如命题符号化、命题逻辑等值演算、命题逻辑的推理、一阶逻辑等值演算、一阶逻辑的推理、集合的基本运算、集合计数的容斥原理、关系的运算、关系的闭包、函数的复合运算、函数的逆运算、有向图中长度为l的通路数和回路数的计算、有向图和无向图是否具有欧拉通路或回路的判定等内容,在教学过程中设计合理的教学方式。在进行命题逻辑等值演算的课程设计时,需要提前为学生复习高中集合及其运算的基本概念,进而类比地讲解命题逻辑等值式模式,同时讲明命题逻辑等值式模式与集合的运算律的一致性;在进行集合计数的容斥原理的课程设计时,需要提前为学生复习概率论课程中的事件并的概率;在进行函数的复合运算、逆运算的课程设计时,需要提前为学生复习高中或者高等数学所学函数的复合,反函数的知识点。在进行有向图中长度为 的通路数和回路数的计算的课程设计时,需要提前为学生复习线性代数课程中矩阵的基本运算。用先验知识来讲解后验知识,可以促进学生对知识点的理解与掌握。
(3) 针对离散数学课程中的应用问题,在本课程的教学内容中主要涉及数理逻辑、集合论、图论、组合数学、代数系统五部分内容。利用数理逻辑的相关知识点可以用于判断一些逻辑推理的问题。利用集合论的相关知识可以证明数理逻辑内容中的两个命题公式相等,表示图论内容中的各类图及各类子图顶点集和边集的关系;在代数系统中,集合以及集合间的运算是以代数系统的一个应用实例形式而存在的[5]。利用图论中的欧拉图的相关知识点可以解决哥尼斯堡城七桥问题、一笔画等问题。利用图论中的最小生成树的相关知识点可以解决一些成本造价类问题。在离散数学课程的教学过程中,应重视理论在实践中的应用,以加深学生的理解和提高学生的应用能力,进而获得更好的教学效果。
综上所述,离散数学课程的主要内容广泛,各部分内容之间关系密切,需要从整体的角度来设计课程教学内容,找到简单易懂的案例,从而有利于学生的理解和学习。
3.2. 基于课程章节性的教学设计
在离散数学课程的教学过程中,对于每个章节的重要知识点,教师和学生应共同进行有针对性地归纳总结,以便学生能够理清头绪,提高学习效率。比如在讲完二元关系与函数这部分内容时,可按照二元关系、函数、集合A到B上的函数、满/单射函数、双射函数的顺序依次阐述这几个概念,均是在前一个概念的基础上增加一个性质,最后用图示的方式进行小结(如图2所示),这样可以使学生更容易掌握这几个概念及其之间的关系。
Figure 2. Schematic diagram of the relationship between binary relations and functions
图2. 二元关系与函数之间关系示意图
综上所述,基于课程章节性的教学设计,就是应该让学生主动去提取每个章节的重难点,并进行归纳总结,实现自主学习,不断提升学生的理解能力。
4. 离散数学课程的教学方法
有效的教学方法能够激发学生的学习兴趣,提高教学效果,针对离散数学课程的教学,结合实际教学经验,提出如下的教学方法。
(1) 培养学生的学习兴趣和能动性
在离散数学课程的教学过程中要注重培养学生的学习兴趣和能动性,不要直接空洞地讲理论知识,要把现实生活中的实际问题作为引入,培养学生的学习兴趣,提高学生的能动性,从而提高学生的学习效果,提高教学质量。例如讲解一阶逻辑前引入苏格拉底三段论;讲解图论部分的欧拉图时引入哥尼斯堡城七桥问题;讲解哈密顿图时引入周游世界问题,以实际问题作为离散数学相关知识点的引入,可以极大可能地提高学生的学习兴趣和能动性。
(2) 理论联系实际
在离散数学课程的教学过程中要注重理论联系实际。例如在讲解二元关系中的偏序关系、等价关系和偏序关系时,除了给出定义,要举出实际生活中的关系来加深学生对三种关系的理解。例如邻居关系、朋友关系是相容关系,但不一定是等价关系,它们可能不具有传递性。在同一平面上直线之间的平行关系、三角形之间的相似关系、在一个班级里“年龄相等”的关系、数中的相等关系、集合间的相等关系、命题演算中的等价关系都是等价关系。有理数集上的小于等于关系、正整数集上的整除关系、集合上的恒等关系、幂集上的包含关系都是偏序关系。再例如判断三人谁说真话问题和公安人员根据已知事实审查一件盗窃案判断盗窃人员问题是逻辑推理问题。图论中哥尼斯堡城七桥问题、邮路问题、一笔画问题、蚂蚁比赛问题、鼓轮的设计问题都是欧拉图问题。通信网的总造价最低问题、道路建设问题、电路设计问题是最小生成树问题。通过利用离散数学的相关知识点和方法来解决这些现实问题,能够让学生清楚地认识到离散数学知识与方法不是枯燥的知识点,它是可以很好地解决某些现实生活问题的,让学生切实地感受到离散数学在现实生活中有着重要而广泛的应用。
(3) 知识点间的互相联系式教学
在离散数学的教学过程中,教师不但要讲授各个基本知识点,还要把各章节相关知识点进行联系讲授,以便学生了解各章节知识点的关联性。例如在讲解数理逻辑部分,利用命题逻辑中的等值式模式可以证明集合的运算律、集合恒等式和逻辑推理形式的正确性。在集合论部分可以对集合的幂集的求解和集合等式与不等式的证明除了使用教材上的方法,还可以使用集合状态成员表法[6]-[8]。
(4) 学科间的相互联系式教学
在离散数学的教学过程中要将离散数学最基本的方法及与其他学科的联系讲授给学生。通过典型问题、典型方法的讲解,引导学生对解决问题方法与其他学科进行广泛的联系,提出自己的想法。例如在讲解数理逻辑部分可以利用命题逻辑或一阶逻辑来证明反证法和数学归纳法的合理性;用双重量词的关系式证明数学分析中的一致收敛与处处收敛的关系。在讲解函数复合时,引导学生注意其与高等数学中的函数复合的区别与联系。讲解利用关系矩阵求解二元关系的相对差、幂运算、闭包运算时,引导学生注意与线性代数课程中的矩阵减法、加法的区别与联系。
(5) 图示法的应用
在离散数学的教学过程中要注重图示法在某些章节的应用。例如在集合论部分,表示集合的关系与运算以及有穷集的计数都可以利用文氏图来解决;求两个不同二元关系的复合运算可以利用图示法来求解。求二元关系的幂、自反闭包,对称闭包和传递闭包可以利用关系图的复合规则来求解。在图论部分基本都是基于图来讲解知识点,故在此部分内容中图示法的应用具有不言而喻的重要性。图示法形象直观,在某些情况下可以解决复杂而烦琐的理论问题,使得问题简单化,便于学生理解并提高解决问题的能力。
(6) 类比法的应用
在离散数学的教学过程中要注意类比法[9]的应用。例如将集合论中的集合的十一组运算定律与命题逻辑中的等值式模式做类比可以发现它们基本是相同的。有穷集的包含排斥原理及其推论与概率统计课程中的所有事件同时均不发生及至少一个事件发生的概率公式是类似的。类比教学可以有效地简化知识点,从而促进学生对知识点的理解,增强学生对所学知识的记忆。
5. 结束语
离散数学课程是计算机学科的一门非常重要的专业基础课,它为计算机专业的后继课程提供必要的数学理论基础。本文主要讨论了离散数学课程的教学内容、教学设计、教学方法三方面的内容。我们旨在通过自己的教学经验为读者提供可行的教学建议和课程方案。离散数学课程的教学内容包括数理逻辑、集合论、图论、组合数学、代数系统五部分内容。从课程整体性和章节性两个方面,对课程的教学设计进行了深入分析和探讨。我们提出了培养学生的学习兴趣和能动性、理论联系实际、知识点间的互相联系式教学、学科间的相互联系式教学、图示法的应用、类比法的应用等教学方法以提高教师的教学效果和学生的学习能动性。通过近年来的教学实践证明:学生学习离散数学课程的效果明显提高。此外,希望本文涉及的离散数学课程的探索性思考能为教师和学生在教与学中提供有价值的参考建议。
NOTES
*通讯作者。