IT 学生解惑真经

来源:互联网 发布:大数据 规则引擎 编辑:程序博客网 时间:2024/05/01 16:50

IT 学生解惑真经

 

 

 

肖舸    杨中科 左飞   

 

 

 

 

 

 

这是一部写给在校计算机专业学生的书

 

如果没有看到这本书

 

你可能会茫然无措的度过学习阶段

 

 

 

 

把这本书推荐给你的同学

 

你会得到更多朋友

 

 

 

 

 


 

 

 

 

 

中国 IT 领域的发展速度之快令世界瞩目,但是中国的计算机教育却没有能够跟上。因

此,在各大高校扩招的同时,IT 培训机构同样发展的很快。

 

然而, 学习IT 的学生却仍然面临着其他专业不一样的困惑。 因为IT 技术发展很快,而

课程体系并不能很快跟上,因此学生在学校并不了解企业需要什么,自己需要学习什么。

 

正是在这种情况下,CSDN 作为最大的 IT 技术社区, 我们看到了IT 学生所面临的困惑。

于是专门推出了学生大本营(http://student.csdn.net ,邀请了上百位在企业一线的技术高手

和专家,IT 培训机构的精英老师加入进来,针对IT 学生所面临的通用问题进行解答。这些

老师是站在过来人的角度,耐心的分析现在的市场、同学的心理,以及面临的机会和挑战,

更重要的是, 每位老师都给出了具体的建议。 只要认真的读取这些老师的回信和总结, 你总

能从中获得自己想要的答案。

 

韩愈的《师说》中写道:非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解

矣。有了这些困惑并不可怕,可怕的是不知道如何寻找答案和解决问题的方法。

 

现在,就开始在这些老师的文章中寻找答案吧。

 

 

   大学计算机课程学习路线................................. 2

如果你是一个计算机相关专业大学低年级学生, 那么这篇文章就是为你写的。 我之前曾

经发过一篇博文 《大学计算机专业那些课 来谈论大学中各门课程的意义和重要性。 那是针

对更宽泛的范围来说的,这篇文章则更加精要和简约。

   考研还是不考?......................................... 5

有很多同学发出过这样的疑问到底应不应该考研?,很多同学都被这样的问题困扰

着。 考研这个词围绕在我们每个人周围, 学校海报栏中最大的广告一定是考研培训班的,

学校书店里卖的最火的书一定是考研的辅导书; 同学们之间经常聊的也是你考不考研,想

考哪儿的研?,仿佛不想考研就是没追求的表现。

 

 

   做什么样的软件才能赚钱?学什么样的知识才能赚钱?......141

我到学生大本营半年, 发现大家都没有讨论过。 那就是, 做什么最赚钱?无可否认,软

件可以实现各方面应用,不过,就我的观察,在现实生活中,有两种软件最赚钱,一种是数

据库,一种就是嵌入式底层的东东,嗯,随着互联网的发展,目前做网络程序也很赚钱。

 

 

   程序员如何踏上社会.................................... 222

目前在学生大本营里,我也观察到,很多二本,三本的同学,在心里上有种自卑感,总

觉得考分低了,出来就低人一头。这点,我是万万不赞同的。人一生是很复杂的,和邓大爷

一样,三起三落不到头,关键是,你现在准备做什么?你能坚持多久?

 

 

   职业生涯第一步------目前,感觉很多同学,在双选会签约,工作地点的选择上,有一定的盲目性。很少有人

能主动地去选择合适自己的城市,因此,这里提出一点讨论。一家之言哈,欢迎拍砖。

 

 

   关于女生的程序员之路.................................. 333

目前大学里面有句话: 干得好不如嫁得好! 我想大家都听说过。 其实是人就有惰性,

也有一些劣根性, 都想找一些活少拿钱多的工作, 舒舒服服地赚钱, 这种思想, 其实不管男

人女人都有。我自己也有,呵呵。关键是,社会是公平的,一分贡献,一分收获,哪有那么

多不劳而获的事情。

 

 

   如何找需求练技术...................................... 373

 

 

IT 学生解惑真经

 

被很多同学问,怎么才能知道用人单位的需求。这个给个建议哈:去CSDN 或者其他什

么网站的项目外包栏目看看, 里面的需求, 就是别人肯付钱的需求, 自己试着实现一下,比

较练技术。 如果能卖出去, 就表示技术练差不多了, 可以凭这个项目经验找工作了。 个人感

觉,这个项目经验在找工作的时候,有时候比学历证书管用。

 

 

   修炼编程的内功........................................ 393

什么叫编程的内功?我的理解, 就是对这个世界的抽象化理解能力以及描述能力。 一个

工作, 能迅速从中提炼出下次可以重复的套路, 并且能以一定的规则, 就是计算机语言规范,

描述出来,拥有这两个能力,就能保证遇到任何问题,都有办法写出程序来。所以,大家学

校中学了很多数学,语言,算法,数据结构,甚至编译原理,操作系统,其实这些统统是工

具,不是写程序的目的。


 

   7000


- 答一位同学的培训问题............. 454


大家不妨扪心自问一下, 学培训班, 是为了找工作, 还是为了跟风, 还是为了学到真本

事?自己有没有决心,让这 7k 物有所值?如果大家能像这样有割肉的感觉去学习,把自己

往死里逼,这 7k 就花的值得,该学,如果没有这个劲头,学了和没学一码事,建议还是省

省吧,替你爸爸妈妈省点钱。

 

   构建自己的不可替代性.................................. 494

我问过很多年轻的朋友, 他们在找工作的时候, 最看重什么?答案很多啦, 公司要够大,

薪水要够高,要有足够的挑战性,要有成就感。 。等等,当然,也有一脸茫然的,那是还没

有想好的。 其实后来我考虑了一下, 这个话题可以换个方式问, 就是大家为什么需要找工作?

其实人生活在社会上,公司里,最关注的,还是安全感。

   简述 C C++C+ 的学习历程................................ 535

总是被同学们问到,如何学习C C++才不茫然,才不是乱学,想了一下,这里给出一

个总的回复。一家之言,欢迎拍砖哈。


 

   IT


5


在大本营看到很多同学讨论以后的出路, 感觉到大家对IT 业职业的细分还不是很了解,

这里就我的经验,给大家一点参考,希望能帮到大家。一家之言哈,欢迎拍砖和补充。我在

IT 业很多年,也仔细分析过 IT 业的职业构成,就我的了解,其实 IT 业也在细分,大致分

为如下几种……

   选择技术还是选择销售?................................ 636

我看了你的信, 你说大学没有学习好, 虚度了光阴, 现在培训班, 觉得自己缺乏钻研(注

意,不是专研)精神,不想做技术了,想做业务,我根据你的文字,理解这个业务就是销售

工作。但是又觉得自己这么多年在技术上投入过多,舍不得。

   这么多技术我该怎么学.................................. 676

什么都想学。 恨不得把所有的知识统统都塞到肚子里去。 看到什么, 想学什么! 这是几

乎所有在校大学生的通病。 但是, 这不是坏事, 甚至可以说是好事。 说明了你求知欲高!

总比那些,生活没有激情,整天知道泡妞、上网、打游戏、混日子的强。

 

 

 

 

 

 

   金融危机下的职业思考------

在你的问题中,你有一个大前提,就是金融危机,导致就业机会偏少,我个人认为,其

实没有必要这么悲观的。你的问题让我想起了十年前,98 年到 2000 年的经历,估计你那时

候还没有考虑到就业问题, 不过当时我可是身历其中, 现在想想, 其实当时有很多想法也不

是很正确。

   简述如何书写工程化的简单代码..........................747

在坛子里混了这么久, 看了很多同学的代码, 感觉到大家的代码, 学校里面的书生气有

点重,对于细节考虑不够,有时候,感觉和吃了颗苍蝇一样,确实很不舒服。这里根据我个

人的经验, 给大家简述一下, 工程化代码, 以及简单代码, 不容易出错的代码的一些基本写

法。

 

 

 

 

大学计算机课程学习路线

 

左飞老师


IT 学生解惑真经


 

如果你是一个计算机相关专业大学低年级学生,那么这篇文章就是为你写的。

 

我之前曾经发过一篇博文 大学计算机专业那些课 来谈论大学中各门课程的意义和重

要性。 那是针对更宽泛的范围来说的, 这篇文章则更加精要和简约。 因为这里研究的仅仅是

核心计算机课程, 更重要的是, 这里要说的是这些课程之间的关系, 以及它到底讲得是些什

么东西。我想这些课程最终是要组成一个体系的。

 

请注意我这里所说的是通常情况下的核心课程, 每个学校在课程设置是可能是存在差异

的,但总体上框架应该是不变的。

 

最开始的第一门课应该是“C 语言程序设计,这基本上属于你日后一切学习的开始,

简单说这门课程的主要目的和内容就是介绍一种计算机语言的语法内容,至于怎么学好它,

之前的文章都谈过了,这里就不罗嗦了。

 

之后的课程会分为三条线,第一条线的第一门课程是数据结构与算法。这很简单,

一些有了语言基础之后, 为了更好的使用语言去解决问题, 就必须学习结构知识和算法。至

于怎么学好它, 之前的文章也谈过了——请注意, 如何学都不是本文的重点。 本文的重点在

于告诉你你将来都会学些什么以及该学些什么。

 

数据结构与算法的后续课程是什么?答案应该是《编译原理》 。很奇怪吧?课程就

是这样设计的, 其实这个路线也不是我发明的, 国外大学的CS Course 的体系也是这么设计

的。 编译原理说白了就是介绍编译器如何工作的, 是让计算机理解计算机语言的一种方法和

理论。 这个工作过程之中蕴含了大量的算法, 而且是非常复杂的算法, 很多人甚至认为编译

原理是计算机专业本科阶段最难的一门课程。 主要就是因为这里面的算法太复杂, 当然也会

用到很多结构, 树可能是用得最多的。 当然, 这就是相当于是数据结构与算法课程的一个后

续性课程, 类似一道附加题。最近听一个学生说有些学校本科已经取消这门课了, 我想应该

是较少一部分学校的做法吧。 不过, 中国的学习并不太重视这门课倒是真的。 一般课程设置

就是一个学期左右的课时。 但是一般的国外学校这门课都要学上1 年, 甚至两年之久。 这条

线路到编译这里就应该是终点了。

 

下面我们来谈谈大学计算机课程学习的第二条路线。

 

在你具有了一定 C 语言基础之后,除了前面讲的第一条路线以外,你已经可以开始下

面这条路线的学习了。

 

为了更好地探究计算机系统的研究机制,在学习了C 语言之后,下面一门需要学习的

课程是汇编语言和微机接口技术,这门课程包含两部分的内容,一部分就是汇编语言,

汇编是一种更底层的语言 (相对于C 而言) 说白了它就是一种用助记符描述的机器语言

很多人刚学汇编的时候都觉得很复杂, 因为它跟硬件紧密相关, 就是那些个寄存器也够初学

者糊涂一阵子的。 这门课程的另外一部分内容是微机接口技术, 目前国内高校这部分内容都

 

 

CSDN 学生大本营 http://student.csdn.net 出品



 

IT 学生解惑真经

 

是基于 80X86 系列芯片的。已经可以看到这门课其实涉及到了很多硬件的知识,其实还不

止,关于 I/O 控制,寄存器,中断,这门课里都有体现的。

 

接下来要学习的内容就是《计算机组成原理与体系结构》 。其实我特别奇怪,我在写学

习路线 1(也就是前一篇文章)的时候,有读者认为在学习C 语言之前,或者在学习其他专

业课程之前, 最先要学的就是这个东西。 我不知道大家是不是觉得大学第一门专业课就是这

个, 我觉得这么想的人是不且实际, 信口开河的。 这门课程还是比较深的一门课程, 在汇编

和接口之后安排这门课程是比较的。 不过国外的一些先进的计算机教育体系确实也有在较开

始的时候开设一门概论课来作为导引,有时候叫Computer System Introduction,有时候叫

Computer Culture,其实内容差不多,但作为计算机专业课程的导引课程,这些课程的设置

里面已经设计到组原和 OS 的初步内容了。但这和 Computer Structrue & Architecture 还是有

区别的。

 

接下来的一门课程是《计算机操作系统》 ,如果外行听起来可能觉得这个课应该是学如

何使用操作系统的吧,就像“WindowsXP 速成?非也!这门课程是讲OS 是如何设计的,

或者说是如何实现一个 OS     (当然做要比说起来难多了) 之所以这门课程被安排在组原之后,

那是因为这反映了一种自底向上的学习路线。操作系统当然是在计算机系统之上来搭建的。

向调度啊、 虚拟内存啊这些问题都是由操作系统来控制的。 我最近所写的 《代码揭秘》 基本

上是属于这条路线上的内容的, 不同的是我采用了一种更贴合读者理解方式的描述, 因为在

讲述这些原理之前,我都是采用 C 语言实例来作为引子的。有空也推荐大家看看,应该学

校里的图书馆是可以借到的。 前一阵子一位四川大学的计算机青年教师给我写信谈起我这本

书时,我才知道高校的图书馆里原理已经可以借到了。以上就是大学计算机课程学习的第2

条路线,下面我们来讲最后一条路线。

 

最后一条路线属于应用型的, 也就是说当你学完了基本的原理之后, 一方面为了日后更

好的工作, 另一方面如果从事研究工作也可择其一而继续深入探究, 那么最好总之要上升到

一定应用层面的东西。

 

在你有了一定的 C 基础之后,学校可能会开一些面向对象程序设计方面的课程,可能

C++或者 Java 因为面向对象的语言在实际开发中正广泛的被使用。 无论是C++还是 Java

C 来说本质上都是语言,只不过他们多了一些OOP 方面的特性。如何学好它们,我前面

的文章中已经谈过,这里就不多言了。

 

接下来的一门课程应该是数据库系统 这门课不是教你怎么使用SQL SERVER或者

DB2 的,学校里的课程远没这么前沿。数据库系统这门课依然偏重更多理论,尽管数据库

相比于组原和 OS 来说已经是上层建筑了。这门课讲的多是些数据库系统设计方面的原则,

例如如何解决关系问题或者 SQL 语言等等。

 

再之后可能会学的课程是计算机网络,这门课里会更加系统的向你介绍网络方面的

知识,TCPUDPHTTP 这些名词会粉末登场。注意这门课一般不是教授你如何布网的,

例如如何配置路由器这种东西一般是CCNA 里面的内容了。这门课里讲的更多的是上层原

理与协议。

 

以上就是一般的大学计算机课程学习的几条路线。 他们彼此联系, 共同作用。 注意我这

 

 


 

IT 学生解惑真经

 

里讲的内容不是给你推荐学习方向, 而是告诉你大学里会学什么, 之间联系如何。 从之前的

文章评论里不难看出, 有的同学好像根本没理解文章的意思, 说自己好像更适合哪条路线的

样子, 其实适不适合哪条线的问题根本不存在, 这些东西你都得学, 既然学就要学好。 本身

就是一个体系的,怎么能做瞎子摸象的事情呢?现在CSDN 学生大本营搞得不错,资源很

多, 访问量很大, 但也能客观的看出浏览的人真的是分好多等的, 有的是谦逊而好学的,有

的则是蜻蜓点水的过客。浮躁之气甚嚣尘上,胸中无物自然谈吐轻浮,看什么都不求甚解,

浅尝辄止, 多少有些自以为是、 妄自尊大了。 这也是我在此开博四个月余来的感受吧。 希望

大家都能保持一颗平常心,戒骄戒躁,平和的埋头学习吧。

 

 

 

学生评论:

 

陈俊强(C/C++学生)     

感谢老师抽空写出这 3 条线路, 我是一名大二的学生, 之前在大一的时候参加过思科的CCNA

培训, 真的那个时候很开心, 能自己把实验做出来, 但是事后深深的思考后, 我究竟懂得了

什么呀?难道我只会操作吗?我深入的问一下那为什么这个实验能实现呢?深入到原理性

的东西就发现不懂了。 跟现在大多数人一下,我也在学习J2EE,但是我已经能从更高的高度

去看待这个 J2EE 体系了,我要求达到的目标是:不仅是懂得操作,而且要懂得原理性的东

西。真的,我越来越发现大本营的优点了。

 

曹秋枝(C/C++学生)     

受教了,很明确的路线。大学里确实是应基础为重,为应用奠定雄厚的基础

 

河北科技师范学院 刘勤(C/C++学生)     

期待!这个问题从我开始学编程起一直在想,我想很多初学者都很需要老师们这样的指点

...

 

 

 

原创粉丝点击