面向计算机抽象思维能力培养的离散数学教学研究

2020-06-30 10:13尹波
计算机时代 2020年6期
关键词:离散数学抽象思维教学改革

尹波

摘  要: 离散数学是计算机类专业的核心基础课程,具有理论性强并且内容抽象的特点。文章分析归纳了离散数学课程实际教学中存在的问题,探索面向计算机抽象思维能力培养的教学模式改革,提出离散数学抽象思维培养核心内容,以启发和训练学生的建模思维、逻辑思维、算法思想为主导,着重从课程内容设计、实践环节培养等方面提出具体改革措施。该教学改革可以有效提高学生将实际问题转化为计算机可计算问题的能力。

关键词: 离散数学; 抽象思维; 实践培养; 教学改革

中图分类号:G642          文献标识码:A      文章编号:1006-8228(2020)06-67-03

Abstract: Discrete mathematics, which has the characteristics of strong theory and abstract content, is a core basic course for computer related majors. In this paper, the problems existed in teaching of discrete mathematics are analyzed, the reform of teaching mode for cultivating computer abstract thinking ability is explored. The core content of abstract thinking ability in the course of discrete mathematics is formally defined, and the strategies of teaching reform from the perspectives of teaching content, and practice training are presented, in order to inspire and train students' modeling thinking, logic thinking, and algorithmic thinking. This teaching mode reform can effectively improve the ability of students to transform practical problem into computable problem.

Key words: discrete mathematics; abstract thinking; practice training; teaching reform

0 引言

离散数学是国内高校计算机学科相关专业的核心基础理论课程,并且是专业其他核心課程,如数据结构、操作系统、编译原理、信息安全、人工智能等的先行课程[1-2]。《华盛顿协议》明确指出要培养学生解决复杂工程问题的能力以及逻辑思维能力。离散数学课程是数学和计算机之间的桥梁,其重要之处在于把现实世界的问题变成计算机可计算的问题:通过数理逻辑相关方法将现实问题变成逻辑问题,再通过形式化的方法(例如集合方法、函数方法、图论)将逻辑问题变成代数与图论问题。

离散数学是一门概念多、理论性强、内容抽象、逻辑性高的课程[3-5]。传统的离散数学往往将该课程当作一门纯理论课程,教学与应用相脱节,并且忽视对计算机抽象思维能力的培养,教学效果有限,学生体会不到这门课程的有用之处,主要问题如下:

一方面,课程内容过于理论化,与实践应用脱节。目前国内离散数学教材侧重讲授概念和性质定理,缺少这些性质定理在解决计算机学科具体问题的应用,也缺少与其他后续课程内容的有效关联和整合[6]。离散数学课程大部分高校是48个纯理论教授学时,课程内容较多但学时有限,基本不设置实验或者上机训练环节,导致学生学习目标不明确,学习兴趣不高。

另一方面,计算机抽象思维能力培养乏力。离散数学通过阐述离散结构的描述工具和方法,重点是培养学生的抽象思维和严格的逻辑推理能力。抽象思维能力是指从计算机的基本工作原理出发,将现实世界中的具体问题,抽象为合适的数学模型,进行严格地逻辑证明,并且形式化为计算机语言可表述和解决的问题。目前离散数学课程教学忽略了对学生计算机抽象思维能力的培养,使得学生在面对具体问题时,虽然掌握了经典理论的基本知识和推理技巧,但是缺乏在社会实践中发现问题和解决问题的意识,在真正面对实际问题时也不能够利用所学知识设计出有效的解决方案。

本文对面向计算机抽象思维能力的离散数学教学改革进行了探索。通过离散数学课程的学习,使得学生具有以下基本素质:①基本的建模思维,能够将问题进行量化,转化为数学模型;②较好的逻辑思维能力,能够严谨地进行逻辑推理;③较强的算法思想,能够写出高效的代码。

1 计算机抽象思维核心内容

将实际问题转化为计算机可处理的问题并对其求解,是一个高度复杂抽象的过程。抽象思维通过对问题进行分析、建模、推理、归纳出规则,并且用计算机语言形容它。离散数学的内容主要包括数理逻辑,集合论,代数系统与图论。根据计算机的工作原理和离散数学的特点,离散数学的抽象思维能力主要包括以下内容。

⑴ 建模思维:建模思维是从具体事物中抽取概括出共性,进行精确的符号化表示,映射到算法模型或者数学模型,进行数值求解的过程。离散数学课程有大量的抽象建模概念,其中数理逻辑通过引进符号系统来研究思维的形式结构和规律,使得人们日常思维中逻辑推理过程可以使用计算的方法来实现;集合论提供了描述数学物件的语言,包含了集合、成员、关系等基本的数学概念。集合论和逻辑构成了数学的公理化基础。代数结构也叫做抽象代数,也是一种数学模型,用以表示实际世界中的离散结构。图论则是使用点和边来表示事物和事物之间的关系。

⑵ 逻辑思维:计算机学科逻辑思维是指符合计算机工作原理的思维方式。针对实际问题构建数学模型后,需要采用逻辑表达式来表示,并且按照一定逻辑关系来推理和证明。逻辑思维是规范和严密的,主要包括推理和归纳。离散数学数理逻辑通过使用数学方法(即引入符号体系)来研究关于推理和证明等形式逻辑上的问题。数理逻辑包括逻辑演算、证明论、递归论等内容。

⑶ 算法思想:算法是计算机程序的灵魂,程序运行效率最终取决于算法。算法包括算法设计与算法分析,其中算法设计是根据实际问题制定出有效的算法,算法分析是对算法的正确性、时空复杂度等各种性质进行定性或定量分析。从更高层次看,算法是一种思维方法,最终达到使用计算机技术进行高效求解的目的。在离散数学教学中强化算法思想,有益于提高学生动手编程能力,有助于后续数据结构与算法、算法设计与分析等课程的学习,更能体现离散数学课程作为计算机专业的课程的特点,而不是纯粹的数学课程。

2 具体改革措施

2.1 提炼知识点,摒弃冗繁概念陈述,以解决问题为中心

离散数学课程内容繁杂。现有国内离散数学教材侧重对性质定理的阐述,教材中的例题和习题多是训练对性质定理本身的理解和记忆,演变成纯粹地做数学题。进行离散数学课程改革,首要内容是整合教学内容,提炼和精讲知识点,以解决问题为中心,围绕“问题起源(背景)”、“问题的抽象(建模思想)”、“问题解决(逻辑思想、算法思想)”、“问题有效解决(逻辑思想、算法思想)”、“计算机领域应用案例”五步骤解决问题思维方式为主线,教授学生从计算机视角解决生产和实践中的问题。问题起源重在阐述知识点的背景知识,为什么会出现该问题,类似的问题有哪些,类似问题的共性在哪里。问题的抽象是将应用问题建模为条例清晰、明确的抽象模型和数学模型,充分描述模型约束和模型元素。问题解决对抽象模型和数学模型的特点和性质进行分析,通过使用计算机语言描述的软件或硬件得到基本解决方案。问题有效解决旨在优化解决方案,提高解决方案的正确性和效率。整个教学过程始终围绕学生思维训练以及解决问题能力培养展开,一步步引导学生由浅入深地、从日常思维到严密地从数学和计算机思维来解决问题。获得问题解决方案后,需对知识点进行升华和拓展,结合计算机后续课程和计算机领域最新技术方法讲解应用案例。

以图论为例,图论的起源是十八世纪著名的格尼斯堡七桥问题,通过使用点和线抽象建模为图的欧拉问题。采用图的方式表示事物之间的联系,最大的优点就是直观和可视化。但是如果用计算机编程处理,需要转换为计算机可理解的符号表示,这样就有了关联矩阵、邻接矩阵等使用矩阵来表示图中点和边关系的方式。回到欧拉问题本身,引出的问题是欧拉图具有的性质、什么样的图才存在欧拉回路(是否有充分必要条件)。只有对这些问题进行探索和分析后,才能准确回答给定图是否存在欧拉道路,再进一步寻找欧拉回路的算法。深度优先算法、Fleury算法均能找到欧拉回路,但是后者比前者的时间效率要高。欧拉图在计算机领域有着广泛应用需求,例如计算机网络中路由和传输路径的设计。

2.2 设置实验环节,重视实践教学,鼓励学生参加竞赛

实践教学是进一步培养和提高解决实际问题能力的重要途径,更是适应培养新兴工程科技人才需求的基本方法。结合应用实例进行实践教学,有助于提高学生的参与度和对知识理解程度,激发学生学习热情,并且锻炼学生动手编程能力。实践教学包括基础性实验和拓展性实验,其中基础性实验以巩固核心知识点为目的,围绕知识点相关概念和原理进行编程,要求学生在课内上机或者实验完成。拓展性实验则是针对实际应用问题,要求学生建模并且映射到已有知识,探索和找出解决问题的方法,具有一定难度和挑战性;教师进行思路指导,学生分成项目小组,协作式完成实验项目,并进行现场演示和答辩。

数理逻辑部分,基础性实验阶段要求编程计算任意命题公式的真值表、主析(合)取范式、推理、形式化证明等。拓展性实验阶段将理论知识应用于解决复杂问题,以制作阅卷系统为目的,通过命题逻辑中的推理證明,实现一题多解情况下的主观题阅卷。涉及到的知识点有命题演算、命题逻辑推理规则、命题逻辑运算符号和优先级等。

集合论部分,基础性实验阶段要求编程实现集合的基本运算(并、交、补、差、幂)、集合关系判断(包含、相等、真包含)、关系的运算(选择、投影、连接、除法)、计算关系矩阵的性质(自反性、对称性、传递性)。拓展性实验阶段,实现具有基本查询功能的小型数据库原型系统[7]。

代数系统部分,基础性实验阶段编程实现代数系统相关性质的判断(同余关系、等价关系)、群的判断、环的判断、域的判断。拓展性实验阶段,与信息安全技术相结合,要求实现一种数字签名算法,帮助学生了解数据加密、数字签名和认证基本思想和方法。

图论部分,基础性实验阶段编程实现欧拉回路、哈密顿回路的求解算法。掌握图的矩阵表示方法,通过可视化方法绘制图形。使用较大的数据集,运行不同算法并记录CPU时间开销,从而强调算法设计和算法时间复杂度的重要性。拓展性实验阶段,以众包和服务组合中任务分配问题作为案例,建模为二部图问题,使用二部图算法来实现任务分配。

鼓励学生参加数学建模竞赛、大学生课外科技立项等项目,培养学生的实践能力、解决问题的思维能力和编程能力。

2.3 改革考核方式,注重实践表现

离散数学理论性较强,实施书面考试是必要的。但是离散数学学习的目的是提高解决问题的能力,因此也要注重实践环节学生的表现。传统的考核,以期末书面考试为主,缺乏对学习过程的监督,不注重学生平时学习的积累;缺少对实践过程的考核,没有真实反映学生基于本课程知识解决问题的能力。改革考核方式,主要措施内容如下。

⑴ 对学习过程进行监督,对实践进行考核:采用“平时作业+实验+期末考试”的方式,期末考试和平时作业是对理论知识的考核,这两项加起来占总成绩的50%(平时作业占20%,期末占30%),实验包括基础性实验和拓展性实验,是对思维能力和解决问题的综合能力进行考核,占总成绩的50%(基础性实验占20%,提升性实验占30%)。教师针对作业和实验中存在的问题,及时反馈和指导。

⑵ 增加成绩透明度:平时成绩和实验成绩及时公开。对于基础型实验,进行现场抽查,要求学生讲解自己的编程思路和代码实现。对于拓展性实验,制定并公开评分标准,并且采用学生互评和教师评分相结合的方式。

3 结束语

本文探讨了面向计算机抽象思维能力培养的离散数学教学模式改革,对教学内容、实践环节、考核方法进行改革。教学过程注重对学生的建模思维、逻辑思维、算法思想的训练,提炼知识点,摒弃冗繁概念陈述,精心设计实践环节。实践证明,该教学改革使得学生学习目标更加明确,提高了学生编程解决实际问题的能力。在以后的教学工作中,还需要进一步加强和后续课程的组合衔接优化,完善和丰富教学手段,才能真正发挥离散数学课程的作用,更好地促进学生质量的提高。

参考文献(References):

[1] 苏庆,林华智,黎展毅.新工科形势下离散数学课程教学改革探索[J].计算机教育,2019.1:25-28

[2] 梁银,董永权,郭小荟.工程教育认证中离散数学教学改革探讨[J].计算机时代,2019.12:91-94

[3] 王晓华,汪荣贵,杨娟,李书杰. 离散数学实验环节的设计与实施[J].合肥工业大学学报(社会科学版),2019.33(6):128-132

[4] 夏红科.工程教育认证背景下离散数学课程体系的实施[J].计算机教育,2019.8:103-106

[5] 张顺利,黄文芝.计算思维导向的离散数学混合教学模式研究[J].计算机教育,2019.3:39-43

[6] 龙陈锋,何轶,乔波.操作系统与离散数学课程关系分析[J].教育现代化,2019.9:133-136

[7] 魏玮,谢慧珍,张丽纯.命题逻辑中形式推演证明题的自动评阅系统[J].计算机与现代化,2014.2:6-14

猜你喜欢
离散数学抽象思维教学改革
浅论幼儿计算和幼儿体育教学
由“抽象”变“具体”
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索
离散数学实践教学探索
离散数学中等价关系的性质
基于实践教学的《离散数学》课程改革
离散数学对编程的重要性