下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机教育中数学素养锻炼 一、前言 数学在人类文明的发展历史中发挥着重要的作用,推动了重大的科学技术进步。尤其是到了二十世纪中叶以后,数学的理论研究与实际应用之间的时间差已大大缩短。当前,随着计算机应用的普及,信息的数字化和信息通道的大规模联网,依据数学所作的创造设想已经达到可即时试验、即时实施的地步。数学技术一直是一种应用最广泛、最直接、最及时、最富创造力的实用技术。数学为计算机的发明和发展壮大提供了坚实的理论基础。早在1936年,英国数学家图灵(Turing)发表了对计算机具有奠基意义的论文论可计算数及其在判定问题上的应用,里面提出了计算的图灵机模型,该模型即为现代计算机模型的原型。为纪念
2、数学家图灵,美国计算机学会于1966年设立了计算机界最负盛名的“图灵”奖,以表彰那些对计算机事业做出重要贡献的个人。数学是所有工科的基础,其中离散数学已经成为计算机科学发展的理论基础。图灵奖的获得者中有不少是学数学或者数学家出身。1974年获奖的DonaldE.Knuth被称为现代计算机之父,之前在加州理工获得数学博士学位,著有经典著作计算机程序设计艺术4卷。RichardM.Karp于1985年获奖,之前在哈佛大学获应用数学博士学位。1986获奖的RobertE.Tarjan在斯坦福大学同时获得数学和计算机的博士学位,主要研究图论、算法和数据结构。当前计算机理论及应用的壮大和发展更是离不开近
3、代数学的发展,将计算机与数学的发展分割开来既不合理也不现实,和所有学科一样,计算机领域也有自己的问题,比如什么是可计算的,什么是实际可计算的,这些计算模型本质上是数学的应用。离散结构上的算法研究无疑是计算机科学中的重要领域,研究算法需有扎实的数学功底,就机器学习领域的研究而言,通常要对所处理的数据建立不同的数学模型如分类模型、回归模型和排序模型。一般地,先针对这些问题建立特定的模型,然后采用有效的优化算法来求解这些模型。应用数学如矩阵论、多元统计分析和最优化理论可以为深入地研究机器学习领域提供理论基础。在实际的工作中,会经常看到数学基础好、具有一定数学素养的人解决问题会游刃有余且后劲足,学习新
4、事物和新东西会比较快,会表现出一定的创造性。但是当前大学的课程安排普遍存在对学生的数学学习的掌握程度不是很重视,导致学生对数学课的态度停留在学习时仅了解,一学完就全忘,到用时就迷惑的一知半解状态。教师在教授专业课和专业基础课的过程中,没有引导学生深入地发掘理论背后的数学本质,导致学生对计算机科学理论的理解只能停留在表面,凭机械性记忆而没有彻底理解。鉴于上述数学在计算机的发明发展和实际工作中的重要作用,因此,在计算机教育的过程中,迫切地需要培养学生的数学素养以满足现实工作和学习中解决实际问题的需要。 二、数学素养的培养 算法设计与分析是计算机专业的一门重要的专业课,有利于培养学生分析问题和解决问
5、题的能力,为学生学习后续课程打下坚实的基础。下面结合这门课程来谈谈在计算机课程中如何提高学生的数学素养。 (一)结合算法的发明史来讲解算法 深入学习计算机科学需要有良好的数学基础,对于算法的学习更是如此。研究算法的图灵奖获得者中有很多是数学家或者学数学出身,如图论中有很多算法是以前面提到的RobertE.Tarjan的名字命名的,著名的Dijkstra最短路径算法由EdsgerW.Dijkstra发明,而他2000年退休前一直是美国Taxas大学的计算机科学和数学教授。前面提到的DonaldE.Knuth则是字符串匹配算法KMP算法的发明人。给学生讲解算法的发明历史一方面帮助学生了解发明算法的
6、背景和发明过程,激发学生的创新欲望;另一方面让学生认识到数学的重要性和其在该课程所涉及的领域中发挥的重要作用。 (二)结合学生所掌握的数学知识来讲解算法 修读该门课程的对象一般为大学高年级学生,他们之前应该修过其他的数学课程,如高等数学(数学分析)、线性代数和离散数学。通常教师在讲授该课程的过程中会认识到离散数学在其中发挥的作用,会有意识地提及离散数学的知识,但实际上学生学习的高等数学或线性代数的知识对理解该门课程也是有帮助的。下面通过一个例子来说明数学知识对理解算法正确性的重要作用。设计完算法如何证明算法的正确性呢?对于顺序结构和选择结构比较好验证,而对于循环结构就使用循环不变量(LoopI
7、nvariant)来证明。而循环不变量的证明实际上借鉴了数学归纳法的思想:循环发生前某个循环不变量为真,循环进行的过程中保持为真,那么循环结束时,该循环不变量仍然为真。因此可以断定:无论循环体循环多少次,该循环不变量总为真。其他的例子,包括:比较算法的时间复杂度时可以引入高等数学中的无穷小量来讲解;计算时间复杂度也会涉及到利用无穷级数的估计等等。 (三)结合数学工具来可视化算法 理论的发明通常是从简单直观的例子中归纳得来的,数学工具可以帮助我们理解和可视化算法。图1使用Matlab工具语言直观地给出了几种常用的时间复杂度的比较,便于学生理解不同的复杂度随着问题规模增长的快慢。学生从该图中可以很
8、容易地得出:在这几种复杂度函数中,指数复杂度增长最快,而对数复杂度增长最慢。 (四)结合数学抽象思维来帮助学生理解算法 数学的抽象思维可以帮助学生站在更高的角度来看待问题和算法之间的联系。算法通常是针对某一类问题的,而如何对问题进行归类,如何选择合适的算法解决是值得学生去探究的问题。讲解算法时,应该帮助学生抽象出问题的本质,同时注意算法之间的联系与区别。计算点对之间的距离是算法设计中一个经典问题,如果源点单一,可采用Dijkstra最短路径算法,而计算图中任意点之间的最短路径,使用Floyd-Warshall最短路径算法会合适一些,但是如果图上的权重存在负值,那就要用带松弛操作的Bellman-Ford算法求解。了解了这些知识后,学生在把问题抽象成特定的算法模型时,就可以正确地使用合适的算法了。其他问题包括使用矩阵胚理论来证明贪心算法的正确性以及灵活应用动态规划来求解离散结构上的最优化问题等等。 三、总结 数学在计算机的发展和应用中的重要作用表明了数学素养的培养在计算机教育中的重要性。通过算法设计与分析课程的例子,第二节给出了4种方法阐述了如何在教学中培养学生的数学素养。然而,方法的最终目标是通过数学这个工具培养学生的自学能力,如同著名的教育家陶行知指出的那样:“我以为好的先生不是教书,不是教学生,而是教学生学”。因此,通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度公务员(国考)题库试题附答案详解(轻巧夺冠)
- 2024-2025学年度执法资格考试彩蛋押题附参考答案详解AB卷
- 骨科患者心理护理查房
- 压疮护理的职业发展
- 客户关系管理(CRM)平台
- 2024-2025学年度冶金工业技能鉴定考试彩蛋押题附参考答案详解【培优】
- 2024-2025学年度医师定期考核考前冲刺练习题及参考答案详解(巩固)
- 2024-2025学年医疗卫生系统人员考前冲刺练习试题含答案详解【满分必刷】
- 2024-2025学年度电梯考试每日一练试卷附参考答案详解(研优卷)
- 2024-2025学年度电工考前冲刺练习试题含答案详解【满分必刷】
- 2026年叉车电池回收服务合同
- 2025年卫生间整体装修合同协议
- 2025年广州医科大学辅导员考试真题
- 大脑前动脉梗死课件
- 部编版五年级语文教学计划与课程指导
- 2025年川大工商管理面试题库及答案
- 《金融数字化营销》-课件 第3章 数字化时代的消费者购买行为
- 失眠药物课件
- 2025年专升本学前教育模拟冲刺试卷及答案
- 加速康复妇科围手术期护理 中国专家共识
- 2025年虚拟电厂合作合同协议
评论
0/150
提交评论