(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让我的大学更圆满了。

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

IT,大一,这里我有点建议相关推荐

  1. 给同校大一IT新生的建议

    在论坛上看到同学院的学弟问的,就回答了一下.打的字挺多的,所以就发到博客上了. 原文是这样子的: 我上大一,西安二本里垫底的大学.在学校C语言学一学期感觉啥也没学到.想补补自己的编程技术,开始找培训机 ...

  2. 高年级学长给计算机大一学生的学习建议

      自我介绍, 简单讲述我大学的学习的历程,成果和感想.(1分钟) 我一直都感慨本年级许多同学在大一时因为缺乏好指引,在一开始就对编程很害怕,对计算机的学习没有开好头,动手能力长期跟不上,空会理论,不 ...

  3. 南通大学机械院两年来的心得体会(给大一新生的一点建议)

    各位大一的同学晚上好,我是来自机电201的某某.非常高兴咱们南通大学今天给我那么崇高的荣誉,能够代表老生们和机械学院的学弟学妹们一起聊聊自己这两年大学生活的心得与体会.现在回想起来,这两年真的给我留下 ...

  4. 学计算机需要带笔记本电脑,一年级学生必须带电脑上学吗?顾问给出建议,父母需要事先了解...

    一年级学生必须带电脑上学吗?顾问给出建议,父母需要事先了解 考试过后,剩下的只有考生的志愿填报,以及等待进入大学生活的时间. 今年参加高考的妹妹家的孩子,高考结束后就要求妈妈给自己买电脑,而且他们的同 ...

  5. 计算机大一学生笔记本电脑选择

    大一的话,个人建议在经济可承受范围内选择4500-6500RMB的游戏本(选windows游戏本不解释,如果家里用矿可以多买个MAC). 普通学生的话,主要看的参数:运行内存大小,磁盘大小(固态/机械 ...

  6. 现代软件工程 作业 最后一周总结

    (软件工程作业汇总) 1) 回顾你的课程计划 (第一周的计划), 你完成的程度如何?请列出具体数据和实际例子 2) 你在课程开始快速浏览了<构建之法>,提了 5 个问题, 请回顾那些问题, ...

  7. 程序员的四个暑假:从打工开始到打工结束

    暑假结束,逝去的四个暑假 大家好,我是bigsai. 上周四回家,周五周六周日在家呆了三天,今天已经身处高铁回学校了,开启暑期打工人生活. 暑假,对于很多人来说是个非常好的机会,两个月的时间相对自由, ...

  8. 擦边上100分,我的托福考试总结

    我英语底子比较差,高考英语还不到130,四级499,六级擦着及格线过.因为在国内读研究生,所以没有计划出国,而报托福考试只是单纯想激励自己学习英语. 考试时间:2015年2月1日地点:北京汇佳私立学校 ...

  9. 加拿大ee移民 最新消息 越来越难申请了!!

    当地时间2019年5月29日,加拿大联邦移民部快速通道(Express Entry)移民审理系统进行了最新一次的甄选. 本次抽选共发出了3350份邀请,抽选分数为470分,比上次抽选整整高出20分. ...

  10. 软件工程里有Java这一课程吗_软件工程总结

    软件工程总结 一.请回望开学时的第一次作业,你对于软件工程课程的想象** 1. 对比开篇博客你对课程目标和期待,"希望通过实践锻炼,增强计算机专业的能力和就业竞争力",对比目前的所 ...

最新文章

  1. javascript箭头函数和this的指向问题
  2. 2019/01/29-Linux常用指令
  3. 《Head First设计模式》第七章-适配器模式、外观模式
  4. Golang笔记—面向对象编程
  5. Vivado工程路径太长导致不能生成bit文件
  6. python自定义抛出异常信息_浅谈python抛出异常、自定义异常, 传递异常
  7. Anaconda, conda, pyenv, virtualenv的区别
  8. 两个文本框异动任何一个能即时更新计算结果
  9. Android 四大组件学习之Service四
  10. 数据库基础知识(思维导图)
  11. 浅谈Android事件分发
  12. PyQt设置右下角弹窗
  13. 达人实测:天玑1000和骁龙765g哪个好-天玑1000和骁龙765g对比跑分
  14. 周报-暑假留校第三份
  15. 数字图像处理(冈萨雷斯)学习 第3章 灰度变换与空间滤波
  16. 具有 Unity Terrain 功能的简单环境设计
  17. web在线显示ppt方案小结
  18. 计算机网络 华东理工大学 第1章测试
  19. 大数据、人工智能,未来已来
  20. 火车运煤问题 - 增加一个简单算法实现

热门文章

  1. dcs world f15c教学_你使用的DCS系统靠谱吗?!
  2. 大学计算机教学ppt,大学计算机基本教学教程3.ppt
  3. otsu阈值分割算法原理_otsu(大津法阈值分割原理)
  4. 集合的一些练习题1(Collection+Map)
  5. 12864液晶模块的详细使用
  6. 用python下载ts视频
  7. qt 当前窗口句柄_QT获取Windows系统所有窗口句柄
  8. win7自带tftp服务器,如何打开tftp服务器,笔者教你Win7系统TFTP服务器怎么开启
  9. OneDrive网盘资源下载教程
  10. JAVA编译器的作用