摘要:本文用“成语接龙”游戏的例子, 阐述了在“离散数学”课程教学中如何用好案例, 分析了该案例的使用思路、方法及其在培养学生的思维能力与拓展学习中的作用。
关键词:离散数学; 教学案例; 计算思维;
0 引言
作为计算机类专业的基础核心课程, “离散数学”的重要性不言而喻。但是“离散数学”课程内容所固有的高度抽象性, 往往成为普通大学本科生畏惧和排斥学习的主要原因。
“离散数学”的研究对象是离散量、离散结构及其相互关系, 其主要的原理和方法又可以被计算机仿真模拟实现, 从而为有效地开展教学提供了良好的渠道。从这个意义上说, 知识传授已经不再是教学的主要目的, 思维方法以及由此带来的面对复杂问题时的思考方式才是课堂教学中需要传授的关键。
如何提高教学的趣味性, 吸引学生的持久关注和学习, 经常成为教师教学过程中的困惑。而良好的教学案例就成了提高教学关注度和参与度的有效手段。良好的课堂教学案例既是学科知识的有效载体, 也是实现教学目标的基础。但是, 正如北京大学王捍贫教授在一次关于“离散数学的困难性”的报告中所指出的那样, “教学案例的选取并不容易”, 不适当的案例往往带来更糟的结果。
笔者认为, 一个恰当的教学案例必须考虑以下4个重要因素: (1) 案例要有科学性, 并与课程教学内容直接关联, 学生主要使用本课程相关知识来描述和解决; (2) 案例要有趣味性, 或者从新的视角观察司空见惯的问题, 利于激发学生的学习兴趣; (3) 案例应贴近生活, 并且有明确的应用背景, 以减少学生的陌生感, 利于学习中的情感认同; (4) 案例中描述的问题要有挑战性, 但难度可控, 使学生能运用本课程的知识在很大程度上获得问题的解, 从而获得成就感。
本文拟从一个简单案例入手, 分析在“离散数学”课程教学中如何有效地使用案例, 使学生勇于面对困难问题, 提高思维能力。
“成语接龙”是一个喜闻乐见的游戏, 它要求使用成语连接, 上一个成语的最后一个字与下一句成语的第一个字相同。例如:
天长地久久别重逢逢凶化吉吉祥如意
意味深长长话短说说三道四四平八稳
很显然, 这个问题符合本文前面描述的几个特征。作为一个教学案例, 它是恰当的。
1 基本形式
读者自然会问, 任意给出一组成语 (如500个) , 是否能形成满足这样条件的一个成语接龙串呢?很显然, 这个问题可以描述为已知一个成语集合, 需要寻找文字先后连接的成语子集合。
为此, 可以考虑将每个成语看成一个节点, 如果满足某个成语的最后一个字是另一个成语第一个字的条件, 则在两个节点之间连上一条有向弧, 前者指向后者, 如图1所示。
因此, “成语接龙”问题就变成了有向图的连通性问题。例如, 从一个指定的节点A出发, 到另一个指定的节点B是否可以实现成语接龙?一些常见的算法可用于求解。
下面给出一个宽度优先的搜索算法。
Step 1:找出A的邻接节点集。
Step 2:标记邻接节点。
Step 3:判断B是否在邻接节点集中。若在, 则给出回溯路径, 算法结束;否则, 转到Step 4。
Step 4:找出Step 1的邻接节点集中各点的所有无标记邻接节点, 合并得到新的邻接节点集中, 转到Step 2。
Step 5:若不能得到新的邻接节点集, 则输出不存在A到B的成语接龙, 终止。
算法的实现与代码设计在“离散数学”课程的先修课程“程序设计与问题求解”等中已经解决, 本文不再赘述。
图1 成语连接关系
当然, “成语接龙”的问题可以有多种提法。假如要求找到从某个成语出发, 并经过接龙后最后一个成语仍然是自己, 从图上看就成了哈密顿 (或局部) 周游问题。一般而言这是没有快速算法可以求解的。
在教学中也可以作为挑战, 提出更多问题供学生做深层次探讨。例如, 如何找到至少包含k个成语的路径?如果同音字开头的成语也视为接龙有效, 应该如何处理?
2 提升形式
稍将问题简化。假如给定的不是汉语的成语, 而是一组英文单词。要求找到一种单词排列顺序, 使得前一个英语单词的最后一个字母是后一个单词的第一个字母 (注意不区分大小写) 。这样就把“成语接龙”游戏变成了“单词接龙”游戏。
表面上看, 问题并没有变得简单。但是考虑到英文单词只由26个字母 (仅考虑小写) 构成, 容易想到将26个字母作为节点, 若存在单词以某个节点M代表的字母开头, 以节点N代表的字母结尾, 则由M向N连一条有向弧 (代表该单词) , 如图2所示。
可以看到, 图2的节点数目比按照图1的方法已经大幅度减少了。但由此也带来了新的问题, 即图中出现了自环和平行边。
此时可以在有向弧集合中引入平行关系 (注意, 自环也可看成平行) 。可以验证该平行关系是等价关系, 从而使用等价类的方法建立单词等价类。利用等价类代表元, 可以实现将图2简化为简单图。
等价类的引进减少了节点之间连接边的数目, 在很大程度上降低了算法的复杂度, 有利于计算的实现。但是由于需要为每一条弧保留等价类, 因此存储空间增加了。
在图2的情况下, 问题就变成了从某一条弧出发, 是否可以找到一条路径到达另一条弧。
注意, 由于描述方式的不同, 问题的求解可类比于有向图中边的遍历, 与图1相比, 相当于从哈密顿路的求解变成了欧拉路的求解。
图2 单词接龙
3 案例使用的讨论
从上述案例可以看到, 实际问题的求解一般有4个步骤。
(1) 重述问题。就是将原始问题描述为数学上容易表达的形式, 忽略那些对问题及求解没有本质影响的部分, 必要的时候适当加以简化。
(2) 抽象化。这一过程将实际问题的相关概念抽象为数学概念, 厘清数学关系与限制约束条件。
(3) 数学模型刻画。用数学语言表达问题, 建立问题的数学模型。
(4) 求解。使用数学方法、算法技巧得到问题的解答。
从教学实际看, 上述案例由于趣味性强, 贴近生活, 在教学中很容易引起学生共鸣, 课堂参与度非常高。
教学过程中, 作为一种拓展方式, 就求解而言还可以引导学生建立二元关系, 借鉴复合闭包计算的思路设计相应算法, 计算出成语接龙串数目以及指定长度的接龙串。
上述案例综合应用了“离散数学”课程中多个模块的知识, 既可以作为课堂教学案例进行建模和问题分析, 也可以作为小班学习的讨论案例, 或者作为小组课外实践的应用系统开发项目。
4 结语
总体上说, 前面描述的过程是数学思维与计算思维能力综合运用的典范。通过问题重述, 以合适方式来陈述, 运用逻辑思维和形象思维准确把握问题的本质;通过抽象与简化, 实现复杂问题的分解;通过数学建模, 使问题形式简单, 表达清晰, 易于处理。而问题的求解过程, 既是数学方法如变换、归类、转化等思维方式的综合应用, 也是计算工具、计算策略的合理调配。
本文分析了良好的教学案例应具备的几个基本特征;以“成语接龙”游戏为例, 探讨了教学案例在“离散数学”课程教学中的重要作用, 展示了数学思维和计算思维能力培养在“离散数学”课程中如何有效实现。
(1) 典型的数学思维方式是, 通过假设、简化等环节将问题从复杂变得简单;通过分类将问题从困难变得容易;通过变换等手段将未解问题转换为已经解决的问题;再通过综合和推广得到更大问题的求解。
(2) 典型的计算思维方式是, 通过抽象、建模和化简寻求问题的适当描述和形式化, 形成实际问题的计算表示, 易于处理;通过编码实现, 完成问题求解的试错、调整和精化, 形成方法的评估, 实现算法应用范围的提升。
(3) 在“离散数学”课程的实际教学中, 如果基于问题驱动的良好教学素材得以有效融合, 有助于这两种思维能力的培养。
也应该注意到, 教学案例的选取和使用需要在教学研究与实践中长期积累, 应充分注意来源于科研、来源于实践、来源于生活的问题, 并加以适当改造, 才能符合教学的预期。这也是完善教学资源的有效手段, 值得教学工作者终身努力。
参考文献
[1]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM.2006, 49 (3) :33-35.
[2]常亮, 徐周波, 古天龙, 等.离散数学教学中的计算思维培养[J].计算机教育, 2011 (14) :90-94.
[3]董荣胜.计算机科学导论:思想与方法 (第2版) [M].北京:高等教育出版社, 2013.
[4]王海艳, 陈志, 孙力娟.新型教学模式提升大学生计算思维能力研究[J].江苏高教, 2017 (6) :66-68.
随着国内高等教育从精英式教育走向大众化教育, 各个高校都在积极探索如何强化教学管理以加强学风建设和提高教学质量.2006年, 江西理工大学首创性提出学业预警制度, 并获得良好的效果和认同....
自20世纪50年代以来, 数学知识一直出现新的观点, 它已经从单纯的知识积累中发生了革命性的变化。离散数学是数学的一个重要分支, 内容包括数理逻辑、集合论、代数系统、图论以及组合理论等, 主要应用在计算机等学科。...
离散数学是现代数学的一个重要分支。《离散数学》课程作为信息科学的核心基础理论课程,主要研究离散量的结构及其相互关系,涉及的内容较广.国内外几乎所有大学都将《离散数学》作为计算机专业的核心课程,它不仅为人工智能、数字逻辑、数据结构、操作系...
1概述自从1978年高考恢复以来,我国的高等教育得到了长足的发展,特别是进入21世纪,随着国家经济的高速增长,高等教育也在各个方面得以迅速发展。尽管高等教育模式已持续发展30多年,但是高教课堂上的教与学之间的关系依然极其复杂,并且模式也随着社会的...
20世纪中叶以来, 随着计算机的迅猛发展, 核心数学呈现出新的迹象。一种异于微积分的数学新范式———离散数学喷薄而出, 成为推动当代数学与科学发展的一种主导力量。离散数学是数学研究范式的一次重大转向。...
1、背景离散数学是现代数学的一个重要分支,主要研究离散量的结构及其相互间关系[1-2]。离散数学为计算机专业后续课程(数据结构、编译原理、数据库原理、人工智能、信息管理与检索等)的学习和掌握,在知识基础和思维方式等方面提供了必要的准备,在学生...
1、引言离散数学课程中要点的离散性、知识点的分散性和探讨问题的特殊性,使相当大的一部分学生在刚刚接触该类课程时,对其中涉及到的一些概念和处理问题的方法往往感到疑惑.若仅仅采用传统的理论教学方法,会造成学生对该课程的学习兴趣不高,将会极大的影...
离散数学是现代数学的一个重要分支,主要研究离散量的结构和相互间的关系,在数学应用领域有着十分重要的地位与作用,计算机科学的许多后续理论课程都是以离散数学为基础的,是计算机科学与技术专业的核心必修课程。作者在教学过程中发现学生在学习离散数学...
0引言在众多计算机科学与技术专业基础课程中,离散数学是其中较为重要的一门核心课程,同时,它是计算机科学的基础理论领域的重要组成部分。通过离散数学知识的学习,对培养学生的学科素质、掌握正确的学科方法有着积极重要的作用。但同时,这门课程又让...
1、范式回顾及S-c:VMGSGMV范式的提出学者乔贝恩(JoeS.Bain)在1930年代,提出SCP(Structure-Conduct-Performance)范式,结构-行为-绩效范式。其基本含义是,结构决定企业在市场中的行为,而企业行为又决定其在外部环境发生变化的情况下的经营绩效;学...