面向独立学院的离散数学课程内容设置和教学方法
2011-12-31谢胜利李名标
计算机教育 2011年20期
摘要:分析独立学院离散数学的教学现状,本着实用够用的原则对教学内容进行较大的增删修改,并对教学方法作了相应的改进,提出在教学中要强调课程的应用性、增加实验教学环节、强调自主学习等措施。经过一个学期的教学实践,取得了较好的教学效果。
关键词:离散数学;课程内容;教学方法;实验教学;自主学习
离散数学是计算机专业的一门重要的专业基础课,属于现代数学的范畴,是随着计算机科学的发展而逐步形成的一门新兴的工具性学科,它在计算机专业的许多后续课程中有着广泛的应用,为它们提供数学基础。它在整个计算机专业教学体系中处于举足轻重的地位,美国《ACM IEEE Computing Curricula 2001》和我国《中国计算机科学与技术学科教程2002》都把离散数学列为计算机专业的核心课程。《ACM IEEE Computing Curricula 2004》和教育部计算机科学与技术教学指导委员会《计算机科学与技术专业规范2004》将计算机科学与技术专业划分为计算机科学、计算机工程、软件工程和信息系统4个学科方向,而其中3个专业方向都将离散数学列为核心课程。由此可见,离散数学在计算机教学中越来越受到重视。对这门课程的理解、掌握和拓展,将对学生的数据分析、组织、处理能力有极为深刻的影响;同时也可以培养学生抽象思维能力和逻辑表达能力,提高发现问题、分析问题、解决问题的能力。
1现状分析
温州大学瓯江学院作为独立学院,其定位为培养“应用性”本科人才,教学上要体现“应用性”,而现今离散数学的教学内容和教学方法还比较传统,与学院的教学定位不相符合。传统的离散数学的教学内容一般分为四个模块:数理逻辑、集合论、代数系统和图论[1-2],内容理论性强,数学概念抽象难懂,不易掌握,而且国内的大部分教材是纯数学角度来编写,没有从把离散数学作为计算机科学的数学基础角度来考虑,使学生产生危难情绪。
离散数学开设在大一第二学期,对于入校不久的学生,对计算机基础理论的地位和作用缺乏亲身体验,他们无法理解和感受基础理论的学习回报。同时学生更热衷于一些技能培养课程,对理论课程的认识和热情不够。
因此在离散数学课程的教学中,要强调离散数学的基础性和应用性,不片面强调它的理论性,更注重离散数学在计算机科学中的应用。为了提高学生的学习热情,首先要以教学内容的改革为突破口,进一步推进教学方法等方面的改革,从而提高离散数学教学效果和质量,更好地适应独立学院本着“服务社会,面向地方”培养应用型本科人才的目标。
2精选教学内容
经过多年的离散数学的教学实践,根据独立学院的培养目标和学生特点,课程内容和体系要突出应用特点,笔者认为课程教学内容的设置要适应独立学院应用型人才培养目标和独立学院学生的特点,如果也采用温州大学本部普通本科所使用离散数学的四大模块的教学内容显然已经无法适应目前的教学需求,通过课程组老师的讨论,参考国外离散数学教材[3-4]和兄弟院校的开设情况[5-6],对原四大模块内容进行较大的修改,并增加了数论、组合数学两个模块。现已在瓯江学院09计算机科学与技术专业两个班上通过实践,取得一定的效果。确定的教学内容如下表所示。
表1离散数学教学内容
数理逻辑模块中删除范式和推理理论;集合论中增加n元关系及应用,删除函数部分和集合的基数章节;代数系统模块删除绝大部分内容,仅保留布尔代数,而且在布尔代数中增加逻辑门电路表示,卡诺图等实用内容;图论部分删除二分图、欧拉图、平面图等部分,充实树部分的内容,增加树的应用(二叉搜索树、决策树、前缀码);为适应后续课程的教学,增加组合数学和数论中一些实用的内容。
以上的课程内容设置,较之校本部普通本科,有以下几个特点:
1) 课程内容的选取与学院的培养目标相适应,增加了一些实用的内容,体现了实用够用的原则。
2) 课程内容的选取适合于独立学院学生使用,删除了一些难度较大、理论性较强的内容,降低了难度,使之易于掌握。
3) 课程内容体现了计算机科学的发展趋势,并反映了与后续课程的紧密联系,表明离散数学是计算机科学的数学基础。
3教学方法的探索
3.1强调课程的应用性
一般情况下离散数学的教学会变成一门纯数学课来进行,往往过多地强调其理论性,针对独立学院,要强调离散数学的应用性,坚持将离散数学作为计算机科学的数学基础,强调离散数学在整个课程体系中的地位,在教学中要充分说明课程内容与后续课程的联系与融合。如:
数字电路课程中用到数理逻辑和布尔代数中的运算,“否定”对应着“非门”,“合取”对应“与门”,“析取”对应“或门”,卡诺图是逻辑门电路设计的工具。
数据库系统课程中的关系数据模型建立在严格的集合代数的基础上,其数据的逻辑结构是一个由行和列组成的二维表。因此集合论中的笛卡尔积、二元关系运算、n元关系运算是关系数据理论的基础。
在操作系统课程中如何判断并发进程是否存在死锁现象,可以利用有向图是否存在回路的方法来判断。
在数据结构课程中的大部分章节是讨论图和树的有关算法,当然要掌握图和树的有关知识。
在计算机系统课程中,指令系统的设计和改进可以利用构造最优二叉树从而得到Huffman编码,让它作为指令代码可以使得程序中的指令的平均字长最短。同时Huffman编码可以用于数据通信和数据压缩。
组合数学为算法设计和算法分析提供理论基础和解题技巧,数论为密码学提供理论基础,在信息安全课程有重要应用。
数理逻辑还是人工智能的基础。
可见计算机专业的主干课程都需要离散数学作基础,为了让学生加深离散数学的重要性,在平时授课中多用有学科背景的例子,使学生觉得离散数学是非常有用的(学生最关心学的东西是否有用),打消学生学习的盲目性,这样会激发学生学习离散数学的积极性,进一步加强了学生“用数学的能力”。
3.2增加实验教学
根据离散数学理论性较强,抽象难懂的特性,对于独立学院离散数学教学过程中设置课程实验是十分必要的。通过在离散数学教学过程中增加实验教学的环节,不会让学生觉得离散数学仅是一门数学课。这样能够培养学生运用知识的能力、数学建模的能力、程序编写和算法设计的能力。
学生在第一学期学了一门程序设计语言,具备了一定的程序设计的能力,能够完成离散数学课程的设计任务。但现在的课时设置仅有理论课时,没有实验课时,所以现在暂时把实验任务作为课后作业来完成,今后争取增加实验课时。现暂时开出的实验题目有:
(1) 给定命题公式,完成输出命题公式真值表;
(2) 给定四个数(或字符),输出它们的全部排列和全部组合;
(3) 规定用n位的二进制数来表示集合(假设全集有n个元素),求两集合的交集、并集和对称差;
(4) 给定两个m*n的布尔矩阵,求它们的交和并;
(5) 给定有穷集上二元关系的关系矩阵,判断该矩阵是否自反的、对称的、传递的;
(6) 给定无向图的各边所关联的定点对,确定每个顶点的度;或给定有向图的各边所关联的有序定点对,确定每个顶点的入度和出度;
(7) 给定有向图的邻接矩阵,判断图的连通性;
(8) 给定后缀形式的表达式,求它的值。
3.3强调自主学习
在完成一个模块的教学任务后,组织学生讨论乃至辩论,同时还要根据实际情况,针对学生较感兴趣或实际应用性比较强或是当前一些热点问题的内容布置学生自学,给学生拟好自学提纲,并提倡他们再去查找一些更多的扩充性资源,而后提交课程小论
文。这样可以提高学生的自学能力,培养学生的研究能力、表达能力和解决问题的能力。现在暂以兴趣小组的形式开展,每小组至少完成一篇论文,成绩记入平时成绩。现已开出的课程论文题目有:
(1) 论述在命题逻辑及谓词逻辑中命题的符号化方法。
(2) 描述模糊逻辑怎样用于实际应用。参考为几本最近出版的模糊逻辑书。
(3) 定义Ramsey数,叙述和证明显示它们存在的Ramsey定理,并且描述目前已知的有关Ramsey数的结果。
(4) 讨论模糊关系的概念,怎样使用模糊关系?
(5) 讨论计划评审技术(PERT)在安排一个大的复杂项目的任务中的应用。PERT还可以在哪些领域应用?
(6) 描述求一个带权图的最小生成树几种算法,生成树中任一顶点的度不超过一个固定的常量k。
(7) 讨论一下图论在社会学和心理学等领域的应用。
(8) 描述一下中国邮递员问题并且解释如何解决这个问题。
(9) 讨论在IP组播中用于避免在路由器之间产生环的算法。
(10) 描述一下确定两个图是否同构的一些可用算法和这些算法的计算复杂性。目前已知最有效的算法是什么?请描述它的基本思想。
(11) 描述一下用来解决旅行商问题的几种不同的策略和算法。
(12) 描述如何构造长度为n的格雷码。
4结语
笔者从离散数学教学的实际现状和独立学院的特点出发,本着突出离散数学的实用性,按实用够用的原则精选教学内容,并对课程的教学方法作了改进,实践证明,学生的危难、厌学情绪有了很大的改善,激发了学生的学习兴趣和潜力,教学效果有了一定的改进,实现以实践能力培养为目标、理论知识为基础、应用领域探讨为兴趣的教学构想。
参考文献:
[1] 刘贵龙. 离散数学[M]. 北京:人民邮电