张利利,马艳琴
(黄河科技学院 信息工程学院,河南 郑州 450063)
离散数学是数学的几个分支的总称,研究基于离散空间而不是连续的数学结构.与光滑变化的实数不同,离散数学的研究对象——例如:整数、图和数学逻辑中的命题——不是光滑变化的,而是拥有不等、分立的值.因此离散数学不包含微积分和分析等“连续数学”的内容.离散对象经常可以用整数来枚举.更一般地,离散数学被视为处理可数集合的数学分支.但是,“离散数学”不存在准确且普遍认可的定义.实际上,离散数学经常被定义为不包含连续变化量及相关概念的数学,甚少被定义为包含什么内容的数学.
离散数学近几十年来因为它在计算机科学上的应用备受关注.由于运算对象是离散的,所以计算机科学的数学基础基本上也是离散的.我们可以说计算机科学的数学语言就是离散数学.人们会使用离散数学里面的概念和表示方法,来研究和描述计算机科学下所有分支的对象和问题,如电脑运算、编程语言、密码学、自动定理证明和软件开发等.相反地,计算机的应用使离散数学的概念得以应用于日常生活当中(如运筹学).虽然离散数学的主要研究对象是离散对象,但是连续数学的分析方法往往也可以采用.数论就是离散和连续数学的交叉学科.同样的,有限拓扑(对有限拓扑空间的研究)从字面上可看作离散化和拓扑的交集.
离散数学课程是计算机科学与技术专业的核心基础理论课程,它为后续部分计算机课程的学习提供了必须的理论基础.通过离散数学课程的学习,学生不仅可以掌握离散量的结构及相互间的关系,并且可以培养学生的逻辑推理、符号演算及总结概括的能力,为后续学习数据结构、数据库原理、操作系统、编译理论、人工智能、算法分析、信息安全等课程打下坚实的数学基础.
黄河科技学院作为河南省的三本院校,其定位为培养“应用性”本科人才,教学上要体现“应用性”,而现今离散数学的教学内容和教学方法还比较传统,与学院的教学定位不相符合.
一般离散数学的内容包括4个相对独立的模块,即数理逻辑、二元关系、代数系统、图论等,内容丰富、广泛,相对理论知识较为集中,学生理解起来有一定的难度,传统的离散数学教学注重定义的解释,定理的推导,手工演算的培训,缺乏用离散数学方法分析问题、解决问题的能力,这使学生普遍觉得离散数学理论性强,知识点多,不知学而何用.从而在学习这门课程时,丧失其学习的主动性、积极性,更不用谈其创造性.
本文从目前离散数学教学存在的问题入手,提出基于三本院校计算机专业的的离散数学课程教学改革,从教学目标、教学内容、教学方法等方面入手,增强学生的知识应用能力,从而提高学生的学习兴趣与学习效果.本项目从教学方法、计算机软件的合理利用方面展开:主要是离散数学基础教学内容如何与实际结合的问题,其实质是理论和实际的关系问题,这也是数学基础课独具特色之处.第二个是离散数学教学中辅助教学、计算工具使用的问题,这是计算机和网络技术普及后产生的新问题.
根据国家获奖项目《教育部计算机科学类专业面向21世纪教学计划与课程体系改革研究(编号:13-22)》(以下简称《改革研究》)的观点,本科计算科学专业教育存在两类基本的教学计划.a类教学计划的培养目标是培养计算科学学术人才与技术人才,着眼于学生未来成为主任工程师、总工程师、教授、学者和高级专业管理部门主管官员;b类教学计划的培养目标是培养职业技术熟练的软硬件生产、开发、经营、维护工程师,以及专业技术管理工程师.在教学方面,a类教学计划重在基础理论、基本技术、科学研究、专业技术研究与开发能力的培养;b类教学计划重在基础理论、基本技术、应用技术、实际应用与开发能力的培养.而对于一般的三本院校都是应用型大学,本科的计算科学专业应该属于b类.但是,通过调研发现,三本院校的教师在离散数学课程的讲授过程中还是按照一本院校数学专业的教学大纲,过于侧重理论性,没有实验课,也没有讲授和计算机专业的其他课程之间的联系.鉴于此,三本院校应该根据本校学生的实际情况,制定新的教学大纲,确定教学内容;根据离散数学课程特点,探索新的行之有效的教学方式,提高教学质量,使学生能够掌握离散数学的基本思想、概念和方法,为深入学习后续课程和其他计算机科学与技术理论课程打下坚实的基础;培养学生的抽象思维、逻辑推理和概括归纳能力.
一般的三本院校采用的是西安电子科技大学出版的方世昌编著的《离散数学》,内容包含数理逻辑、集合、二元关系、函数、无限集合、代数、格和布尔代数、图论等八章内容.在新的教学大纲的制定过程中,要考虑到三本院校的学生基础较差,接受理论知识比较慢等特点,可将教材上的内容作适当的删减和补充.将课时由52增加到56.
重点讲授内容放在数理逻辑、集合论和图论上面,将理论性较强的部分代数系统里面的内容做适当的删减,只讲代数结构的简单概念和群;格和代数系统中只讲布尔代数;无限集合完全删掉;图论中删掉运输与网络.
其中课时的分配为数理逻辑16学时,集合为4学时,二元关系为14学时,函数为2个学时,代数为2个学时,格与布尔代数为2个学时,图论为10个学时.最后加上实验课6个学时.
(1)在课堂教学中,我们从实际问题出发,精选具有充分代表性、源于实际问题的典型例题与案例,通过讲解这些从实践中抽取并经过精心改造和设计的例题和案例,让学生逐步掌握处理问题的方式方法,逐步建立起学生应该掌握的离散数学的理论知识框架.
(2)每周安排一次习题课,由指导教师集中解决学生课上课下遇到的问题.我们在选择习题时,一方面注重“三基”(基本理论、基本方法、基本技能)知识的掌握,另一方面也充分考虑知识的灵活应用,使学生能多角度、多方法地解决问题,既锻炼了他们的系统性思维,又提高了他们分析问题和解决问题的能力.
(3)撰写学期论文,加强能力培养.在课余时间,鼓励学生阅读各种文章,查阅资料,对感兴趣的课题,刻苦钻研,写出很多具有一定深度的论文,为以后进一步的研究和学习打下良好的基础.通过多种教学方法的灵活应用,既培养了学生的理论涵养,又锻炼了学生的计算能力,提高了学生解决实际问题的能力.
(1)基础理论与学科应用相结合.在离散数学课程的教学过程中,应该在讲解分析理论基础上结合学科应用,这无论从学科的本质特点,还是利于学生的学习掌握考虑,均是必须注意到的一点.为此,我们结合当今计算机技术的最新发展动态,适当增加《离散数学》在计算机科学中的应用的内容,如谓词逻辑在人工智能知识表示中的应用,代数系统中的域在网络安全密钥加密中的应用等.并且在课堂上还引入了近年来在国内刚刚兴起的,备受大学生关注和欢迎的大学生程序设计大赛以及数学建模竞赛中的经典题目分析与实际案例,使得算法理论的证明和演算能和大学生程序设计大赛、数学建模竞赛相结合,使学生能较好地理解和掌握各种离散结构和离散数学模型,更好地解决实际问题.
(2)采用启发式教学,激发学生创造性思维.通过研究,我们发现,离散数学的内容虽然“散”,但可以用一条主线贯穿始终,即是离散数学讨论的内容大多包含两个方面:研究一个系统中涉及到的静态(组成元素)与动态(运算、操作、推理),如集合论中是集合元素及其上的集合运算,数理逻辑中是逻辑公式与推理,代数结构中是集合与其上的运算两方面,而且,并将此与整个计算机学科的本质思想结合起来,如程序的运行(用变量即元素来表示的状态与状态的变换)等,这样地类比归纳有利于学生的理解理论和理清思路.
(3)教学中注重从讲授型向研究型的转变.为了建立教师授课-学生自学,以及教师-学生互动的教学模式,我们采用大讨论与研究相结合的形式,针对教学内容的难点和重点增加了专题讨论课,实行参与式教学.此外,作为课堂教学的延续,我们通过布置小课题供个人思考或分组讨论,并要求学生汇报过程和结果或提交论文,同时,教师应就过程及结果的合理性、正确性做出适当的评价和进一步的引导.另外,作为辅助性手段,可有的放矢地选择、编印一些有关论文的部分或全部供学生参考、学习,通过对论文细节、过程以及整体的分析研究,将作者的创造性思维浮现在具体的过程和结论上,增强学生的感性认识.
为了建立教师授课到学生自学,以及教师和学生互动的教学模式,作为课堂教学的延续,我们鼓励学生参加学校的每周末举办的数学建模培训班,在培训班上,我们采用大讨论与研究相结合的形式,通过布置小课题供个人思考或分组讨论,并要求学生汇报过程和结果或提交论文,同时,教师应就过程及结果的合理性、正确性做出适当的评价和进一步的引导.最终通过培训,鼓励学生参加今年9月份的全国大学生数学建模竞赛.
参考文献:
[1]洪凡.离散数学基础[M].武汉:华中科技大学出版社,2008.
[2]屈婉玲,耿素云,张立昂.离散数学[M].北京:清华大学出版社,2009.
[3]Rosen K H.Discrete mathematics and Its Applications[M].北京:机械工业出版社,2007.
[4]方世昌.离散数学[M].西安:西安电子大学出版社,2009.