写给学计算机的你Word文件下载.docx

上传人:b****2 文档编号:15062746 上传时间:2022-10-27 格式:DOCX 页数:6 大小:23.39KB
下载 相关 举报
写给学计算机的你Word文件下载.docx_第1页
第1页 / 共6页
写给学计算机的你Word文件下载.docx_第2页
第2页 / 共6页
写给学计算机的你Word文件下载.docx_第3页
第3页 / 共6页
写给学计算机的你Word文件下载.docx_第4页
第4页 / 共6页
写给学计算机的你Word文件下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

写给学计算机的你Word文件下载.docx

《写给学计算机的你Word文件下载.docx》由会员分享,可在线阅读,更多相关《写给学计算机的你Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。

写给学计算机的你Word文件下载.docx

我建议他们去找本书,不要从头到尾再读一遍,读书也不是学习。

要坐在计算机前,便读边做,编程序,设计算法和数据结构。

写几千行几万行程序。

有几个学生真的听进去了,照着我说的作了。

半年后,我把微软的人请来面试我们的学生。

他搞了个突然袭击,发卷考大家,考算法,数据结构,C++。

考完了他很惊讶,说你们有些学生真不错,北大清华的都很少考的这么好。

他挑了三个到微软亚洲工程院做实习生参与微软核心产品的开发。

要知道,这三个学生还仅仅是大三的!

这个故事告诉我们,学软件,一定要在做中学,动手做了,才能学会,才能理解,理解了才能应用。

再讲个我自己的故事。

我在美国读书时,选了一门课叫自动机与编译原理,讲的是如何把计算机源代码自动变成计算机可以执行的机器代码。

这是门两个半月的课,除了要学理论,还要做个很大的项目,是用C语言实现一个完整Pascal语言的编译器。

这两个多月的时间里,我平均每天在实验室里编程序四个小时,最长的一次在实验室连续编程二十多个小时没睡觉。

成功地完成了几万行的程序。

不仅真正学到了自动机和编译的理论,而且,学成了一个很熟练的C程序员。

为我后来进入微软成为一个成功软件设计工程师打下了很好的基础,因为,我在做这个项目中,真正学会了编程设计。

这就是做中学。

我们学软件的,就是要大量的编程,老师留的编程的作业,一定要做好,不要抄别人的,抄你学不会。

要自己做,有时间,还要多做,比老师要求的还多,因为我们现在有些老师,我们现在有些课程,还是太偏理论,动手太少。

要自己想方设法多做。

多做的另一种方式是参与校内校外实际软件项目的开发。

参加实际项目的好处是能学到很有价值的经验。

去年我们开了一门软件工程创新课程,用一个真实的项目带动教学。

这个项目是湘潭钢铁公司的设备监控管理。

我们有学生到公司实地了解软件需求,他们埋怨说,用户对软件的要求总是不停地变,使得项目变得很困难。

我对他们说,哈,这就对了!

你们已经学到了需求总是在变这样一个非常重要的软件工程概念。

软件需求变化这一概念在软件工程历史中很长时间不能为人理解。

人们都在追求固定需求的方法。

其实,那是不对的。

我学软件多少年,到了微软后,才真正理解了这个需求一定会变的概念,理解了软件工程应适应这种需求变化,而不是一味地限制这种变化。

这是软件工程当前发展的一个趋势。

这个故事说明,学生通过实践,真正学会了,并理解了这个现在很多人仍不能理解的概念。

所以,大家有时间的话应找机会做实际项目,自己组织起来找项目也可以,做老师的项目也可以。

也许你还能钻点小钱,有点收入,这很好。

但这是第二位的,第一位的是学习,是积累经验。

如果有两个项目让你选,一个你赚不到钱或只能赚500块钱,但能学到很多东西;

一个你能赚5000块钱,但学不到太多东西;

你选哪个?

我会选第一个,去学东西,而不是选第二个,去赚钱。

大家一定听说过这句话:

人一生中能做得最好的投资就是投资到你自己,就是学习,就是教育。

切记切记!

但是你会说,凌老师,你让我们多做,多编程,还要做课外的项目,可我们有很多课要上,要考很多试,没有时间呀?

好,我就讲讲考试与学习。

这也是你要做的一个选择。

你的选择:

是铁杵磨成针,还是急功近利

8月13日,NBA巨星中锋奥尼尔,姚明崇拜的榜样,来华访问。

有记者问道奥尼尔对“将之道”有何理解时,奥尼尔表示一个球员要在球场上成为领袖,必须要有精湛的个人技术,在困难的时刻带领全队取胜。

而这个技术则是由不断的刻苦训练才能锻炼出来。

他还说:

一切都从基本功开始,而不是一味的去追求视觉上的花哨。

我们现在美国队的球员上场就会胯下运球其他花哨的动作。

真的要想拿到冠军,需要一切从基本功去练习,只有把基本功练好了,你才有希望。

学习软件是一样的。

要想成为一名优秀的软件人才,一定要刻苦训练基本功,在困难的时刻以精湛的软件技术克服困难取胜。

例如,新产品急需的新技术,你能不能发明出来?

一个新产品因一两个严重的bugs不能上市,你能不能尽快地修复它。

这些都需要精湛的技术和经验。

我在微软开发工具部门(VisualStudio)工作时,曾参与一个新产品的研发。

我们需要一个图形学新算法,微软没有。

我们试图从外面购买这项技术,谈来谈去,花一百万美元只能买到一个执行程序而没有源代码。

这对软件整合很不利。

于是我自告奋勇,承担了这个算法的研发。

我用在学校学到的算法,数据结构,数学等基础知识,成功地发明了一个新算法。

此后,这个算法用在多个微软的产品中,包括VisualStudio,SQL,Access,VisualInterDev,等等。

我也因此获得了我的第一个美国技术专利。

但是,我们现在有不少学生过于浮躁,不愿吃苦,不愿意练基本功,总想找捷径,太过于急功近利。

这也许是受到当前我们社会中的浮躁风气的影响。

例如,曾经有学生问我,说他不喜欢编程序,太累,说他想做架构师,或软件技术管理,他问我,怎么学才能达到这个目的。

我说,你想成为成功的架构师或技术管理人才的机会太小了。

我告诉他,我在微软工作了十三年,见到的架构师和技术开发经理都是,过曾经是优秀的程序员,包括比尔盖兹。

因此,铁杵磨成针,学好基本功,真的是你未来成功事业的基础。

什么是基本功呢?

数学是内功!

离散数学教你计算机的方式思维。

是计算机逻辑和算法的基础。

高等代数不仅是很好的数学训练,也是程序和算法分析的工具。

概率论和数理统计在互联网时代尤其重要,被大量应用于数据挖掘。

微积分是离散世界与连续世界的桥梁,教你抽象思维,也是数值分析的基础。

数据结构,算法和程序设计是程序员的看家本领,像篮球里的运球和投篮,学不好,怎么得分?

中国的软件业因商业应用的发展,正面临着极大的挑战和机遇,例如,中国的无线通信已走在世界前沿,照抄照搬已不够用了,急需创新软件技术,包括算法和系统。

计算机/网络体系结构和操作系统教你计算机的基本工作原理。

理解它,能帮助你理解软件内部的工作原理,使你从肤浅的皮毛走到深层,使你能写出架构合理,性能优越的软件,使你能成为调试和编写程序的高手。

英语的重要性不用我说了,是你又一只眼睛,又一张嘴,使你能与外界沟通。

能进微软中国工作的人,几乎所有的人都会有机会去微软美国总部培训和工作,那里没人跟你讲中文。

但是,这么多东西,又要动手做,实践,怎么都学精学好哪?

我的建议是,有目的地学。

用你目的来确定你的重点,来驱动你的学习。

这是你的又一个选择。

是有的放矢,还是随波逐流

我们中大部分学生从小到大多是由父母老师手把手走过来的,不懂得规划自己的人生,走一步看一步,跟着别人随波逐流。

可你现在长大了,有了选择的自由,选择的力量。

你可以,也应该想一想你将来到底要做什么,干什么职业。

你最好在大二结束前想清楚,这样你在大三大四选课,实践,学习时就有了明确的重点。

这个选择取决于你的兴趣爱好,取决于你的特长,也取决于职场对人才的需求。

当你明确了你的职业目标,你的学习就有了重点,有了方向。

你就有了更好的动力。

曾有学生对我说,情况是变的,目标是虚的,定了目标也没用。

我说,目标定得要明确,实在;

情况变了就要调整目标。

我说,最坏的目标就是没有目标,就是守株待兔,就是瞎猫碰死老鼠。

久而久之,你有可能变成混混,混日子了,变得最后无颜见江东父老!

你要想清楚的一个大方向是将来做研究还是做产品。

做研究是发明未来可用的新概念新方法新系统。

这要求创新能力,冒险精神,要能承受失败,要深得理论功底。

也要求动手能力,因为只有真正动手实现了才能证明你的发明。

只写些没用的文章最愚蠢。

如果你要走这条路,你就要学习好这些基础和素质。

要找到好导师(包括国外的),读博士。

因为研究机关大多要求博士学位。

但是我要警告你,软件业做基础研究的公司并不多,你将来就业的选择是有限的。

如果你计划将来做产品研发,如果你在大学基础学好了,其实,你不需要读博士硕士。

我在美国看得的大多数优秀的程序员都只有学士学位。

我在微软中国研究院招收的第一个工程师就只有学士学位,但他基础学得很好,又努力,做得很不错,现在是一家公司的副总。

现在我来说说你的职业选择,和你的基础学习的重点。

现在软件工业需要最多的是程序员,项目经理,测试工程师,和可用性设计师。

如果你喜欢写程序,程序员是个很好的职业选择,容易找到工作,又有很好的职业发展前景,例如,将来做架构师,技术管理,等等。

除了学好基础外,你的看家本领就是算法,数据结构,和程序设计。

你一定要比别人学得好,学得精。

记住,你一定要做中学,写上几万行的程序,并把它搞懂。

你还要学会团队合作,学会与各种各样的人有效工作。

如果你喜欢与人打交道,有人际交流和管理的天分和愿望,你或许适合做项目经理。

项目经理通常定义一个产品,设计产品的用户界面。

这需要你对用户有充分的理解,也要求你有一定的技术功底。

项目经理还要管理控制软件开发的全过程。

这要求你协调各开发组的工作,解决纠纷,解决开发过程中的问题,以保证你的软件按要求按时完成。

对项目经理的最主要的要求包括,对用户的理解能力,界面的设计能力,对市场的理解能力,人际交流能力,能说会写,管理能力,对系统和技术有相当的了解。

项目经理通常不写程序。

我在微软工作时,合格的项目经理很难找到,有很大的供求缺口。

你要是学好了,应能找到很好的工作。

坦率地说,我们现在的课程设置不太能培养出好的项目经理。

你多半只能自己努力,除了学好基础,要多做社会工作,组织社团,多做义工,多练说写,多了解软件市场,学会从用户的角度分析,设计软件,等等。

测试工程师是中国当前供求缺口最大的软件工作之一。

有好的就业前景。

微软的测试工程师大多要写程序。

他们是写测试程序来自动测试软件产品。

也要求有相当好的编程能力。

这也要求你学好算法,数据结构和程序设计。

当然,学好软件测试课程是必要的。

我还是要强调,一定要做中学,只听课是没用的。

找一些市场上的软件,用你学到的测试方法理论去测测。

如果你努力,你十有八九能找到bugs,把你发现的bugs报告给软件厂家,把厂家的反馈保存起来。

这都是你的经验和成果,对你将来申请工作会有帮助。

当前软件业的另一个人才缺口是用户界面的可用性设计师。

我听说一些在美国和中国的公司为找不到这样的人材而苦恼。

美国的一些大学为适应需求增加和加强这方面的课程。

可用性设计师是从用户的角度,把用户界面设计得易用,易学,易懂。

这对互联网应用是极为重要的。

可用性设计师不仅涉及到软件技术,还涉及到艺术设计,对用户行为人机交互的理解,等等,是个跨专业行当。

如果你不仅对软件有兴趣,而且对用户行为,对人机交互,对艺术设计感兴趣;

希望对用户使用软件的行为有直接的影响,这对你是个很好的职业。

现在我讲讲创业。

不少学生跟我说将来想创业。

这不是坏事。

但是,创业要求的是与工程师很不同的技术,知识,和技能。

商业头脑,对市场的了解,对用户对你的员工对投资人的责任,领导能力,人际关系,沟通能力,即要能低三下四有要能保持自信自尊,等素质和软技能,常常比技术来得重要。

中国,美国每天都有无数的软件公司倒闭,又有无数的软件公司成立。

美国有个统计数据,在倒闭的公司中,因技术原因失败的只沾不到10%

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1