计算机的学习心得

时间:2024-02-11 13:57:39 心得体会 我要投稿

计算机的学习心得

  在平日里,心中难免会有一些新的想法,可用写心得体会的方式将其记录下来,如此可以一直更新迭代自己的想法。那么心得体会到底应该怎么写呢?下面是小编整理的计算机的学习心得,仅供参考,欢迎大家阅读。

计算机的学习心得

计算机的学习心得1

  计算机系统结构该怎么教,国际上还在争论。国内能找到的较好教材为Stallings的"Computer Organization and Architectureesigning for Performance"(清华影印

  本)。国际上最流行的则是“Computer architecture: aquantitative approach" by Patterson & Hennessy。

  操作系统可以随便选用《操作系统的内核设计与实现》和《现代操作系统》两书之一。这两部都可以算经典,唯一缺点就是理论上不够严格。不过这领域属于Hardcore System所以在理论上马虎一点也情有可原。想看理论方面的就推荐清华大学出版社《操作系统》吧,高教司司长张尧学写的,我们教材用的是那本。 另外推荐一本《Windows操作系统原理》机械工业出版社的,这本书是我国操作系统专家在微软零距离考察半年,写作历时一年多写成的,教操作系统的专家除了清华大学的张尧学(现高教司司长)几乎所有人都参加了。Bill Gates亲自写序。里面不但结合windows200p详述操作系统的内核,而且后

  面讲了一些windows编程基础,有外版书的味道,而且上面一些内容可以说在国内外只有那本书才有对windows内核细致入微的介绍,如果先把形式语言学好了,则编译原理中的前端我看只要学四个算法:最容易实现的递归下降;最好的自顶向下算法LL(k);最好的自底向上算法LR(k);LR(1)的简化SLR(也许还有另一简化LALR)。后端完全属于工程性质,自然又是another story。

  推荐教材:Kenneth C.Louden写的“Compiler Construction Principles and Practice”即是《编译原理及实践》(机械工业出版社的译本)

  学数据库要提醒大家的是,会用VFP,VB Power builder不等于懂数据库。(这世界上自以为懂数据库的人太多了!)数据库设计既是科学又是艺术,数据库实现则是典型的工程。所以从某种意义上讲,数据库是最典型的一门计算机课程——理工结合,互相渗透。另外推荐大家学完软件工程学后再翻过来看看数据库技术,又会是一番新感觉。推荐教材:Abraham Silberschatz等著的 "Database System Concepts".作为知识的完整性,还推荐大家看一看机械工业出版社的《数据仓库》译本。

  计算机网络的标准教材还是来自Tanenbaum的《Computer Networks》(清华大学有译本)。还有就是推荐谢希仁的`《计算机网络教程》(人民邮电出版社)问题讲得比较清楚,参考文献也比较权威。不过,网络也属于Hardcore System,所以光看书是不够的。建议多读RFC,里可以按编号下载RFC文档。从IP的读起。等到能掌握10种左右常用协议,就没有几个人敢小看你了。再做的工作我看放在网络设计上就比较好了。

  数据结构的重要性就不言而喻了,学完数据结构你会对你的编程思想进行一番革命性的洗礼,会对如何建立一个合理高效的算法有一个清楚的认识。对于算法的建立我想大家应当注意以下几点:

  当遇到一个算法问题时首先要知道自己以前有没有处理过这种问题.如果见过那么你一般会顺利地做出来如果没见过那么考虑以下问题:

  1. 问题是否是建立在某种已知的熟悉的数据结构(例如二叉树)上如果不是则要自己设计数据结构。

  2. 问题所要求编写的算法属于以下哪种类型(建立数据结构修改数据结构遍历查找排序.)

  3. 分析问题所要求编写的算法的数学性质.是否具备递归特征(对于递归程序设计只要设计出合理的参数表以及递归结束的条件则基本上大功告成.)

  4. 继续分析问题的数学本质.根据你以前的编程经验设想一种可能是可行的解决办法并证明这种解决办法的正确性.如果题目对算法有时空方面的要求证明你的设想满足其要求.一般的时间效率和空间效率难以兼得.有时必须通过建立辅助存储的方法来节省时间.

  5. 通过一段时间的分析你对解决这个问题已经有了自己的一些思路.或者说你已经可以用自然语言把你的算法简单描述出来.继续验证其正确性努力发现其中的错误并找出解决办法.在必要的时候(发现了无法解决的矛盾)推翻自己的思路从头开始构思.

  6. 确认你的思路可行以后开始编写程序.在编写代码的过程中尽可能把各种问题考虑得详细周密.程序应该具有良好的结构并且在关键的地方配有注释.

  7. 举一个例子然后在纸上用笔执行你的程序进一步验证其正确性.当遇到与你的设想不符的情况时分析问题产生的原因是编程方面的问题还是算法思想本身有问题.

  8. 如果程序通过了上述正确性验证那么在将其进一步优化或简化。

  9. 撰写思路分析注释.

  对于具体的算法思路只能靠你自己通过自己的知识和经验来加以获得没有什么特定的规律(否则程序员全部可以下岗了用机器自动生成代码就可以了).要有丰富的想象力就是说当一条路走不通时不要钻牛角尖要敢于推翻自己的想法.我也只不过是初学者说出上面的一些经验仅供大家参考和讨论。

计算机的学习心得2

  关于计算机科学的一些边缘科学我想谈一谈软件工程技术,对于一个企业,推出软件是不是就是几个程序员坐在一起,你写一段程序,我写一段程序呢?显然不是。软件工程是典型的计算机科学和数学,管理科学,心理学,社会学等学科的综合。它使我们这些搞理论和技术的人进入了一个社会。你所要考虑的不仅仅是程序的优劣,更应该考虑程序与软件的区别,软件与软件产品的区别,软件软件产品的市场前景,如何去更好的与人交流。这方面我还在学习阶段,以后这方面再写文章吧,先推荐给大家几本书:畅销20xx年不衰的《人月神话》(清华大学中文版,中国电力出版社影印版),《软件工程-实践者研究的方法》(机械工业出版社译本),《人件》(据说每一位微软公司的部门经理都读过这本书,推荐老总们和想当老总的同学都看看,了解一下什么是软件企业中的人)以及微软公司的《软件开发的科学与艺术》和《软件企业的管理与文化》(研究软件企业的制胜之道当然要研究微软的成功经验了!)

  关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认为自己掌握的某门技术就已经是天下无敌手了,虽然现在JavaVBCC++用的都很多,怎能保证没有被淘汰的一天,我想NET平台的诞生和X#语言的初见端倪完全可以说明问题。换言之,在我们掌握一门新技术的同时就又有更新的技术产生,身为当代的大学生应当有紧跟科学发展的素质。举个例子,就像有些同学总说,我做网页设计就喜欢直接写html,不愿意用什么FrontpageDreamweaver。能用语言写网页固然很好,但有高效的手段你为什么不使呢?仅仅是为了显示自己的水平高,unique 我看真正水平高的是能够以最快的速度接受新事物的人。高级程序设计语言的发展日新月异,今后的程序设计就像人们

  在说话一样,我想大家从xml中应是有所体会了。难道我们真就写个什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。反过来说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。

  计算机技术牵扯的内容更为广泛些,一项一项说恐怕没个一年半载也说不清。我只想提醒大家的还是那句话,技术与科学是不能分家的,学好了科学同时搞技术,这才是上上策。犹如英语,原先人们与老外交流必须要个翻译,现在满马路的.人都会说英语。就连21世纪英语演讲比赛的冠军都轮不到英语系的学生了。计算机也是一样的,我们必须面对的一个现实就是:计算机真就只是一个工具,如果不具备其它方面的素养,计算机系的学生虽然不能说找不到工作,不过总有一天当其他专业性人才掌握了计算机技术后将比我们出色许多。原因就在于计算机解决的大都是实际问题,实际问题的知识却是我们少有的。单一的计算机技术没有立足之地。

  我想是时候指出:学习每一个课程之前,都要先搞清这一课程的学习目的。这一学科的应用领域。据我自身所了解到的同龄同学和低年级的同学的学习状况:他们之中很少有人知道学一个学科的学习目的,期末考试结束了也不知道学这科做什么用。这就失去了读计算机科学的意义。当然这与现存的教育思想不能说一点关系都没有。

  总的来说,从教育角度来讲,国内高校的课程安排不是很合理,强调理论,又不愿意在理论上深入教育,无力接受新技术,想避开新技术又无法避得一干二净。我觉得关键问题就是国内的高校难于突破现状,条条框框限制着怎么求发展。我们虽然认识得到国外教育的优越性,但为什么迟迟不能采取行动?哪怕是去粗取精的取那么一点点。我们需要改变。从我们自身角度来讲,多数人4年下来既没有学习计算机科学的学术水平,也没有学习计算机技术的那种韧劲。在我刚上大一时,我的计算机科学入门导师,淮北煤炭师范学院王爱平教授曾经对我说过这样一番话:“当你选择了计算机这一门科学,就意味着你踏上了一条不归路,就意味着你一生都要为之奋斗……你的身后是悬崖,只有向前走,不能往后退。”

  有些同学说按照这样学习学的东西太多,有的未见得有用,我想打个形象的比方:学校学出来的人都是一个球体,方方面面的知识都应具备。可是社会上需要球体的地方很少,反而需要的是砖和瓦,即精通某一行的人才。但是对于同等体积的物体,用球体来改造是最方便最省事的。学校的学生很多,为了能够使更多的学生来适应这个社会,学校也就不得以把所有的学生都打造成一个球体,然后让社会对这些学生进行再加工,成为真正能够有用的人才。即使你非常清楚自己的将来要干什么,并且非常下定决心要走自己的路,这一步你也必须走,世界是在不断变化的,你不能预料未来。想清楚,努力去干吧!

  必须结束这篇“胡侃”了,再侃下去非我力所能及。其实计算机还有很多基础课都值得一侃。怎奈我造诣有限,不敢再让内行耻笑。对于博大精深的计算机科学,我只能说我永远都是个Beginner.最后声明:这些只针对本科阶段的学习。即使把这些全弄通了,前面的路还长,计算机科学需要我们为之奋斗学习计算机科学需要韧性,更需要创新,需要激情。深刻学习理论知识,勇于接受新技术的挑战,这才是我们这一代人应具有的素质。最后送大家一句话“Wake up every day with a feeling of passion for the difference technology will make in people's life!”。