大学生应该如何学习软件

来源:互联网 发布:廖雪峰javascript教程 编辑:程序博客网 时间:2024/05/02 02:29

在你开始读这篇文章之前,先要明确一点,我并不是什么教育专家,只不过是一个在软件学院刚上了半年的大一新生。在这里,我只是想就这个题目谈谈自己的观点。

大学最重要的两点是什么?是你对自己四年后要成为一个什么样的人有一个明确的概念。第二就是你要知道要成为这样的人你应该如何去做。做到了这两点至少可以保证你的大学时光不会虚度。然后再说说大家学习软件之后要干什么,应该至少有80%的人会选择去软件公司吧?而且是越大越好(钱多)。可是作为一个初级的程序员,人家凭什么要在茫茫人才中选择你?他看的可不是你的成绩,甚至不是你的学历,而是你的能力,特别是做东西的能力。

我发现很多同学有这样或那样的误区。有一部分人把精力放到了书本上,他们死抠高数,离散,线代,甚至能将计算机导论背下来。这些同学不知想过没有,当你做工程时,这些有用么?或者说,是必要的么?我觉得把时间花在书本上完全是浪费时间,就像我们高中复习高考浪费的时间一样。诚然,这些东西是基础,但我们明白它的意思就够了,用的时候翻翻查查就够了。一遍遍的做题,高中还没自虐够么?

还有的人热衷于学习语言。对此我只想说,你能知晓过程式,面向对象,函数式编程就够了,剩下的都一样。细琐的东西不用劳神去记,不会到时查你的那些大部头就行了。

还有的人对ACM很狂热。的确,牛人大都来自两方面——底层和算法。难道你真的想搞算法不成?我觉得ACM很好,对我们以后做工程有很大的帮助,但也不能以此为主。不然,刷了一辈子的题,连评测系统都不会写,是不是有些丢人?

那么我们应该把精力集中在哪里呢?就是做项目!事实上,当你掌握了一定语言基础后,就已经能够做各种项目了——网站啦,Android啦什么的,从计算器开始也行!不要在乎程序小,而是要在意你成功了没有?没成功的话为什么没成功?遇到了哪些困难?如何解决的?从中得到了什么经验?这些都是我们要总结的,在此基础上你才能逐步提高,由一个初级程序员逐步进阶到中级。

做项目分两种,一种是专攻一个方向,把它做精,甚至精到商业软件的程度。另一种是学习各种平台下,各种领域的应用开发,增长见识。两种项目最好都做做,并且开发时要为自己制定时间表,严格遵守。

做项目最难了,你往往要从零学起,并且会遇到各式各样的问题。我们要知难而进,绝不能轻言放弃。不会的去问你的学长和教授,不然就论坛发帖,别死扛着。可以的话,找几个志同道合的伙伴,大家一起做。

除了技术,我们还要培养自己的经济头脑,毕竟做出的软件是要在经济活动中去捞钱的。市场需求,其他公司的情况什么的,要有个清晰的认识。毕竟程序员做到快四十岁,大部分技术上应该争不过下一代了,这是你如果有出色的经济头脑,加上你的技术背景,往高层混应该不难,要创业的人经济头脑就更要有啦!

最后,要具备一个软件开发人员的职业道德!

当然,这些大道理你都懂,却沉迷于WOW,龙之谷,DOTA,人人,偷菜等危害我国新一代人才的事物上的话,那也是白搭。

原创粉丝点击