IT,大一,这里我有点建议

(2013.12.12 发布于我的博客 phodal.com)

在论坛上看到同学院的学弟问的,就回答了一下。打的字挺多的,所以就发到博客上了。

原文是这样子的:

我上大一,西安二本里垫底的大学。在学校C语言学一学期感觉啥也没学到。想补补自己的编程技术,开始找培训机构。北大青鸟,西嵌,达内,欧朋兰博,尚学堂都去了。黑马和传智播客在西安木有的~ 看了一圈更纠结了,本来只想着拓展一下知识面,把C学好点。现在是,被他们说了一堆后,我感觉在大学里学的东西以后工作根本不够用,计算机科学与技术专业学的东西本来又多又浅。所以我现在决定上培训班了。然后。。。 然后就是,各种复杂的培训项目,我看的头都大了。北大青鸟的学士后,JAVA,安卓,嵌入式,网络管理,虚拟化,Linux,c c++,操作系统。。。每个课程都还死贵!我瞬时无语了。

(补充一句,西安的二本不多了,西安的同学一看就知道了。)

学习建议

C语言

学好C可能不会让你找到个好工作,不知道你们用的是什么书,如果是清华大学的那本就直接丢垃圾桶吧。图书馆负一层的好书(ps:我们学校的计算机书都在负一层,看的人少。。)多得是,还有C语言作者写的,首选国外的书,然后是国内的。C的重要就是指针+数据结构。有一本不错的书,如《C和指针》及《C专家编程》。不过,如果不是搞嵌入式的话,C可能会用得很少,多数都是Java的面向对象。图书馆有很多,很不错的书。。这是我们学校的一个不算是优点的优点,我不知道你们系的老师怎样,但是请相信多数情况下只有混得不好的才来当老师(ps:很一般的二本院校)。只是少部分老师也很优秀,至少在我们专业中——电子信息工程是这样的。在我们专业领域,C才是神器相比于汇编语言,只是这个时代汇编语言用于提升运行效率显得有点。。。

如果想学得全的话,建议不要在C上面花太多时间,学得精就需要在上面花费一定的时间,不过可以试着用阅读源码的方式来解决。C很重要,但是有时候不是很重要,就如同你对数学一样,重要的时候才会体现出来。以后,你会知道我们学校的考试是怎样的,不要按照老师的思维来学习,要有自己的学习习惯和方法。

面向对象

面向对象,一个比较好的起点就是Java,这个印象中经常看到计算机系的孩子拿着这些的书,然后你可能需要《Head First设计模式》,接着是四人班GoF的经典之作《设计模式》,还有很多,如果觉得Java麻烦。可以试着用Ruby或者Python,Ruby有一本《Ruby设计模式》,学设计模式的优点是如果你面向对象的思维不是很强的时候可以用到。用Ruby可能会使学习快些,在学习设计模式的时候,问题是国内用这种语言可能会比较少。需要考虑一下,Python会比Ruby多一点,如果有所谓的爱国情节,就从Python开始,国外的孩子好像都是。

C++算是一门不错的语言,只是现在用得比较多的好像是在游戏领域。这门领域太复杂了,所以不要以为你的教科书上面的东西那么简单,请相信教科书是给考试准备的,而不是给实战准备的。所以,除非有好的发展(比如,有亲戚等在这方面工作,而且现在主要是在游戏中用得比较多),要不请暂时放弃C++。Java提炼了一些C++的精华,比较面向对象而且和专业课相关,算是一个很好的起点。简化面向对象的学习就是上面说的设计模式。

操作系统

开始使用Linux。开始可以考虑用Ubuntu或者Mint,国内用得比较多。我比较喜欢使用openSUSE。如果你有台MAC 就再好不过了。试着从底层去了解一个程序是怎么运行的。从开机到一个程序的运行,其中你可能需要了解的是《Linux内核原理与实现》。以及你们专业自带的《操作系统原理》,如果用的还是国内的书的话,请换成图书馆的国外的书。Unix的有些东西和Linux上面是类似的,所以可以试着在上面写C程序,附上一本书《unix环境高级编程》。

Windows很好很强大,但是如果你想提高你的技术试着用Linux。 每个人的看法可能不同的,但是如果要学得相对全一点,请到Linux。当然也可以选择成为Windows的高手。Windows要成为高手有点难,Linux的学习曲线可能会有点陡。

所以有这样一本书《鸟哥的Linux私房菜:基础学习篇》,在我们实验室512(ps:很受程序员欢迎的数)中几个都是以此为基础学的。所以,请不要相信计算机学得好的都在计算机专业。鲁迅学的也不是中文,你说是吧?

专业课

学好你们专业的课,比如《数据结构与算法》、《操作系统原理》、《编译原理》之类的,这类的书首先考虑国外的,再考虑国内的。如果看不懂所谓的数学,可以考虑一下《具体数学》。

虽然我不是计算机专业的,但是我开始学计算机比较早,其中可能走过一些弯路。数学在有些时候也是很重要的,不过我觉得国内的教育太坑人了。所以可能需要一些国外的计算机数学方面的建议。

我可能是没写好本专业的课,但是我达到了本专业的要求,可以做出想要的东西。所以,要对自己的大学有一个好好的规划。

发展建议

代码阅读

看别人写的代码。这是一个很省力的成长方式,有一本书叫做《代码阅读》。可以试着用这个当起点去学习,其中也提到了C的很多用法,所以那本书是一个很好的起点去学习。

更多的开源程序在Linux上面,所以这部分可能需要有Linux系统作为基础,所以尽快换成Linux,双系统切换。如果实在有Windows强迫症那就单Linux运行。

编程+项目

更多的编程+项目。试着用做一些东西来学编程,而不是按照书上说的一步步的来。国内的书可能更多的按步就班的来。所以,用实现功能来学习编程,再慢慢来。

私活有时候是一种很不错的成长方式,在大学中做了几个网站,成长得很快,也有收入。虽然大部分都是源自网站前端的,但是请相信前端也很复杂。可能你们上的课和现在的不一样了,现在的前端的位置比课堂上的那些老师说的重要得多。服务器的配置再高也会有个限制,但是将一些计算放在用户的浏览器里,是一种很划算的方式。

至于有些编程经验嘛,可以由比赛中获得,印象中计算机系会有很多比赛。

阅读书籍

如果有一天你觉得自己写的代码不行的话,请试着用《重构》这本书来改善你的代码。

如果有一天你觉得面向对象的思想不够的话,请试着阅读《设计模式》来提升。

如果有一天你觉得没学好C语言的时候,请试着阅读《C和指针》。

。。。

所以,当你觉得不足的时候,请阅读。

(PS:大一到大四看了500左右的计算机书,因为想了解全一点,所以看得有点多,习惯于像福尔摩斯一样的作法。刚那些东西当成书库一样存储,以使自己找到更合理的解决方案,但是后来发现有时候是不可取的。现在的结果是编程经验远远不足,好在未来的东家看好我。)

多写博客

至于为什么,请参考一下我写的上一篇文章。

《REWORK》启示录 招聘笔杆子——程序员为什么值得写博客

我的大学目标

仅做参考,大学做了一个简单的目标规划,但是都实现了。

  • 找个女朋友(很好的一个妹子,希望能一直在一起。)
  • 400+的书籍阅读(实际500+,书架上70+)
  • 能做想做的东西(硬件+软件)

ThoughtWorks的offer让我的大学更圆满了。

大一请好好加油,路还很长。我和你一样周围的人都是如此不思上进,问题在于要让自己更自律、自觉,有一天你会发现自己技能上强大了,心理上强大了。还有的话试着找个女朋友,考虑在以后,而不是在大一大二。

原文发布于微信公众号 - phodal(phodal-weixin)

原文发表时间:2018-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python+iOS学习交流

滴滴在职iOS开发者,告诉你他是如何实现指数级提升开发技术的?

如何提升开发技术的方法很多,比如专注,刻苦,热情,兴趣等,不过我这里不会提这些,下面想说的是我觉得能够指数级提升的窍门和一些自己在求索路上的一些体会,也算是一个...

15300
来自专栏喔家ArchiSelf

PHP 是最好的语言吗?

最近被朋友们拉入了几个技术社群,有微信群,也有QQ群,尤其对一些年轻的朋友,大家乐此不疲的问题居然是 PHP 是最好的语言么?

17420
来自专栏ThoughtWorks

写给自学者的入门指南

在IT工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。...

41970
来自专栏CDA数据分析师

学习 Python 编程的 19 个资源

作者 codecondo 编译 wzhvictor segmentfault.com/a/1190000004187319 用Python编写代码一点...

38260
来自专栏编程坑太多

打字速度对编程的影响大吗?

8420
来自专栏架构说

不要在一门技术上吊死

现象 刚出道的朋友,特别是刚踏入社会的学生,总是希望今后干活用的一定是自己熟悉的语言,当领导安排做其它的不同技术性活的时候,对于语言上的不同,心理上很排斥。 对...

405130
来自专栏DevOps时代的专栏

台湾资深老专家:Scrum 和 Kanban 你选对了吗?

对于初学者或新人而言,由测试开始是再好不过的了,一旦写程序的功力够了,制造缺陷的机率自然会下降些,这个时候再来写程序,才不会害己害人。原因很简单;因为缺陷是程序...

64800
来自专栏大数据文摘

资源 | C和C++程序员面试神器

C和C++在互联企业开发工作中有着非常重要的地位,在《顶级数据团队建设全景报告》中我们通过对企业的调研,发现C和C++是含金量指数最高的编程工具。所以,只要你对...

13240
来自专栏Java架构师历程

“码”路茫茫,学习中的开发者应该听听这 18 个建议

如果你有过同样的担心,现在我可以告诉你,解决办法来了。你不用在编程早期就为自己要走的方向下定义。

11310
来自专栏高性能服务器开发

后台开发应该读的书

根据我的经验来谈一谈,先介绍一下我的情况,坐标上海,后台开发(也带团队了),某知名互联网公司。 目前主流的有C++和JAVA,C++我的经验稍微多一点。我就说说...

58390

扫码关注云+社区

领取腾讯云代金券