数学素养成就程序精英

来源 :数学金刊·高中版 | 被引量 : 0次 | 上传用户:yufeng_09
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一个大学生将来的作为与他的数学修养有很大的关系。
  ——四川大学数学学院曹广福
  
  数学:必然考查的能力
  下面是一道世界第一大软件公司(微软)招聘程序员的测试题:
  中间只隔一个数字的两个素数被称为素数对,比如5和7,17和19,证明素数对之间的数字总能被6整除(假设这两个素数都大于6)。
  这样的试题还有很多很多,这些题目看上去都是一些数学问题。但是世界上一些著名的公司都把它们用于招聘测试,可见这些公司对新员工的数学基础非常重视。数学试题与应用程序试题是许多大型软件公司面试中指向性最明显的一类试题,这些试题就是考查应聘者的数学能力与计算机能力。
  某咨询公司的一名高级顾问曾说过,微软是一家电脑软件公司,当然要求其员工有一定的计算机和数学能力,面试中自然就会考查这类能力。微软的面试题目就考查了应聘人员对基础知识的掌握程度、对基础知识的应用能力,甚至暗含了对计算机基本原理的考查。所以,这样的面试题目的确很“毒辣”,足以筛选到合适的人。
  四川大学数学学院的曹广福教授曾说过:“一个大学生将来的作为与他的数学修养有很大的关系。”大学计算机专业毕业生都有感触,计算机专业课程中最难的几门课程莫过于离散数学、编译原理、数据结构。当然,像组合数学、密码学、计算机图形学等课程也令许多人学起来相当吃力,很多自认为数据库学得很好的学生在范式、函数依赖、传递依赖等数学性比较强的概念面前感到力不从心,这些都是数学基础不扎实或者说缺乏数学知识所造成的。
  数学是计算机的基础,这也是攻读计算机专业研究生的数学试卷都采用最难试卷的原因。当然这也能促使一些新的交叉学科如数学与应用软件、信息与计算科学专业等飞速发展。
  
  基础:敏锐严谨的数学思维
  程序设计当中解决的相当一部分问题都会涉及各种各样的科学计算,这需要程序员具有什么样的基础呢?面对实际问题,程序员往往需要建立完美的数学模型,只有这样,才能设计出良好的程序。算法与计算理论是计算机程序设计领域的灵魂所在,是发挥程序设计者严谨、敏锐思维的有效工具,任何程序设计语言都试图将之发挥得淋漓尽致。
  程序员需要一定的数学修养,不单是编程本身的需要,也是培养逻辑思维以及严谨的编程作风的需要。数学可以锻炼我们的思维能力,可以帮助我们解决现实中的问题,可以帮助我们更好地学习知识与分析问题。
  一名有过十多年开发经验的老程序员曾说过,所有程序的本质就是逻辑,尽管你已经较好地掌握了编程技术,但是只有提高了逻辑能力,你才能成为一名职业程序员。打一个比方吧,你会十八般武艺,刀枪棍棒都很精通,偏偏就是内力不够,所以永远都上不了战场。这个内力对程序员而言就是逻辑能力,其本质是一个人的数学修养,而不是简单的数学知识。
  
  磨炼:成就数学素养
  程序员的数学修养不是一朝一夕就可以培养出来的。数学修养与数学知识不一样,修养需要一个长期的过程,而知识的学习可能只是一段短暂的时间。
  下面是一些对于程序员如何提高与培养自己的数学修养的基本看法。
  首先,应该意识到数学修养的重要性。若想成为优秀的程序员,一定的数学修养是十分重要也是必要的。数学是自然科学的基础,计算机科学实际上是数学的一个分支。
  计算机理论其实是很多数学知识的融合,软件工程需要图论,密码学需要数论,软件测试需要组合数学,计算机程序的编制需要更多的数学知识,如集合论、排队论、离散数学、统计学,当然还有微积分。
  计算机科学一个最大的特征是信息与知识更新速度很快,随着数学知识与计算机理论的进一步结合,数据挖掘、模式识别、神经网络等分支科学得到了迅速发展,控制论、模糊数学、耗散理论、分形科学都促进了计算机软件理论、信息管理技术等的发展。
  严格的说,一个数学基础不扎实的程序员不能算一个合格的程序员,很多介绍计算机程序设计的书籍本身也就是数学知识的应用与计算机实践的手册。
  其次,自身数学知识的积累,培养自己的空间思维能力和逻辑判断能力。像泛函理论、混沌理论以及一些非线性数学问题不是三五几天就可以掌握的。数学修养的培养要求程序员有良好的数学学习能力,能够很快地把一些数学知识和自己正在解决的问题联系起来。
  很多理学大师虽然不是数学专业出身,但是他们对数学有敏锐的观察力和很强的理解力,于是一系列新的学科诞生了,如计算化学、计算生物学、生物信息学、化学信息学、计算物理学、计算材料学等等。
  从计算机的诞生来看,它就是在数学的基础上产生的,最简单的0、1进制就是一个古老的数学问题。学无止境,不断的学习是提高修养的必经之路。
  最后,多在实践中运用数学。有些高等学校开设了数学建模课程,这门课程把很多相关的学科与数学都联系在一起,通过很多数学模型来解决实际的生产生活问题,很多问题最终的解决需要计算机程序来实现。
  实际上,现在的程序设计从某些角度来看就是一个数学建模的过程,模型的好坏关系到系统的优劣成败,现在的数学建模思想已经用于计算机的许多相关学科中,不单是计算机程序设计与算法分析。应该知道,数学是一门需要在实践中展示其魅力的科学,而计算机程序也是为了帮助解决实际问题而编制的。因此,应该尽量使它们充分结合起来。在这个方面,计算机密码学是运用数学知识最深最广的,每一个好的加密算法后面都有一个数学理论的支持,如椭圆曲线、背包问题、素数理论等。
  
  总之,要想成为一名有潜力和发展前途的程序员,或者想成为程序员中的佼佼者,就一定要培养良好的数学修养。
其他文献
Measures and goals: China set on reducing dependence on coal, diversifying its energy mix and imporving energy use efficiency. Measures and goals: China set on
矮个子、黑脸庞、小眼睛的宋小宝如今已经成为大江南北最受欢迎的喜剧人物之一,从“丑小鸭”变成了“白天鹅”。了解他的人都会说:宋小宝能有今天,除了师傅赵本山的提携外,勤奋努力、坦诚做人、乐观向上是他取得成功的更重要原因。  我出生在吉林省辉南县楼街乡光明村一户普通农家,家中虽不富裕,但非常温馨。或许正是一家人其乐融融的生活,使我从小养成了乐观开朗、风趣幽默的性格。我整天总是乐呵呵的,尤其喜欢模仿别人好
狗在动物“邮递员”中,尤其值得一书的是“狗”。狗机警勇敢,忠实可靠,吃苦耐劳,很早就成为人类通信活动的得力助手。据记载,在春秋战国时代就有人用狗来递送情报。晋代写过
燕子姐姐: 你好!我是班上的班长,因为我胆小,老师就让我当班 长,锻炼我的胆量,可有些同学不理解,说一些难听的话。开 始我也没怎么在意,后来看见许多班的班长成绩都是 出类拔
按本次习作的要求,你们选择的场景肯定是熟悉的,或是你经历过 的。在写的时候,一是要按时间、空间的顺序去写。观察一处场景,融入 一处场景,记叙一处场景,总是要按照时间、空
传统的数学教学模式,老师上课教,课下批改作业;学生上课听,课下做作业。多少年来一贯制,教学改革的热门课题是如何改进课堂教学,如何培养学生的思维能力等,其实数学教学的改革应包括作业批改与设计的改革,因为批改作业与布置作业不但是教学环节的两个重要组成部分, 还是师生双方获得信息的重要窗口。精心设计,布置作业,认真批改,能使师生双方及时接受正确的信息,加快信息反馈的速度。为此笔者在批改作业与设计作业做了
在我们的眼中,露珠,雨点,雪……都是美丽的,用我们的眼睛去看世界,世界就是一幅美丽的童话……这一组小诗是江苏省海门市平山中心小学四(2)班同学写的,好美哟! In our eyes,
据统计,2OO1年美国宣布破产的国有公司有257家,总资产高达258O亿美元。而2002年,几乎每个月都会传来一个业界巨头轰然倒地的声音。安然( Enron)、世界电信 (Worldcom)、Global Crossing、Kmart、宝丽来、安达信、施乐、Qwest……这些可不是业绩平平的一般公司,而是被广泛认为不会倒闭的《财富》世界500强中的公司。对此,《财富》杂志不无感叹:“如果事态继续这
像一块黑土没有鲜花的点缀却播种着憧憬播种着希望与追求乌亮的身躯蕴藏着千种情怀四方的外形储蓄着万般心愿流淌着知识的甘甜生长着科学的果实折射着真理的阳光回响着文明的
本次习作为想像作文的训练,顾名思义,想像作文就要充分发挥自己的想像力。少年儿童是富于想像的,正如鲁迅先生所说:“孩子们是可以敬佩的。他们常常想到月亮上的境界,想到地