【转】计算机专业不是学编程

学计算机的若是你有耐心看下去,我敢保证这绝对是一种收获
大师提醒: 计算机专业不是学编程,而是懂得计算机的工做原理,以及和计算机相关的学科技术。一个高手没必要懂得编程,coder是最底层的人物,最重要的是思想,解决问题的思想。对计算机专业的学生来讲,英语和数学也是最重要的。编程不用于实际,编得最好也是花哨,毫无心义。对于初学者来讲,应该懂得更多的why 原理,而不是更多的how,那是工做后的事情。 每一计算机学者都应该有本身的思想,不要跟着别人走,不要看着别人用什么新技术做出什么来的时候,你就心动了,也就想立刻学这门技术。而是有本身的学习思路,和本身学习的方向。 1.不为编程而去编程。 2.学习计算机的原理和核心部分。 3.用形象的思惟去学习,追求本质。 4.计算机的相关行业。linux

对一个初学者来讲,IT界的技术风潮是不能够追赶的,并且也没有能力去追赶。我时常看见本身的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到很是痛心。   而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面能够不用指针等等则让我以为可笑。C#就象当年的ASP同样,“忽如一晚上春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。   96,97级的很多大学生都去作Web了。固然我没有任何歧视某一行业的意识。我只是以为如 果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是能够走得更远的。 几个误区   初学者对C#风潮的追赶其实也只是学习过程当中常常遇到的几个误区之一。我将用一些实际的例子来讲明这 些现象,你能够循序渐进的看看本身是否是属于其中的一种或者几种: 认为计算机技术等于编程技术:   有些人即便没有这个想法,在潜意识中也有这样的冲动。让我奇怪的是,许多信息学院的学生也有这样的念头。认为计算机专业就是编程专业,与编程无关的,或者不太相关的课程他通通都无论,极端的学生只要书上没带“编程”两个字他就不看。   其实编程只是计算机技术应用过程当中一种复杂性最低的劳动,这就是为何IT业最底层的人是程序员(CODER)。计算机技术包括了多媒体,计算机网络,人工智能,模式识别,管理信息系统等等这些方面。程序员

程工做只是在这些具体技术在理论研究或者工程实践的过程当中表达算法的过程。编程的人不必定对计算机技术的了解就必定很高。而一个有趣的现象是,很多大师级的计算机技术研究者是不懂编程的。网上的炒做和现实中良好的工做待遇把编程这种劳动神秘化了。其实每个程序员内心都明白,本身这些东西,学的时候并不比其它专业难,因此天然也不会高档到哪里去。 咬文嚼字的孔乙己做风:   我见过一本女生的《计算机网络原理》教材,这个女生象小学生同样在书上划满了横杠杠,笔记作得满满的,打印出来必定比教材还厚。我不明白的是,象计算机网络原理这样的课程有必要作笔记?咱们的应试教育的确害了很多学生,在上《原理》这一类课程的时候许多学生象学《马列原理》同样逐字背诵记忆。   这乃是我见过的最愚蠢的行为。所谓《原理》,便是须要掌握它为何这样作,学习why,而不是how(怎样作)。极端认真的学生背下以太网的网线最大长度,数据帧的长度,每一个字段的意义,IP报头的格式等等,可是忘了路由的原则,忘了TCP/IP协议设计的宗旨。总之许多人花了大量的时间把书背得倒背如流却等于什么也没学。   在学习编程的时候这些学生也是这样,他们确切的记得C#语法的各个细节。看完了C#教程后看《Thinking in C#》(确实是好书),《Inside C#》,《C# reference》,this C#,thatC#……,而后是网上各类各样的关于C#语法的奇闻逸事,而后发现本身又忘了C#的一些语法,最后回头继续恶补……。有个师弟就跟我说:“C# 太难了,学了这里忘了那里,学了继承忘了模板。”个人回答道:“你不去学就容易了”。我并无教坏他,只是告诉他,死抠C#的语法就和孔已己炫耀茴香豆的茴字有几种写法同样毫无心义。你根本不须要对的C#语法太关心,动手编程就是了,有不记得的地方一查MSDN就立马搞定。我有个结论就是,实际的开发过程当中对程序语法的了解是最微不足道的知识。这是为何我在为同窗用Basic(我之前从没有学过它)写一个小程序的时候,只花了半个小时看了看语法,而后再用半个小时完成了程序,而一个小时后我又彻底忘记了Basic 的全部关键字。 不顾基础,盲目追赶时髦技术:   终于点到题目上来了。算法

大多数的人都但愿本身的东西可以立刻跑起来,变成钱。这种想法对一个已经进入职业领域的程序员或者项目经理来讲是合理的,并且IT技术进步是如此的快,不跟进就是失业。可是对于初学者来讲(尤为是时间充裕的大中专在校生),这种想法是另人费解的。一个并未进入到行业竞争中来的初学者最大的资本即是他有足够的时间沉下心来学习基础性的东西,学习why 而不是how。时髦的技术每每容易掌握,并且愈来愈容易掌握,这是商业利益的驱使,为了最大化的下降软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,并且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者因为缺少必要的基础而使得本身在跟进的过程当中花费大量的时间,而等他学会了,这种技术也快淘汰了。基础的课程,比方数据结构,操做系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的缘由),但它们可以显著的减小你在学习新技术时学习曲线的坡度。并且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来讲甚至是不可或缺的。 一个活生生的例子是我和个人一个同窗,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。我把大二的全部时间花在了汇编,计算机体系结构,数据结构,操做系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。大三的时候我开始学习Windows 操做系统原理,学习SDK编程,时间是漫长的,这时我才可以用VC开发出象模象样的应用程序。我曾一度由于同窗的程序已经可以运行而本身还在学习如何建立对话框而懊恼不已,但临到毕业才发现本身的选择是何等的正确。和我谈判的公司开出的薪水是他的两倍还多。下面有一个不很恰当的比方:编程

设学习VB编程须要4个月,学习基础课程和VC的程序设计须要1年。那么若是你先学VB,再来学习后者,时间不会减小,仍是1年,而反过来,如 果先学习后者,再来学VB,也许你只须要1个星期就能学得很是熟练。 几个重要的基础课程   若是你是学生,或者若是你有充足的时间。我建议你仔细的掌握下面的知识。个人建议是针对那些但愿在IT技术上有所成就的初学者。同时我还列出了一些书目,这些书应该都还能够在书店买到。说实在的,我在读其余人的文章时最大的心愿就是但愿做者列出一个书单。   大学英语——不要以为可笑。我极力推荐这门课程是由于没有专业文档的阅读能力是不可想象的。中文的翻译每每在猴年马月才会出来,而如今的许多出版社干脆就直接把E文印刷上去。学习的方法是强迫本身看原版的教材,开始会看不懂,用多了天然熟练。吃得苦下得狠心绝对是任何行业都须要的品质。   计算机体系结构和汇编语言——关于体系结构的书遍地都是,并且也大同小异,却是汇编有一本很是好的书。《80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)。你须要着重学习386后保护模式的程序设计。不然你在学习现代操做系统底层的一些东西的时候会以为是在看天书。   计算机操做系统原理——咱们的开发老是在特定的操做系统上进行,若是不是,只有一种可能:你在本身实现一个操做系统。不管如何,操做系统原理是必读的。这就象咱们为一个芯片制做外围设备时,芯片基本的工做时序是必需了解的。这一类书也不少,我没有发现哪一本书很是出众。只是以为在看完了这些书后若是有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 小程序

数据结构和算法——这门课程可以决定一我的程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时)。不少人喜欢买C#版的,但我以为没有必要。C#的语法让算法实现过程变得复杂多了,并且许多老师喜欢用模块这一东西让算法变得更复杂。却是在学完了C版的书之后再来浏览一下C#的版的书是最好的。 软件工程——这门课程是越到后来就愈加现它的重要,虽然刚开始看时就象看马哲同样不知所云。个人建议是看《实用软件工程》(黄色,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次本身完成了一个软件设计任务(无论是练习仍是工做)之后再来回顾回顾,每次都会有收获。   Windows 程序设计——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC之前仔细的学完它。并且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。   在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它之后,你才会发现VC实际上是很容易学的。千万不要在没有看完这本书之前提早学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它做为教材进行授课。可见其重要。   上面的几门课程我认为是必学的重要课程(若是你想作Windows 程序员)。   对于其它的课程有这样简单的选择方法:若是你是计算机系的,请学好你全部的专业基础课。若是不是,请参照计算机系的课程表。若是你发现本身看一本书时没法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。若是一本书的书名中带有“原理”两个字,你必定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽量多的在计算机上实践一种理论或者算法。   你还能够在CSDN上阅读到许多书评。这些书评可以帮助你决定读什么样的书。 日三省乎己   天天读的书太多,容易让人迷失方向。必定要在天天晚上想一想本身学了些什么,还有些什么相关的东西须要掌握,本身对什么最感兴趣,在一本书上花的时间太长仍是不够等等。同时也应该多想一想将来最有可能出现的应用,这样可以让你不是追赶技术潮流而是引领技术潮流。同时,努力使用如今已经掌握的技术和理论去制做具备必定新意的东西。坚持这样作可以让你真正成为一个软件“研发者”而不只仅是一个CODER。 把最多的时间花在学习上   这是对初学者最后的忠告。把每一个星期玩SC或者CS的时间压缩到最少,不玩它们是最好的。同时,若是你的ASP技术已经可以来钱,甚至有公司请你兼职的话,这就证实你的天份可以保证你在努力的学习以后取得更好的收益,你应该去作更复杂的东西。眼光放长远一些,这不管是对谁都是适用的。   相信你已经可以决定是否学习C#或者何时去学它了。网络

学计算机的建议 1、给计算机专业的同窗 
1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。若是你不热爱她,或者只由于这是个热门专业,那么极力要求你放弃这个专业,由于计算机是一把双刃剑,学好了你会飞黄腾达,学很差你毕业后会极其痛苦,高不成低不就,没有发展潜力,如同窗英语专业的人到了美国同样。 
2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想作网站挣钱,不要想*点击率增长广告,这个在4年前已通过时,若是你如今仍然这么想,千万别说出来,由于我会以为你很土。计算级专业的成就感老是伴随着身体上的痛苦而来,肩周炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎,不夸张,这么帅的我工做了两个月之后发现开始掉头发了。 
3只弄清学什么了,可是还不知道作什么。咱们的课程设计过小儿科了,别对你在国外的同窗说,不然会被笑话,因此咱们要尽量的多作设计,别一我的们闷着头作,两三我的合做一个项目,不会交流的计算机人员30岁之后确定会下岗。题目呢,尽可能是一些简单的底层开发,能够去国外大学网站上搜一搜,要自信你必定能作出来,毕竟不是什么难题,而是咱们应当具有的素质。数据结构

相关文章
相关标签/搜索