您的位置首页百科知识

如何系统学习计算机科学

如何系统学习计算机科学

如果你是一个有抱负的计算机科学专业的学生,或者是一些想换行到计算机科学领域的人,你们是幸运的;在因特网上有大量有价值可以利用的信息。计算机科学是一个广阔并且飞速发展的领域;一旦你对自己的计算机编程能力有信心,那么大量的论题项目会为你敞开。但基蔽是你真正必须知道的是去研究学习什么,和不研究学习什么?此取决于你想要学习的大量的知识。如果你想成为一名研究者,那么你必须要比一名普通的程序员要学习更多的计算机科学理论知识。但是掌握一定的技能对于此领域的每个人来说会有所帮助,受益无穷。1、学习多种编程语言不论你想在计算机科学方面做什么,或许你将做一些编写计算机程序的工作。并不是所有的语言被同样创立,但是它们中的大部分有一些实力。你将学习一个系统语言象C语言或者C++语言。这些将给你带悔宴来几个优势和优点:首先,你可以了解存储配置;第二,你将可以了解更多关于系统是如何设计的知识;最后,你将能够和其他的程序员自如地交流。学习C语言的优势在于你能够看懂文章中的更多的信息。但是如果你想学习一些更多用于日常琐事的灵活性的语言,比如,象Perl 或者 Ruby一个脚本语言将能帮助你迅速创建自己感兴趣的程序和新的想法和创意。最后,一旦你已经精通了一门或者两门语言,拓展你的视野的:象Scheme, ML, 或者 Haskell.一门功能性语言,这将提高你的程序语言的理解力和尽可能的拓宽你的视野。当你学习新的语言时必须记住一个关键的事情,既所有的语言提供同样的力量——你能用一个语言做一些事情,同时你用另一种语言同样也可以——但是有些语言使之更容易做某些事情。举个例子,如果你想从一个文本文件中读取数据,Perl是一门很适合的好的语言。如果你想写一个人工智能引擎,那么可能用计划比较好。2、学习设计你是否想成为一名软件工程师或者大学教师,你将必须去用一些形式或者另一种去设计程序。尽早学习好的设计原则将可以使你的生活变得更轻松容易。关于设计,你需记住一个关键点:在你专心致力于解决方法,而又没能让你解决之前,那么目标是就是抓住问题的关键。前面你不必须做关于设计的所有的事情,但是如果你不,那么你是想后来失去更多的灵活性。当然,一些设计是绝对关键的或者你简单地没有什么想法,什么方法是变通的,且什么是硬性规则。过度模块设计是难以维持的,因为这是极其不灵活的设计。此种情况下一种解决方式是模块性强大化,因为这样可以更容易的用好的观点代替差的想法。但是如果你不知道这个好的方法和观点是什么,无论如何,那么模块化不能帮助你,并且会因为它使得你付出更多的精力,可能伤害你。学习设计的良好方法是在著名的系统项目上进行练习,象写一个翻译器或者网络服务器。这类项目的优点是其中有一些良好的方法,你理解后,就会立刻领悟到你原先设计中存在的问题。无论你做什么设计,你很明确地很想运用执行你设计的东西或者你从来没有真正明白你的想法的缺点在哪里,那么它将进入并发现这些缺点并教会你。3、搏前州学习基本规则和数据结构有许多重要的算法和数据结构,这是语言的计算机科学。每个人都需要知道什么是一或者二进指制树,那是因为他们习惯了所有的时间。也许同样重要的是基本的算法,如二进制搜索,图形搜索算法,排序算法,并基于树的极小搜索。这些算法及其变种显示出了很多,人们通常会预计任何一个计算机科学家将会明白它们如何工作。4、学习基本的理论有几件事你应当要明确:你应该了解如何在不同的基地表示号码和如何用布尔逻辑操纵布尔表达式。这两项工具用来得心应手,在多种情况下,尤其是当读其他人的代码或试图澄清自己的时候。(布尔逻辑对制定明确的条件语句是特别有用的)。更重要的是,你应该对当前计算机的限制有一个良好的意识,特别是,它真正确实有助于理解关于高效算法和Big-O算法的想法。了解这些主题话题会使得它更清楚,这就是为什么某些程序和算法需要花费很长的时间来去运行,和如何识别它们。当你知道来选择哪种算法时,这也使得它更容易明显的优化你的程序。最后,认识什么是计算机能够做的这一限制性是很有用的,即有些事情是计算机不可能去做的。有时它能够尝试去编写吸引人的程序,也仅仅是那些!