浅谈离散数学教学方法
2018-01-15赵伟斌杨小辉
赵伟斌+杨小辉
【摘要】离散数学作为现代数学的一个重要分支,是计算机科学与技术专业重要的基础课程,具有理论性强、知识点离散、概念抽象和逻辑性强的特点.通过该课程的学习可以很好地培养学生的数学抽象和逻辑思维能力.本文从离散数学特点、教学内容的侧重点和教学方式方法等方面,探讨如何学好离散数学课程.
【关键词】离散数学;离散量;数学模型
离散数学是计算机科学与技术的理论基础,也是计算机科学与技术专业的核心课程.离散数学研究各种离散量之间的关系,课程内容具有离散性、抽象性、逻辑性和可行性的特点.由于许多学生认识不到该课程对于后续计算机课程的重要性,缺乏学习兴趣和学习主动性.也有学生对于如何运用离散结构解决实际问题理解不够深刻.因此,正确掌握本课程的教学方法,对培养学生的抽象思维和逻辑推理能力和分析问题和解决问题的能力具有重要意义.本文主要针对离散数学的理论学习和实践教学方法进行初步探讨.
一、明确离散数学学习侧重点
一般来说,计算机求解实际问题的步驟包括实际问题建立数学建模、算法设计和编程实现,而离散数学正是利用离散结构对实际问题建立数学模型,设计合适的算法并论证算法的有效性,编写高效的程序解决问题.现阶段本科院校计算机专业教学中,普遍增加了计算机实践教学环节,因此,离散数学课程的理论学习课时有所减少.要在较短的时间内加强离散数学课程的训练,培养学生的抽象思维和逻辑推理能力,科学掌握离散数学学习方法就显得尤为重要.
离散数学课程的学习内容一般包括数理逻辑、集合论、代数结构和图论四个部分.数理逻辑的重点是公式演算与推理证明,是自动机理论、编译原理和人工智能的理论课程基础.集合论的重点是研究集合、关系和函数,这章内容是研究数据结构和关系型数据库的理论基础.代数结构主要运用代数方法研究客观事物的各种性质和特征,有代数运算、代数性质、群、同构与同态、格等知识点,是研究计算机编码和纠错码以及数字逻辑设计的基础.图论着重研究图、连通性、图的矩阵表示、欧拉图、平面图、树等知识点,也是数据结构、操作系统和计算机网络的基础[1-2].根据不同院校对计算机专业的培养要求和后续课程设置,学生每个章节的学习重点也应有所侧重.
二、掌握科学的离散数学学习方法
(一)注重离散数学知识要点的归纳总结
离散数学的四部分内容相对独立,公式概念多且抽象,学生在学习时会感觉知识点比较分散或碎片化.因此,学生在学习时要边学习边思考边总结归纳,结合自身所学的其他相关计算机课程,将所学的知识点归纳成系统的知识体系.通过对具有规律性的内容的归纳整理,学生也可以理清概念,理解规范表达、严谨推导和概括抽象的意义,逐步形成自己的学习理解和分析方法.例如,在数理逻辑的学习中,命题逻辑与谓词逻辑中的概念公式、等值演算和推理理论,有很多共通点可以归纳比较和总结,加深记忆.又如,通过树的等价命题证明,可将顶点之间的路径、回路、连通、桥等概念进行系统归纳,加深理解.
(二)注重理论知识与生活实际的联系
离散数学课程涵盖了数理逻辑、集合论、代数结构和图论中的大量概念,深刻理解这些概念是学好这门课程的关键.初学者往往感觉这些概念过于抽象,难以与现实生活中的实际问题建立联系.而事实上,离散数学课程中的很多知识都有着实际的背景和应用.
例如,现准备在图1的7个居民点v1,v2,…,v7中设置一银行.问设在哪个点最合理?要建两个银行呢?
此问题的理论基础是图论中的最短路径问题,改进后变成全局最短路径问题.建设一个银行时,可采用Floyd算法.先建立此无向图的邻接矩阵(权矩阵),使用Floyd算法生成最短路径矩阵.再比较生成矩阵每列的和,取最小值.即可找出建造一个银行时的最佳建造点[3].建造两个银行时,仍以Floyd算法为基础,求出最短路径矩阵.采用枚举法,以循环的方式比较建设在v1,v2点,v1,v3点,v1,v4点等的最短路径的大小.以对称矩阵的形式输出最短路径的值.通过这一实际问题的解决,学生可以系统了解和掌握图论这一章节的相关知识点.
又如,利用层次分析法求解旅游地点的选择问题,可将决策问题分为3个层次:目标层O,准则层C和方案层P.每层有若干个元素,各层元素间的关系用直线相连.通过相互比较确定各准则对目标的权重及各方案对每一准则的权重.最后将两组权重进行综合分析,确定各方案对目标的权重.所以,在学习概念之前先引入一个相关的实际问题,将定性分析与定量分析有机结合,可以加深学生对特征向量和一致性检验的理解与掌握[4],达到事半功倍的效果.
(三)注重离散数学课程的实践教学
离散数学课程实验是加深理论学习的重要环节,能培养学生分析问题和动手解决问题的能力.离散数学课程中有许多有趣的问题,如出差派遣问题、船夫过河问题、工作调度和安排问题、航空调度和航班设定问题、交通规划与管理问题、工程工序管理问题、地面铺砖问题、网络布局问题、投资组合问题等.这些问题的求解都要求学生首先了解问题的背景知识,然后掌握相关的建模技巧和求解方法,最后通过编写程序进行求解.
课程实践教学中可在每章安排一些简单的编程练习,如集合的并、交合差运算、关系矩阵的n次幂运算、按图的关系矩阵求图中各节点的出入度、最小生成树、最短路径等,通过这些练习使学生对利用现有模型进行编程具有初步的概念和认识.
对于需要自行建模求解的问题,可采用分组完成的模式.如,某地区的交通规划与管理问题,涉及哪些地方哪些时段比较阻塞?哪些地方应设置单行道?立交桥和红绿灯应如何设置才最合理?这类问题需要考虑的因素较多,或涉及多个章节甚至其他学科的知识点,采用小组做题的形式能更好地发挥各成员的特长,锻炼组员沟通与合作能力.通过实践教学,不但能加深学生对概念的理解,也能提高学生的建模和编程能力,学生参与实验操作的积极性也能得到有效提高.
(四)利用网络教学强化学习和知识点延伸
离散数学课程的传统教学方式受课程教学学时限制,教师与学生很难开展有效的互动.基于网络的教学平台能利用校园网的优势,使网上资源共享、课后答疑成为可能,极大地提高教学效率.在离散数学的课后学习中,可以利用网络教学平台进行师生间的教学互动.教师可将授课视频、课件和重点难点总结共享到平台,课程教学可回放,方便学生复习和教学存档.学生可在平台中将学习中的难点和疑惑发布到论坛,得到同学和教师的及时解答.在此基础上,任课教师可以随时了解学生的学习动态,完善教学计划,调整教学进度.教师也可以进行知识点的适当延伸,鼓励学生挑战其中的一些实际问题,既能巩固课堂知识,又能激发学生的学习潜能.
三、结束语
离散数学是计算机专业一门非常重要的专业基础课,也是计算机专业学生认为比较难学的课程之一.离散数学的学习对于后续课程,如数据结构、数据库原理、编译原理和计算机网络等课程具有重要的影响.正确掌握学习离散数学的方法,对于培养计算机相关专业学生的逻辑思维能力和运用理论解决实际问题的能力具有重要的现实意义.
【参考文献】
[1]耿素云,屈婉玲.离散数学[M].北京:高等教育出版社,2011.
[2]左孝凌.离散数学[M].上海:上海科技文献出版社,2003.
[3]张晓明,戴波,赵国庆,等.计算机专业能力架构设计及其在网络教学中的应用[J].计算机教育,2014(20):65-69.
[4]孙岚,王一蕾,吴英杰.离散数学教学方法探讨[J].计算机教育,2012(1):57-59.endprint