友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
小说一起看 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

计算机222-第5章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



2。 问题所要求编写的算法属于以下哪种类型?(建立数据结构;修改数据结构;遍历;查找;排序。。。)
3。 分析问题所要求编写的算法的数学性质。是否具备递归特征?(对于递归程序设计;只要设计出合理的参数表以及递归结束的条件;则基本上大功告成。)
4。 继续分析问题的数学本质。根据你以前的编程经验;设想一种可能是可行的解决办法;并证明这种解决办法的正确性。如果题目对算法有时空方面的要求;证明你的设想满足其要求。一般的;时间效率和空间效率难以兼得。有时必须通过建立辅助存储的方法来节省时间。
5。 通过一段时间的分析;你对解决这个问题已经有了自己的一些思路。或者说;你已经可以用自然语言把你的算法简单描述出来。继续验证其正确性;努力发现其中的错误并找出解决办法。在必要的时候(发现了无法解决的矛盾);推翻自己的思路;从头开始构思。
6。 确认你的思路可行以后;开始编写程序。在编写代码的过程中;尽可能把各种问题考虑得详细;周密。程序应该具有良好的结构;并且在关键的地方配有注释。
7。 举一个例子;然后在纸上用笔执行你的程序;进一步验证其正确性。当遇到与你的设想不符的情况时;分析问题产生的原因是编程方面的问题还是算法思想本身有问题。
8。 如果程序通过了上述正确性验证;那么在将其进一步优化或简化。
9。 撰写思路分析;注释。
  对于具体的算法思路;只能靠你自己通过自己的知识和经验来加以获得;没有什么特定的规律(否则程序员全部可以下岗了;用机器自动生成代码就可以了)。要有丰富的想象力;就是说当一条路走不通时;不要钻牛角尖;要敢于推翻自己的想法。我也只不过是初学者;说出上面的一些经验;仅供大家参考和讨论。
  关于人工智能,我觉得的也是非常值得大家仔细研究的,虽然不能算是刚刚兴起的学科了,但是绝对是非常有发展前途的一门学科。我国人工智能创始人之一,北京科技大学涂序彦教授(这老先生是我的导师李小坚博士的导师)对人工智能这样定义:人工智能是模仿、延伸和扩展人与自然的智能的技术科学。在美国人工智能官方教育网站上对人工智能作了如下定义:Artificial Intelligence; or AI for short; is a bination of puter science; physiology; and philosophy。 AI is a broad topic; consisting of different fields; from machine vision to expert systems。 The element that the fields of AI have in mon is the creation of machines that can 〃think〃。
  这门学科研究的问题大概说有:
(1)符号主义: 符号计算与程序设计基础,知识表达方法 :知识与思维,产生式规则,语意网络,一阶谓词逻辑问题求解方法:搜索策略,启发式搜寻,搜寻算法,问题规约方法,谓词演算:归结原理,归结过程专家系统:建立专家系统的方法及工具
(2)联接主义(神经网络学派):1988年美国权威机构指出:数据库,网络发展呈直线上升,神经网络可能是解决人工智能的唯一途径。关于神经网络学派,现在很多还是在发展阶段。
  我想对于人工智能的学习,大家一定不要像学数学似的及一些现成的结论,要学会分析问题,最好能利用程序设计实现,这里推荐给大家ACM最佳博士论文奖获得者涂晓媛博士的著作《人工鱼…计算机动画的人工生命方法》(清华大学出版社)。搞人工生命的同学不会不知道国际知名的涂氏父女吧。关于人工智能的书当然首选《Artificial Intelligence A New Synthesis》Nils J。Nilsson。鼻祖嘛!
  关于网络安全我也想在这里说两句,随着计算机技术的发展,整个社会的信息化水平突飞猛进,计算机网络技术日新月异,网络成了当即社会各个工作领域不可缺少的组成部分,只要有网络存在,网络安全问题就是一个必须解决好的问题,学习网络安全不是简简单单的收集一些黑客工具黑一黑别人的网站,而是要学习他的数学原理,实现原理,搞清底层工作机制,这样才能解决大部分的现有问题和新出现的安全问题。总的来说信息安全学的研究还是非常深奥的,这方面体会比较深的要算是在最近的微软杯程序设计大赛中利用平台开发的那个项目My E…business Fairy过程中了。
  '3'闲聊软件工程
  关于计算机科学的一些边缘科学我想谈一谈软件工程技术,对于一个企业,推出软件是不是就是几个程序员坐在一起,你写一段程序,我写一段程序呢?显然不是。软件工程是典型的计算机科学和数学,管理科学,心理学,社会学等学科的综合。它使我们这些搞理论和技术的人进入了一个社会。你所要考虑的不仅仅是程序的优劣,更应该考虑程序与软件的区别,软件与软件产品的区别,软件软件产品的市场前景,如何去更好的与人交流。这方面我还在学习阶段,以后这方面再写文章吧,先推荐给大家几本书:畅销20年不衰的《人月神话》(清华大学中文版,中国电力出版社影印版),《软件工程…实践者研究的方法》(机械工业出版社译本),《人件》(据说每一位微软公司的部门经理都读过这本书,推荐老总们和想当老总的同学都看看,了解一下什么是软件企业中的人)以及微软公司的《软件开发的科学与艺术》和《软件企业的管理与文化》(研究软件企业的制胜之道当然要研究微软的成功经验了!)看完上面的书,结合自己做的一些团队项目,我的一些比较深的体会有这么几点:
1.How important a plan is for a project development。
2.How to municate with your team members in a more effective way。
3.How to solve unexpected situations。
4.The importance of unification。
5.The importance of doing what you should do。
6.The importance of designing before programming。
7.The importance of management。
8.The importance of thinking what your teammates think。
在软件开发过程中我们应当具有以下能力:
1。Like it if you would like to do it。
We believe that your attitude toward your work will definitely makes great effect on the project。
2。The spirit of group working。
Take myself as an example。 I am just a part of the team; just a little part。 You must make it clear that you are just a member of the team; but your effort will change your project a lot。
3。Passion
With passion; you can do your job in a more effective way。
4。The ability of solving unexpected problems。
5。Learning New things in a very short time
It is the basic requirement for we puter major to learn new technology。
6。Creativity
The tools are changing。 As for us; what's more important is to use these new tools and technology to enable people and businesses throughout the world to realize their full potential。
7。The ability to do your work independently。
Every member has his own business。 In a team; your work cannot be replaced by others' so you must do your business well in order to assure the project development process。
团队开发当中的一些具体精神应当有:
 Success and Failure is not one person's effect。
Your team's success is not the contribution of a single person。 Success contributes to the whole team。 If your project failed; it also is not just because of one person's poor work。 It is also your failure。
 Learn from each other。
Every person has his own specialty。 Even Bill Gates cannot know all the things about software development。 We often learn from each other and gains a lot。 The old saying goes like this:
There must be one out of three who can be your teacher。 In our team we say: Every person is your teacher。
 Help those who have problems。 Use
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!