大学生应该如何学习软件
来源:互联网 发布:廖雪峰javascript教程 编辑:程序博客网 时间:2024/05/02 02:29
在你开始读这篇文章之前,先要明确一点,我并不是什么教育专家,只不过是一个在软件学院刚上了半年的大一新生。在这里,我只是想就这个题目谈谈自己的观点。
大学最重要的两点是什么?是你对自己四年后要成为一个什么样的人有一个明确的概念。第二就是你要知道要成为这样的人你应该如何去做。做到了这两点至少可以保证你的大学时光不会虚度。然后再说说大家学习软件之后要干什么,应该至少有80%的人会选择去软件公司吧?而且是越大越好(钱多)。可是作为一个初级的程序员,人家凭什么要在茫茫人才中选择你?他看的可不是你的成绩,甚至不是你的学历,而是你的能力,特别是做东西的能力。
我发现很多同学有这样或那样的误区。有一部分人把精力放到了书本上,他们死抠高数,离散,线代,甚至能将计算机导论背下来。这些同学不知想过没有,当你做工程时,这些有用么?或者说,是必要的么?我觉得把时间花在书本上完全是浪费时间,就像我们高中复习高考浪费的时间一样。诚然,这些东西是基础,但我们明白它的意思就够了,用的时候翻翻查查就够了。一遍遍的做题,高中还没自虐够么?
还有的人热衷于学习语言。对此我只想说,你能知晓过程式,面向对象,函数式编程就够了,剩下的都一样。细琐的东西不用劳神去记,不会到时查你的那些大部头就行了。
还有的人对ACM很狂热。的确,牛人大都来自两方面——底层和算法。难道你真的想搞算法不成?我觉得ACM很好,对我们以后做工程有很大的帮助,但也不能以此为主。不然,刷了一辈子的题,连评测系统都不会写,是不是有些丢人?
那么我们应该把精力集中在哪里呢?就是做项目!事实上,当你掌握了一定语言基础后,就已经能够做各种项目了——网站啦,Android啦什么的,从计算器开始也行!不要在乎程序小,而是要在意你成功了没有?没成功的话为什么没成功?遇到了哪些困难?如何解决的?从中得到了什么经验?这些都是我们要总结的,在此基础上你才能逐步提高,由一个初级程序员逐步进阶到中级。
做项目分两种,一种是专攻一个方向,把它做精,甚至精到商业软件的程度。另一种是学习各种平台下,各种领域的应用开发,增长见识。两种项目最好都做做,并且开发时要为自己制定时间表,严格遵守。
做项目最难了,你往往要从零学起,并且会遇到各式各样的问题。我们要知难而进,绝不能轻言放弃。不会的去问你的学长和教授,不然就论坛发帖,别死扛着。可以的话,找几个志同道合的伙伴,大家一起做。
除了技术,我们还要培养自己的经济头脑,毕竟做出的软件是要在经济活动中去捞钱的。市场需求,其他公司的情况什么的,要有个清晰的认识。毕竟程序员做到快四十岁,大部分技术上应该争不过下一代了,这是你如果有出色的经济头脑,加上你的技术背景,往高层混应该不难,要创业的人经济头脑就更要有啦!
最后,要具备一个软件开发人员的职业道德!
当然,这些大道理你都懂,却沉迷于WOW,龙之谷,DOTA,人人,偷菜等危害我国新一代人才的事物上的话,那也是白搭。
- 大学生应该如何学习软件
- [软件人生]大学生应该如何度过四年
- 对于大学生应该如何选择软件测试方面的企业?
- 大学生应该怎样学习?
- 大学生应该学习哪些电子知识
- [转]大学生应该学习哪些电子知识
- 大学生应该学习哪些电子知识
- 大学生应该学习单片机什么知识
- 评论:大学生应该学习哪些电子知识
- 转《大学生应该学习单片机什么知识》
- 【学习】应用程序、软件、系统,三者应该如何区分?
- 学软件专业的大学生大学应该学什么
- 大学生该如何学习计算机?
- 大学生如何突破学习能力
- 大学生如何学习c语言!
- 软件开发人员应该如何发展
- 软件开发人员应该如何发展
- 团队应该如何写软件?
- 类似淘宝搜索排序的例子
- Hibernate的主键生成器generator说明
- 强化与确认基础知识:try catch finally 的执行顺序
- unp 笔记
- 我的心得
- 大学生应该如何学习软件
- java文件中为什么会有serialVersionUID
- 透视Ext JS 4类背后的机制与特点(下)
- java与模式(三)--开闭原则
- What is the location of the directory of C header files that match your running kernel問題解決(VMWare+CentOS5.5+vmware-tools)
- Server.Transfer+IIS配置实现域名重写
- 理解typedef
- 第一天上班
- 性能测试中的TPS与HPS