"离散数学"课程是计算机科学与技术专业的一门很重要的专业基础课,是研究离散量结构及其相互关系的一门科学。这门课程既具有深刻的理论基础,又对实践具有很强的指导意义。通过这门课程的学习,可以培养学生严密的逻辑推理的能力和严格的证明能力,从而能够提高学生的抽象思维能力。为计算机科学与技术专业后续专业课程的学习打下坚实的理论基础。然而,正由于这门课程的理论性强,作业量大,作业题目具有一定难度,并且缺乏相应的实验帮助对定理以及证明的理解,导致学生学习难度大,学习热情低,考试成绩不够理想。学生不理解这些理论知识背后有哪些重要应用,因此探讨创新型的教学方法,在讲授理论知识的同时设计必要的上机实验,并讲解离散数学与实际应用之间的联系,能够提高学生的学习兴趣和主动学习的积极性,对于提高教学质量,培养学生学习能力有着积极的作用。
1 离散数学知识结构
离散数学[1]教学大纲中要求的讲解章节有第一篇数理逻辑,第二篇集合论,第三篇代数系统和第四篇图论。这四篇内容相对独立,但又有着千丝万缕的联系。如图 1 所示,在这四篇内容中,数理逻辑为集合论、代数系统以及图论提供了证明方法。集合论为代数系统和图论提供数据结构。另外在集合论中集合之间的子集关系证明,以及关系的性质证明需要用到数理逻辑中蕴涵式的证明思路。集合论中关系的性质以及特殊的二元关系等章节为代数系统中陪集与拉格朗日定理的证明、同态与同构的证明提供了理论基础。
代数系统的同构又为理解图的同构提供基础。由此可见,离散数学是理论严密,逻辑性强的课程。这为初学的学生提出了巨大的挑战。为了能够培养学生的抽象思维能力,需要解决课堂教学、课后实验以及离散数学在计算机科学中的前沿应用这三个问题。从而能够让学生明白所学的课程的重要性,从而提高学生的自身的学习积极性和主动性。
2 课堂讲授策略
课堂讲授是学生学习的主要方式,要充分发挥教师的主导作用,用教学内容将学生吸引,让学生跟着教师的思路,这样才能起到事半功倍的作用[2].然而,这门课程的内容具有以下特点:知识点杂,定理繁多,证明量大。这就决定了教师授课容易陷入冗长的定理证明中,从而让学生觉得乏味枯燥,不能够有效地接受知识。因此采用相应的讲授策略和教学技巧是很有必要的[3].
2.1 定义讲解---举例引入
离散数学课程定义很多,让学生记住繁多的数学定义不能靠死记硬背,这样不但记不牢,而且妨碍灵活应用。采用举例引入的方法能帮助学生记忆。例如谓词逻辑的引入。
为了引入谓词的概念,可以让学生在命题逻辑的知识背景下翻译并推理"所有人都是要死的,苏格拉底是人,所以苏格拉底是要死的".该命题是一个永真命题,但是在命题逻辑的知识下却并非永真。学生就会感到困惑,为什么这么浅显的推理却在命题逻辑中推不出来。教师这时可以启发学生,从而得到推理不出的原因,并引出谓词的概念。再比如闭包的定义:"设 R 是 X 上的二元关系,如果有另一个关系R' 满足:a) R' 是自反的(对称的,可传递的);b) R'勐R;c)对于任何自反的(对称的,可传递的)关系 R'',如果有 R''勐R,就有 R''勐R'.则称关系 R' 为 R 的自反(对称,传递)闭包".
该定义比较晦涩,初学的学生很难明白具体什么是闭包。教师可以以举例方式引出该定义:首先举出一个关系 R,让学生们判断该关系是否有自反性,如果没有自反性,则让学生以添加的序偶的方式来使得 R 具有自反性质从而得到 R',再继续添加序偶,仍然具有自反性,从而得到 R''.进而总结自反闭包就是给不具有自反性质的关系添加序偶,而添加序偶的数量要求"不多不少,刚刚好。"并可以用一句话来概括自反闭包的定义:包含 R 的具有自反性质的最小二元关系。对称闭包,传递闭包具有类似定义。
2.2 定义理解---重视概念之间的互相联系
离散数学中很多概念之间都有联系,如果割裂来看,它们可能在不同部分,不同章节中,但若能够将这些概念联系起来,能很好帮助学生来理解,有助于学生融会贯通。例如关系的传递性和关系的复合运算。可以通过关系的复合运算来理解传递闭包。R2=R○R 代表关系 R 自己和自己做复合运算,如果用有向图来表示关系 R,那么 R2代表有向图当中所有长度为 2 的路。R3则代表所有长度为 3 的路,Rn代表所有长度为 n 的路。而关系 R 的传递闭包定义为 t (R)=R∪R2∪R3∪……,从而学生根据复合关系就能理解传递闭包就是给关系 R 中添加序偶,添加关系 R 中所有长度为 2 的路,长度为 3 的路等等。
2.3 定理证明---分析问题实质
离散数学课程中有许多定理需要证明,而课后习题又有许多证明题。老师上课容易陷入大段的定理证明,学生如果跟不上思路,容易不知所云,而且觉得枯燥无味。课后习题的证明题目也是学生学习的难点。所以对于定理证明需要分析问题的实质,从实质出发总结出一类问题的证明。例如:"如果关系 R 和 S 是自反、对称、传递的,证明R∩S 亦是自反、对称、传递的".这个问题是典型的关系性质的证明。教师可以以此总结出证明此类问题的一般方法。根据自反性的定义为"关系 R 是自反的,当且仅当",由于该定义为一个条件式,要证明条件式为真,根据命题逻辑中的蕴含式的推证方法,只需要假设前提为真,推出结论为真,条件式即可证明为真。所以可以假设集合中每个元素 x,只要证明 <x,x> 在关系 R 中即可。同理根据对称的定义"关系 R 是对称的当且仅当",由此可见对称的定义也是一个条件式,所以我们同样可以假设前提为真,推出结论为真。即假设 <x,y>∈R 根据已知推出 <y,x>∈R即可得证。
3 增加课外实践环节
离散数学给学生的感觉是理论很强而实践不足,学生觉得老师都在"纸上谈兵",学的知识离实际应用很远,这就不能调动学生学习的积极性和学习热情。教师可以给学生适当的补充一些课外上机练习,用巧妙的上机实践题目提高学生的学习热情,既锻炼了编程能力,又巩固了课堂的教学内容[4].
比如在逻辑部分可以让学生练习命题演算的合式公式判定,根据合式公式的定义,判定输入的公式是否为合法的命题演算公式。还可以让学生尝试自动真值表生成。计算机自动生成合法的命题公式的真值表等。在集合论部分可以让学生根据关系生成关系矩阵和关系图。同时根据关系矩阵判定某个关系是否具有自反性、对称性、传递性。根据关系矩阵求某个关系的自反、对称、传递闭包等。
在图论部分可根据图的邻接矩阵采用 warshall 算法求图的可达性矩阵,判断图是否连通图,若不连通则具有多少个连通分支,求任意两点的最短距离,根据邻接矩阵判定一个给定的图是否为欧拉图、汉密尔顿图。
4 离散数学基本知识在计算机学科前沿中的应用
离散数学基本知识在计算机学科前沿中的应用是学生在学习"离散数学"这门课程中最感兴趣的地方。教师只有将这一部分给学生进行充分说明才能有效的调动学生的学习积极性。教师可在每章的最后给学生补充相关的内容,让学生明白学有所用。以下以数理逻辑和图论为例说明基本知识的应用。
4.1 数理逻辑
与数理逻辑相结合的计算机前沿研究非常多。其中最主要的就是人工智能。在人工智能的众多应用中,构建专家系统以及自然语言理解就是最为常见的应用。构建专家系统或者进行自然语言理解时有一门语言就是基于逻辑学的,那就是 Prolog[5].Prolog(Programming in Logic 的缩写)是一种逻辑编程语言,它建立在逻辑学的理论基础之上,其编程方法更像是使用逻辑的语言来描述程序。该语言能够很好地对应于谓词逻辑中的谓词定义以及推理规则等内容。通过 Prolog 语言的举例让学生明白理论知识在实际应用中的表达方式,通过自己学到的理论知识,能够构建简单的专家系统的事实和推理规则,从而提高学生的学习兴趣。
4.2 图论
图论是应用数学的分支,是一门既古老又现代的科学。
图论中有许多经典的算法,体现着数学家的智慧。在计算机前沿研究中图论与三维图形处理有着紧密的联系。三维网格模型[6]是物体的多边形表示,通常用计算机或者其他视频设备进行显示。最常用的网格为三角网格。即一个数字的三维物体可以表示为多个三角形的点,边的连接关系构成的无向图,如图 3 所示。
根据图论的基本知识,由邻接矩阵和可达性矩阵可判定三维网格模型是否连通,以及相应的连通分支。通过邻接矩阵可求三维网格模型上的某个顶点的邻域顶点。定义每个三角面片中每条边的权值后可根据 Floyd-Warshall 算法求解三维网格模型上任意两点间的最短路径。对于"离散数学"在计算机前沿研究中的应用知识的补充,能够有效地激发出学生学习这门课程的积极性,了解这门课程的重要性。
这比单纯的说教更具体、更有效。
5 结论
"离散数学"课程是计算机科学与技术专业的专业基础课,具有理论要求高、逻辑性强的特点。本文针对学生在学习过程中所表现出的理解慢、不会用、成绩差、热情低的问题提出了具有针对性和实际操作可行性的一些具体措施。从理论、实践和前沿应用上提出了《离散数学》创新教学思路。着眼于学生的学习积极性的激发,在加强教师教的同时,使学生切实地认识到这门课程的重要性,从而能够改进教学效果和学生的学习成绩。
参考文献:
[1] 左孝凌,李为监,刘永才。离散数学[M].上海:上海科学技术文献出版社,2004.
[2] 屈婉玲,王元元,傅彦,张桂芸".离散数学"课程教学实施方案[J].中国大学教学,2011(1)。
[3] 谭作文。离散数学课程中实验教学探讨[J].计算机教育,2010(9)。
[4] 徐凤生。离散数学 实验教学探讨[J].计算机时代,2008(2)。
[5] 郑进远。面向对象的 Visual?Prolog 及其在专家系统的研究与应用[D].贵阳:贵州大学, 2007.
[6] 李洪安。三维模型检索及相关方法研究[D].西安:西北大学,2014.
随着国内高等教育从精英式教育走向大众化教育, 各个高校都在积极探索如何强化教学管理以加强学风建设和提高教学质量.2006年, 江西理工大学首创性提出学业预警制度, 并获得良好的效果和认同....
自20世纪50年代以来, 数学知识一直出现新的观点, 它已经从单纯的知识积累中发生了革命性的变化。离散数学是数学的一个重要分支, 内容包括数理逻辑、集合论、代数系统、图论以及组合理论等, 主要应用在计算机等学科。...
离散数学是现代数学的一个重要分支。《离散数学》课程作为信息科学的核心基础理论课程,主要研究离散量的结构及其相互关系,涉及的内容较广.国内外几乎所有大学都将《离散数学》作为计算机专业的核心课程,它不仅为人工智能、数字逻辑、数据结构、操作系...
本文研究结果为计算机数学主要分为两个部分, 分别为离散数学以及计算机算法复杂度计算, 并且计算机在生活中有着诸多方面的应用, 如:生产设计领域、计算机控制领域、计算机模拟领域。...
1概述自从1978年高考恢复以来,我国的高等教育得到了长足的发展,特别是进入21世纪,随着国家经济的高速增长,高等教育也在各个方面得以迅速发展。尽管高等教育模式已持续发展30多年,但是高教课堂上的教与学之间的关系依然极其复杂,并且模式也随着社会的...
20世纪中叶以来, 随着计算机的迅猛发展, 核心数学呈现出新的迹象。一种异于微积分的数学新范式———离散数学喷薄而出, 成为推动当代数学与科学发展的一种主导力量。离散数学是数学研究范式的一次重大转向。...
1、背景离散数学是现代数学的一个重要分支,主要研究离散量的结构及其相互间关系[1-2]。离散数学为计算机专业后续课程(数据结构、编译原理、数据库原理、人工智能、信息管理与检索等)的学习和掌握,在知识基础和思维方式等方面提供了必要的准备,在学生...
1、引言离散数学课程中要点的离散性、知识点的分散性和探讨问题的特殊性,使相当大的一部分学生在刚刚接触该类课程时,对其中涉及到的一些概念和处理问题的方法往往感到疑惑.若仅仅采用传统的理论教学方法,会造成学生对该课程的学习兴趣不高,将会极大的影...
离散数学是现代数学的一个重要分支,主要研究离散量的结构和相互间的关系,在数学应用领域有着十分重要的地位与作用,计算机科学的许多后续理论课程都是以离散数学为基础的,是计算机科学与技术专业的核心必修课程。作者在教学过程中发现学生在学习离散数学...
0引言在众多计算机科学与技术专业基础课程中,离散数学是其中较为重要的一门核心课程,同时,它是计算机科学的基础理论领域的重要组成部分。通过离散数学知识的学习,对培养学生的学科素质、掌握正确的学科方法有着积极重要的作用。但同时,这门课程又让...