宋庆燕 杨兴忠
摘要:研究适用于应用型本科院校的《离散数学》课程教学方法。首先分析了课程教学中存在的主要问题,然后基于主要问题设置了改善学生学习态度、增强学习动力,强化与计算机科学课程体系的联系和满足学生核心兴趣点的总体目标并提出了相应的教学策略,一种是在课程教学中引入“计算试验”为问题求解建立直觉,另一种是引导学生进行经典原始文献阅读,展示数学知识的进化过程;最后通过相应的三个教学示例阐述具体教学方法的实施细节。
关键词:离散数学;教学方法;问题求解;计算试验; 经典原文阅读
中图分类号:G642.0 文献标识码:A
文章编号:1009-3044(2019)09-0109-03
Abstract: To study the teaching methods of Discrete Mathematics in applied undergraduate Institutions. First, it analyzes the main problems existing in the course teaching, and then, based on the main problems, it sets up to improve the students' learning attitude and enhance their learning motivation, Strengthen the connection with the computer science curriculum system and meet the overall goal of students core interest points and put forward corresponding teaching strategies. One is to introduce "computational experiments" into the curriculum teaching to build intuition for problem solving, and the other is to guide students to read the classic original literature, showing the evolution of mathematical knowledge. Finally, three teaching examples are given to illustrate the implementation details of specific teaching methods.
Key words: discrete mathematics; teaching methods; problem solving; computational experiments; Classic original reading
1 引言
计算机科学与技术专业《离散数学》课程教学方法的探究是一个历久弥新的研究课题,如文献[1-6]。为了研究适用于应用型本科院校的《离散数学》课程教学方法,本文根据对湖北民族大学计算机科学与技术专业《离散数学》课程实施的实际观察,总结了一些目前本门课程教学所存在的主要问题:
1) 学生的学习态度消極,课堂气氛沉闷,士气低落。
2) 课程结束后,学生们很快便遗忘了以备考为目的而记忆的很多知识。
3) 对于后续课程没有发挥应有的持续影响,在学科能力培养方面没有表现出明显效果。
从教学模式、课程内容和学生能力等方面分析,本文认为造成上述问题的主要原因为:
1) 《离散数学》作为一门数学课,教学模式往往采用了“定义-定理-证明”的传统模式,这种模式有利于数学知识的高效率传递,但也使得数学知识以抽象、艰涩和无趣的形式呈现在学生面前。
2) 《离散数学》课程内容表现得与计算机科学与技术专业后续课程相关性不强,与学生的核心兴趣点更是差距甚远。
3) 学生数学能力和知识背景的差异导致有些学生即使有学好离散数学的愿望,也往往找不到付出努力的立足点。
本文认为,在《离散数学》课程教学中仅仅采用传统的教学方法很难有效解决上述问题,针对本门课程教学内容多样的特点可以考虑采用多元教学模式,这首先需要探索出更多可行的教学方法以运用于本门课程不同内容的教学,本文将对此做出一些尝试。
2 《离散数学》课程教学方法探究
根据第1节中对于《离散数学》课程教学所存在问题的总结和分析,本文将基于如下目标进行《离散数学》课程教学方法的探究。
1) 让《离散数学》课程以更生动,具体的方式呈现给学生,消除学生们对于本门课程留下的抽象、枯燥甚至对于计算机专业似乎没有用的印象,从而愿意主动接受它。
2) 让能力和知识背景各有差异的学生们都能找到学习的起点,使得他们努力的成果能够有直观的体现,产生成就感。
3) 重视并满足学生们的核心需求,增强学习的动力和信心。
根据总体目标,本节提出了两种适用于相应类别教学内容的教学策略,并在2.1节和2.2节分别描述了这两种教学策略对应的具体教学方法。
1) 在《离散数学》课程中引入“计算试验”,从计算的角度呈现数学内容,帮助学生思考和进行问题求解。从而能够强化课程与计算机学科的联系,并凸显出问题求解中数学方法的优势和特点。
2) 将数学概念以动态方式呈现出来,让学生们都能参与重新构建数学知识的过程。使得学生能够以一种主动和自然的方式学习抽象的数学概念和定理。
2.1 用“计算试验”为问题求解建立直觉
本方法适用于《离散数学》课程教学内容中可计算问题的研究型教学。在具体实施教学过程中,首先鼓励学生对于待解决的可计算问题进行计算试验,通过计算试验建立关于问题求解的直觉,在直觉基础上产生一些关于求解问题的想法或猜测;然后,引导学生应用数学方法对猜想进行分析和严格证明。最理想的情况是,一些学生在经过数学方法的分析和严格检验后,发现基于计算试验所做出的猜想不一定是正确的。此时,可引导学生反复修正调整猜想,并鼓励他们在这个过程中始终借助计算试验来提供思路或灵感。
必须指出的是,以上从计算试验帮助建立直觉到数学方法分析和严格证明的整个教学过程中,并没有削弱数学方法,反而是强化了它在问题求解中的重要性。此外,计算试验还帮助学生们更好地洞察基本的数学原理,使得抽象的数学概念及其应用变得具体而可见。
2.2 引导阅读经典历史资料,展示数学知识的进化过程
大部分的《离散数学》教材在正式进入新的知识单元之前,都会程序式的介绍相关背景,但也仅仅是略微提及。学生们也因此往往忽略了这些内容而直接去面对艰涩、枯燥、形式化的数学概念和定理等内容,这样的方式让他们难以产生学习的兴趣和动力。
针对以上情况,本小节讨论的主题则是强调对于背景知识的学习。具体采用的方法是选择合适且经典的历史资料,引导学生进行阅读,并为学生们的阅读活动安排一些适当的任务。学生直接基于历史资料深入了解数学概念和方法形成的实际背景和知识背景,探索它们的演化历程以及导致其演化的各种因素,形成自己对该主题的理解。经过这样一个教学过程,培养了学生们的阅读和写作能力,促进了对现代数学语言的反思和理解,使他们能够逐渐认识到数学的抽象化、形式化使得数学模式与模型成了联系抽象理论与现实世界的纽带[7]。从而愿意接受和学习现代数学中对于数学概念和方法的形式化描述。
在接下来的第3节中将就本节中阐述的两种教学方法给出相应的教学示例。
3 教学示例
本节通过三个教学示例对2.1和2.2中阐述的两种教学方法的实施细节进行说明。
3.1 在教学中引入“计算试验”的两个教学示例
问题1:确定长度为n且不包含连续两个1的二进制序列的数目
对于这个问题,大多数有着基本的程序设计基础的学生都能够想到并使用“蛮力搜索”的方法。这种方法不需要太多的数学预备知识,且针对n取较小的值时是有效的。实施这种方法的具体步骤是,首先,针对一个给定的n值生成长度为n的所有二进制序列,然后,排除“包含11的二进制序列”。完成对几个较小的n值的求解后,会得到几个相应的数值解。
还有一些学生,会想到并使用一个递归程序,针对一些较小的n值,直接生成“不包含11的长度为n的二进制序列”。这种方法需要学生具备“递归算法”的思想,能够处理简单的“递推方程”,涉及的关键点是:长度为n的序列可以通过分别在长度为n-1和n-2的较短的序列上添加后缀1和10而生成。
有着一定数学素养和知识背景的学生,在得到“针对几个较小的n值的数值解”后,会开始观察和发现规律,并正确猜想出此问题的“公式解”。然后利用归纳法对自己的猜想进行证明。
在求解问题1的教学活动中,所有的学生都能参与对于这个问题的求解,并基于自己的能力和知识水平给出相应的解决方案,因此每一个同学都有参与感和成就感,从而可以激发他们的学习兴趣。
问题2:翻棋子游戏
如图1(a)中有三个菱形,这三个菱形有一个公共顶点在中心位置,在每个菱形的顶点上都放置一颗棋子,总共有7颗棋子。每个棋子有黑白两面,初始状态下所有的棋子都是白色的一面朝上。规定翻转棋子的规则是:如果翻转一颗棋子则位于同一菱形顶点上的另外3颗棋子也要翻转一次;或者同一个菱形中的所有棋子都翻转为黑色面朝上。问:如何按规则翻转棋子,使得游戏从图1(a)所示初始状态到达图1(b)所示状态(即只有中间的棋子是黑色面朝上)。
对此问题的求解从计算试验开始,然后再逐步引入数学方法。具体过程如下:
第一步,学生可以对这个问题进行计算试验。总共只有7颗棋子,所有可能的棋子翻转方案只有27=128种,所以可以通过蛮力计算的方式得到所有可达状态,并验证发现指定状态并不在可达状态集中。这一步,大部分的学生都可以完成。
第二步,对于“翻棋子游戏”问题,本课程需要的不仅仅是一个“是”或“否”的答案,还需要一个解释,通过第一步的“计算试验”,学生们对于这个问题的计算求解有了一些直觉体验。但是仅仅靠編程计算本身是不能解释为什么无法达到指定状态的。在第二步,可以引导学生观察所有的“可达状态”,发现并总结出“可达状态”在某些特征量上的不变性,并设置相应的不变量。观察设置好的“不变量”在指定状态下的取值,会发现其破坏了规则,因此是不可达状态。
最后,如果要对这个问题在理论层面进行更高一层的求解,则需要完整刻画可达状态,这需要在学生们学习并掌握了“抽象代数”后,在二元域上讨论。这个层面的讨论已经超出了课程要求,但是可以凸显数学方法的特点和优势。
求解问题2的教学活动,以一种层层递进的方式让学生体验到“数学方法”的威力和魅力,从而产生学习数学的动力。为了让学生们重视“数学方法”,认识到仅仅靠“简单的计算”是不能解决问题的,还可以再提出一个类似的复杂度更高的问题,例如8×8的棋盘格游戏。
3.2 引导阅读经典历史资料,展示数学知识的进化过程的教学示例
本小节参照文献[8],选择以瑞士数学家和物理学家,近代数学先驱之一,莱昂哈德·欧拉在1736年发表的经典论文《关于位置几何问题的解法》[9]为例,阐述在图论教学中引导学生阅读经典文献的教学活动。通过这样的教学活动达到向学生动态展现数学知识进化过程,使他们都能参与重新构建数学知识的目的。
欧拉在这篇论文中从格尼斯堡的详细地图开始,首先抽象出一个只显示问题主要特征的更简单的图(参阅文献[9]中Fig.1),然后用符号重新表述问题,接下来研究判定解是否存在的算法,一直到论证论文的最后一个定理结束。事实上,该论文为学生们提供了一个从研究实际问题到建立数学理论的完整过程的案例。
这篇论文语言比较通俗,在教师的引导下,学生们完全可以跟随欧拉的思想读懂和理解论文中的概念和方法,并能与教材中对应概念及方法的描述形式进行对比,促进对它们的理解和掌握。此外,为了屏蔽语言障碍带来的阅读困难,可以在为学生提供原始论文同时提供论文的参考翻译。下面以欧拉论文中的第1、2、16和17段的内容为例,叙述引导学生阅读并布置相应任务开展教学活动的过程。
论文第1段,欧拉介绍了一个由莱布尼兹首先提出的称为“位置几何学”的几何分支,并解释这个分支研究的内容只涉及位置关系,与测量和数值计算无关。然后指出有一个问题看起来是几何的,但问题求解不需要测量距离和计算。因此他认为这个问题是属于“位置几何学”领域的典型问题并在论文中给出了他发现的解决这类问题的一般方法。
论文第2段,详细叙述了 “格尼斯堡七桥问题”,指出了人们对该问题是否有解存在争论。更重要的是,欧拉在本段中基于“格尼斯堡七桥问题”进一步提出了一个具有普遍意义的问题:无论陆地被河流分割成如何的格局,无论有多少座桥,能否判定有一条环游路线恰好经过每座桥一次?
在学生完成了论文第1段和第2段(学生阅读的原始资料比上面的叙述更加详细)的阅读之后,教师提示学生注意:1)欧拉在分析过桥问题时,先用一个只显示主要特征的图代替了城市地图;2)在现代图论中进一步简化了这个图,只包括点(代表每一块陆地)和线段(代表桥),这些点和线段分别称为顶点和边,顶点和边以及它们之间的关系称为图。要求学生对比阅读教材中有关图的定义,然后完成下面的任务。
学生任务:将欧拉原文所示的过桥问题(参阅文献[9]中Fig.3),绘制成具有6个顶点15条边的现代形式的图。
学生们一边阅读论文,一边完成布置的任务,就将欧拉的写作与现代理论联系起来了。随着欧拉对七桥问题分析的层层展开,其它的概念和定理被一一引入。这样学生们就逐渐将原始资料中的概念与现代的术语和符号联系起来了。
论文第16段,欧拉宣称将描述一个更简单的方法来解决这个问题。并叙述了一个结论:将通往陆地A、B、C、D的桥的数目分别标注在字母旁边,这些标注在字母旁边的数字之和是桥的总数目的两倍,原因是每座桥都连接了两块陆地,于是在字母的数字标注上被计数了两次。
论文第17段,欧拉论述了一个推论:每个字母旁边标注的数字代表与此陆地相关的桥梁的数目,所有字母旁数字的总和必然为偶数,因为这个数的一半代表桥的总数。如果这些数字中只有1个是奇数,或者3个,或者5个,等等,是绝不可能的。因此,在“格尼斯堡七桥问题”中,字母A、B、C和D旁边的数字是奇数,而在第15段的例子中只有D和E上的数字是奇数。
在16和17段阅读结束后,要求学生完成下面两个任务:
学生任务:第16段中描述的结果,在现代图论中被称为“握手定理”。该定理基于计算社交聚会中发生的握手次数的计数问题。握手定理的现代表述是:有限图中所有顶点的度数之和等于图中边数的两倍。请在教材中找到这个定理,并评论教材中给出的证明与欧拉在第16段中的相关讨论。
学生任务:第17段中描述的结果可以重新陈述为:每个有限图包含偶数个奇数度的顶点。在教材中找到这个定理,并评论教材中的定理证明与欧拉在第17段中的讨论。
对学生提出这些阅读任務,可以让学生在研究欧拉的各种论点时,反思其与现代教科书中使用的论证风格有何不同,再次强调数学进化的观点。
关于欧拉经典论文更多的内容阅读,本文不再详述。
4 结论
《离散数学》课程传统的“定义-定理-证明”的教学模式无疑是一种高效率的传递数学知识的方法,但是对于计算机科学与技术专业的学生们来说这种模式让他们对于课程内容的学习难以产生兴趣和动力,学习效率较为低下。如果在《离散数学》课程教学中引入前文所述的两种教学方法,可想而知会比传统教学模式花费更多的教学时间,但是可以改善学生们对课程的学习态度,增强他们对于课程内容学习的动力。所以教师在具体实施课程教学时要把握好时间,灵活应用各种教学方法。此外,前文所述的两种教学方法要想成功实施,素材的选择以及精巧的教学设计非常关键,这也需要教师花费大量的时间做好课前准备,但是这样的准备是值得的,相关的素材和教案会在不断的努力下得到积累、扩充和完善,这个过程除了学生们有所收获之外,教师本人也会获益良多。
参考文献:
[1] 屈婉玲,王元元,傅彦,等.“离散数学”课程教学实施方案[J]. 中国大学教学, 2011(1):39-41.
[2] 李建平, 朱娟萍, 吴涧. 研究型“离散数学”课程双语教学实践探索[J]. 云南大学学报:自然科学版, 2016, 38(S1):70-73.
[3] 赵文进, 罗卫星, 吴一尘. 基于MOOC的翻转课堂教学模式探索——以离散数学课程为例[J]. 计算机工程与科学, 2016, 38(a01):135-138.
[4] 魏洪伟, 王博, 王建华. 应用型人才培养目标下离散数学课程的教学方法研究[J]. 计算机教育, 2016, No.258(6):11-13.
[5] 叶青, 米春桥, 唐波. 地方应用型本科院校离散数学研究性教学改革与实践[J]. 大学数学, 2016, 32(6):53-57.
[6] 徐欢潇. 基于认知学习的离散数学教学方式探讨[J]. 电脑知识与技术, 2018, 14(16):127-128.
[7] 黄秦安. 数学观的革命与范式转换--数学文化研究的缘起及基本理论特征[J]. 科学技术哲学研究, 2005, 22(6):62-66.
[8] Barnett J, Lodder J, Pengelley D, et al. Designing student projects for teaching and learning discrete mathematics and computer science via primary historical sources[J]. Recent Developments in Introducing a Historical Dimension in Mathematics Education, 2011: 189-201.
[9] Euler, L. (1736), "Solutio problematis ad geometriam situs pertinentis" , Commentarii Academiae Scientiarum Imperialis Petropolitanae, 8: 128–140. Reprinted and translated in Biggs, N. L.; Lloyd, E. K.; Wilson, R. J. (1976), Graph Theory 1736–1936, Oxford University Press.
【通联编辑:王力】