计算机专业离散数学课程教学方法的

点赞:13629 浏览:57443 近期更新时间:2024-02-28 作者:网友分享原创网站原创

摘 要:离散数学作为一门计算机专业核心课程,为多门专业课程提供必需的基础知识.但是离散数学的内容多而“离散”,多年以来教学实践效果不是很理想,本文针对离散的种种特点,就教学目的、教学主线、教学内容以及教学方法几个方面展开论述,以期改善教学现状.


关 键 词:离散数学;计算思维;课堂导入;实验;工程实例

中图分类号:O158-4文献标识码:ADOI:10.3969/j.issn.1003-6970.2013.06.052

0引言

离散数学是计算机科学与技术专业的核心基础课,在计算机科学与技术专业课程体系中起到重要的基础理论支撑作用.它所涉及到的很多概念、理论和方法被大量的应用于数字电路、数据结构、数据库系统、操作系统、编译原理、人工智能等等专业课程中.同时,离散数学的学习过程能够培养学生的概括抽象能力、逻辑思维能力、归纳构造能力等.

然而,我国目前的离散数学教学现状不容乐观.首先,离散数学本身概念抽象、定理多,内容离散,学生学习起来有难度;其次,由于学时受限,很多院校仅开设理论课,不开设试验上机,忽略了对其基本理论的应用,导致学生提不起兴趣,认为该课程仅仅是一门枯燥的理论课;最后,很多老师在教授过程中没有很好的根据离散数学的特点使用合适的教学方法,也没能很好的和实际工程结合,学生不知道为什么学这门课程,学了能干什么.

针对这一现状,如何提高离散数学课程的教学水平和质量,就是一个非常值得研究的课题.本文从教学目的、教学内容、教学主线以及教学方法四个方面进行了简单的探讨,希望能够给相关教育工作者提供一些思路,共同改善离散数学课程的教学现状.

1明确教学目的

正如前面所言,离散数学的学习目的是为了给计算机科学的一系列专业核心课程打下坚实的数学基础,但同时更重要的是为将来从事软硬件开发和应用研究,培养抽象思维、直觉思维、发散思维等基本创新技能以及严密的逻辑推理能力.这两个目的必须贯穿始终,特别是后者,很容易被忽略.在整个教学过程中,教师必须明确,教学的目的不仅仅是教学生“学会”,更重要的是教学生“会学”.

2梳理教学内容

随着各高校教学改革的深入,课程课堂教学时间减少,一般院校离散数学学时都不是很富裕,这就需要首先确定离散数学的内容是全讲还是讲部分,讲哪些部分.根据后续专业的需要,可以把离散数学的内容划分成三个单元:核心知识单元、推荐知识单元和可选知识单元.核心知识单元包括数理逻辑、集合论、关系和图论;推荐知识单元包括代数系统、格和布尔代数;可选知识单元包括初等数论、形式系统、集合基数以及计算理论.核心知识单元作为基础必修,仔细讲解,占学时比例50%-70%;推荐知识单元可以引导讲解,更多的让学生领悟,占学时比例15%-30%;可选知识单元则可以有条件的在高年级开设专业限选课,没条件的就自学,占学时比例10%-20%.这样可以根据学时调整所讲内容,使学生能满足后期需求.

3明确贯穿离散数学内容的主线

离散数学从内容上来看,好像几大部分完全独立,互不相干,并且每部分概念多,定理多,内容很离散.学生会有畏难情绪,难以很好的把握住.因此,教师需要给学生明确的主线,使得学生能够把这些知识点都挂靠上去,一方面使学习记忆起来更简单方便,另一方面能更好的的融会贯通,实际应用.

3.1计算思维作为主线贯穿整个教学过程

计算思维是卡内基梅隆大学计算机科学系主任JeanteM.Wing教授在2006年提出的教育理念.它是指对问题及其解决方案进行阐释进而将解决方案表示成可以被信息处理写作技巧有效实现的形式的思维过程.由此可知计算思维最本质的内容就是抽象和自动化;而这两个内容恰好反映了计算的根本问题,即什么能被有效地自动进行.对于计算机专业的学生来说,抽象和自动化这两个核心内容更具体地体现为如何构建各种层次的计算环境以及如何在这种环境下进行问题求解.

计算思维为我们提供了一种重新审视离散数学的视角.从计算思维的角度来看,虽然离散数学由多个相对独立的内容组成,但这些内容的教学目的其实是高度统一的:培养学生能够运用离散结构构建问题的抽象模型并在其基础上构造算法和解决问题的能力.由此看来,一方面,离散数学课程为培养学生的计算思维能力提供了一个很好的平台;另一方面,又可以从计算思维这个层面来梳理和组织离散数学的教学内容,从计算思维这个高度来进行离散数学教学.

计算思维可以贯穿于离散数学课程的整个教学过程,以此为主线,时刻强调学生学习离散数学的目的和方法.

3.2内在联系作为主线形成知识体系

离散数学各部分的内容看上去杂乱离散,内容多,难以理解记忆.但是仔细分析总结,会发现各部分之间是彼此渗透的.我们应该引导学生善于总结所学知识点,搞清内在联系,从而形成知识体系.笔者总结出离散数学主要知识点的体系如图1所示.

图1离散数学主要知识点体系结构图

图中*处知识点间的关系是前者定义后者的关系,无*处知识点间的关系是后者是前者的特例.

4选择合适的教学方法

4.1课程的引入

很多时候,学生都无法理解为什么要学离散数学,学离散数学由什么用.因此,在新课程开始时,就要给大家明确学习离散数学的目的.从计算思维的角度引入我们为什么学离散数学.

在引入离散数学课程之前,首先向学生指明:对计算思维能力的培养和训练是计算机专业教学的核心所在,大家经过四年的大学学习之后,不仅要掌握计算机专业的相关知识,更为重要的是能够应用这些知识构建出各种层次的计算环境并在这些环境下进行问题求解.其次,进一步阐述:计算机本身是一个离散结构.再次,引入离散数学课程,告诉学生该课程的目的是培养大家运用离散结构构建问题的抽象模型并在此模型上构造算法和解决问题的能力.最后,介绍该课程在ACM和IEEE-CS制定的计算机科学教程以及我国高等学校计算机科学与技术教学指导委员会制定的计算机专业规范中所处的核心地位.并给出后续多门核心课程均以离散数学课程为基础.至此,学生应该已经能够清楚明白该课程的重要性,同时能明确学习该课程的目的,围绕这个目的,离散数学中的数理逻辑、集合论、代数系统、图论等内容就形成了一个有机的体系.最后,也能纠正很多学生普遍存在的认为计算机专业就是学习编程的误解,让学生认识到通过学习离散数学等各门专业课程训练出来的计算思维能力才是大家应该具备的核心竞争力.

4.2课堂导入法

课堂导入是为教师教授新知识做铺垫.成功的课堂导入,能够集中学生的注意力,激发学生的学习兴趣,引起学生内在的求知欲,并为新知识的学习做引子,使学生能够轻松理解接受新知识的学习.在整个离散课程的教学当中,教师应该根据讲授内容灵活运用不同的课堂导入法,做到良好的开始.

4.2.1趣味导入

讲述一个有趣的故事,比如理发师理发的故事导入悖论;由著名计算机软件大师狄克

斯特的话语,说自己犯了很多错误就是因为没有好好学习数理逻辑来导入数理逻辑的学习;还可以娓娓讲述康托探讨集合论体系的过程,使学生能够循着大数学家的研究过程对集合论有个概览从而导入集合论的学习.

4.2.2设疑思考导入

教师设疑布置“问题陷阱”,学生在解答问题时不知不觉掉进“陷阱”,使他们的解答自相矛盾,引起学生积极思考,进而引出新课主题.例如,讲解完命题逻辑后,将要讲谓词逻辑的时候,就可以提出著名的苏格拉底三段论来导入新课程.

4.2.3故设悬念导入

该方法就是通过一些意料之外或者矛盾的结果,造成学生对原因的兴趣与渴望,引起他们的积极思考.如命题逻辑里著名的“生死门”故事.该故事中问题一经提出必然能激起学生的思考兴趣,很快进入学习状态.使用这种方法需要注意的是,悬念的设置要从学生的知识层次出发,最后一定要在新知识讲解完后给出问题的答案.

4.2.4温故知新导入

此方法就是常用的复习导入法.这种方法使用较普遍,能有效降低学生对新知识的陌生感,降低接受新知识的认知难度.在此特别强调的是,在运用这种方法的时候可以来个提问5分钟,不是由教师来复习前面所学知识,而是教师提问,学生回答,通过问答形式引导学生复习,从而引出新的知识点.课前的提问可以迫使学生更主动积极的听课学习,以防回答不上问题“丢脸”.

4.2.5问题设计导入

该方法就是设计一个贴近生活的,与学生已有的知识有关联,学生也比较感兴趣的问题,通过研究方法解决问题导入新的知识点.比如可以用这个例子导入对偶图与着色问题:七天内安排七门课程的考试,使得同一个老师所担任的两门课程不排在连续的两天.

4.2.6开门见山导入

此方法就是一上课就把要解决的问题、学习的重点、难点和教学目的直截了当的提出来.一般适用于学生好理解,并且应用中迫切需要掌握的知识点,能够一开始就抓住学生注意力.

4.3趣味例题和工程实例相结合

好的导入带给学生的新鲜感,求知欲,并不能维持整节课.在授课的过程中,我们还要注意引用合适的趣味例题使学生的兴趣不会衰减.比如,在图论中,用哥尼斯堡七桥问题给出欧拉图的概念;用环游世界问题给出哈密尔顿的概念;用三个居民点向三口水井挖水沟,且水沟不能交叉的问题来解释平面图的概念;用“人机狗米”问题来解释如何用对实际问题建立图论模型等等.学生对这类问题总是乐于去解决的.

但是,仅仅是这样的例子是不够的,虽然这些例子贴近生活,但是对于以培养工程师为目的的计算机学生,这些例子离专业太远了,不利于学生后续课程的学习.因此,应当适当加入电力网络、智能识别等相关领域的例子,从而提高学生学习兴趣的同时了解图论是能够解决很多专业问题的.并且例题的选取不能本末倒置,不能冲淡课程的逻辑训练主题.

另外,就是举例的时候最好能给出正反例题,以加深学生对知识点的深入理解掌握.

4.4实验教学的实施

近几年,教育改革,各大院校越发重视实验教学,但是对于离散数学这门课程仍然很少高校开设专门的实验课程.笔者认为,在离散数学的教学过程中适当加入实验是十分必要的.一者,离散数学课程的讲授过程中引入的众多实例,基本都是可以在计算机上操作模拟或者编程实现的;再者,我们学习离散数学的目的就是能够建模自动化的解决问题,没有实验编程则偏离了我们的教学目的和理念;最后,学习的理论通过编程实现了,能更直接的告诉学生,离散数学是一门很好联系实际的课程,而不仅仅是门数学课,是门理论课.

但是,事实上,很多高校是没有专门的课时上实验课的.这种情况下,建议教师们在讲解定理的时候结合一些求解算法,然后给学生设计一些课外实验作为家庭作业.

4.5学生走向讲台

由于中国传统的教育模式,很多学生只是在被动的学习.即使是一些成绩好的学生也仅仅停留在“学会”的层面上.大学教育需要学生不仅是“学会”,更要是“会学”.教师们可以尝试让学生自己走上讲台讲课,从而促使学生主动学习.可以小到一个定理的证明,一个问题的讨论,也可以选取合适的章节让学生自己备课,上课,小结.学生讲课的这种教学方式,不仅能培养学生的自学能力、思考能力、表达能力,还可以活跃课堂气氛,使得师生能良好互动.

4.6课堂小结的必要

教师在教授课程中,切记不可虎头蛇尾.好的开始也需要好的结束.如何能够让学生将每节课的内容更好的理解吸收,课堂小结就变得很有必要了.离散数学课程的知识点很多,往往使得学生不能很好的抓住重点,因此,每个章节的小结乃至每节课的小结就变的尤为重要,除了帮助学生回顾所学的新知识,还能进一步强调该章节内容的重难点,使得学生能够更容易的把握内容主线.

5小结

离散数学课程作为计算机专业的核心课程,在计算机理论体系中有起着重要的作用,但是由于离散数学的种种特性,使得该课程的教学效果一直不是很理想,本文从教学目的、教学主线、教学内容以及教学方法四个方面对该课程的讲授做了简单的探讨,希望能够对提高离散数学课程的教学质量有一定的促进作用.笔者多年教学实践也证明了该方法的可行性及有效性.