摘要 随着计算机应用的日益拓广,计算机科学得到了迅猛发展,现今数字时代中许多连续问题被转化为离散问题进行计算机处理。离散数学作为计算机学科的基础课程,对于学生后续计算机类相关课程的学习有着很重要的作用,对于非计算机专业学生而言,离散数学课程的学习有许多不同于其它课程的独有特色。作者在总结了多年教学实践的基础上,就如何提高该课程的教学质量提出了5点建议,较好的解决了非计算机专业学生学习离散数学课程中存在的问题。这些建议,对于同类型的其它课程同样具有借鉴作用。
关键词: 启发式教学 讨论式教学 计算机辅助教学 网络课程 实践性教学
离散数学课程是计算机科学基础理论的核心课程,它主要介绍离散数学各个分支的基本概念、基本理论和基本方法。其内容主要包括数理逻辑、集合论、图论、代数系统等部分。与大学一年级开设的高等数学课程相比,高等数学主要关注变量的连续变化,而离散数学主要关注离散对象及其关系的表示。
离散数学因为其抽象性,概念和定理较多,使得学生在学习过程中感到比较枯燥,难于理解和记忆,特别是对于非计算机专业学生而言,普遍存在以下疑惑和问题, 不是计算机专业的学生,为什么要学习这么难的课程?学习了有什么意义? 这些基本概念和基本理论如此枯燥,怎么记忆? 书本上学习的理论与方法,在实际工作中怎么应用? 这些问题不能够很好解决的话,会严重影响课程学习的质量。依据该课程授课对象以及课程内容等方面的特点,结合作者多年来在指挥自动化、系统工程专业开展课程教学实践所积累的经验,就如何提高该课程教学质量和改善教学效果提出了一些有效的措施。
1 让学生认识课程的重要性
离散和连续是现实世界中物质运动对立统一的两个方面,离散数学和连续数学是描述、刻画现实物质世界的重要工具。最早的数学本质上是一种离散型的数学,但随着微积分的出现,对整个数学的研究产生了深刻的影响。人们以一种连续的观点研究数学,描述自然科学研究中的各种具体问题,从而形成了现在占统治地位的连续数学。
随着现代科学技术的发展,特别是计算机科学技术的兴起,离散数学又重新找到了它自己原有的位置。“能行性”这个计算学科的根本问题决定了计算机本身的结构和它处理的对象都是离散型的,甚至许多连续型问题也必须在转化为离散型问题以后才能被计算机处理。所以计算机科学与技术本质上是一门离散数学技术。
由于数字电子计算机是一个离散结构,它只能处理离散的或离散化了的数量关系。因此,只要是与计算机处理有关的的现代科学研究领域,都面临着如何对离散结构建立相应的数学模型,又如何将已用连续数量关系建立起来的数学模型离散化,才可由计算机加以处理。因此, 无论学生今后从事理论研究, 还是应用开发或者是技术管理工作, 只要牵涉到计算机处理任务,都需要应用到离散数学的知识。只有通过课程学习打下坚实的理论基础,才能够适应科学发展和知识更新的需要。
离散数学是通向所有数学学科高级课程的必经之路。离散数学提供许多计算机课程的数学基础,离散数学的概念、理论以及方法可以应用在数字电路、编译原理、数据结构、操作系统、数据库系统、算法的分析与设计、人工智能、计算机网络等专业课程中。在离散数学教学中适当穿插介绍一些知识点在其他计算机学科中的应用, 例如图论与电路网络之间的联系、逻辑与程序构造及正确性证明的关系等等,帮助学生提高对离散数学课程的认识和学习兴趣。
同时,该课程所提供的训练十分有益于学生概括抽象能力、逻辑思维能力、归纳构造能力的提高,十分有益于学生严谨、完整、规范的科学态度的培养。通过课程的学习除了获得离散数学知识以外,更重要的是还能够通过严格的推理训练, 逐步实现思维方式的数学化。
因此,让学生意识到学习离散数学课程的重要性十分必要,只有这样,才能摆脱对课程理论学习的畏难情绪。
2 灵活安排讲授内容,实施启发式教学
教师的教学质量如何,除了讲授水平和教学效果之外,还取决于教师对教学内容的安排和把握。讲授内容的安排, 必须以教学大纲为依据, 并结合学生的实际情况综合考虑。
一般来说,对于非计算机专业学生而言,离散数学的课时安排要少于计算机专业学生。如何在有限的时间内,合理安排教学内容,让学生较好地掌握课程重点知识就显得尤其重要。因为课时的问题,不可能将所有内容都详细讲解,做到面面俱到。因此,首先要对课时安排有个详细规划,每个部分讲授多少个学时,并且每部分之间的联系和过渡要有个合理安排;另外一次课讲什么内容, 解决什么问题, 达到什么目的, 通过什么途径达到这个目的, 要真正作到心中有数。
长期以来,在中国的教育领域存在着一种错误的观点:只重视知识的传授,不重视学生智能的发展,认为只要掌握了知识,自然就发展了智能。在这种观点的指导下,使中国的教育充满了“填鸭式”的教学方式。这种方式的典型表现就是“满堂灌”,教师缺乏与学生的互动,学生成为一个完全被动的接受者。这种方式培养出来的学生,容易产生“高分低能”的现象,他们缺乏主动的探索精神和独立自主的思维能力,这种影响尤其对大学生来说将是致命的,将使他们很难胜任以后独立的科研和开发工作。
其实,教学既要向学生传授科学正确的知识,又要发展学生的智能,两者都是教学过程中不可忽视和推卸的基本任务。它们应是相辅相成、相互促进、相互制约、相互转化的。特别是对于离散数这样的课程,是一门理论性较强、内容较抽象的综合课程,在教授这些抽象内容的时候,可以采用启发式的教学方法,引导学生利用所学的基本理论和基本方法,对抽象内容有一个感性认识,并对其进行分析、推导与证明,甚至提出不同的解决方法。
3 注重理论的理解和学习的过程
英国哲学家怀特海曾说,“真正有用的训练,是理解若干一般原则,对于这些原则在各种具体情况下的应用有彻底的基础训练”,“大学的职能在于使你为了原则而抛弃细节”,然而,大学的课程教学有时往往过于注重细枝末节,而忽略了原则。因此在离散数学课程的讲授中要充分注意到这一点,特别是对非计算机专业学生而言,在很多时候,原则的意义要远远大于某个具体的方法细节。
离散数学课程中有很多概念、定理、规则,在学习的过程中,对概念的理解是学习的重中之重,然而初学者往往不能在脑海中建立起它们与现实世界中客观事物的联系。对学生而言,每节课上需要接受理解的术语或者定理就有数十个之多,这显然是有很大的难度,而且很容易感到枯燥甚至产生抵触情绪。比如代数系统中讲到半群和群的内容时,需要学生掌握半群、子半群、半群同态,商半群、半群直积、群、子群、变换群、置换群、循环群等等一系列的概念,错综复杂。因此,在第一节课,就明白告诉学生不能靠死记硬背定理,必须要理解,注重学习的过程,找出每个概念之间的内在联系与区别,加深他们的印象。在课堂讲授过程中适当的加入相关问题可使学生看到离散数学的重要应用以及与其他所学课程的联系,提高学生的学习兴趣,并能引导学生从中发现并研究理论问题及应用问题,或在实际应用中联系到离散数学的原理和方法。离散数学在较通用的层面上描述了计算学科所表现出来的信息革命的许多模型,为现代计算学科的发展和应用提供了理论基础。比如数理逻辑对形式语言的编译产生了重大影响,并形成了完整的理论;集合论是数据库的基础;图论的概念和理论被广泛应用于人工智能、操作系统、数据检索等;代数系统的理论被用于数据结构的研究,产生了抽象数据类型的理论,也成为编码理论的数学基础。离散数学能够使学生在更高的高度去了解和学习计算机科学。