大学生学习编程应该以基础为主还是以经验为主
看来半天还是没搞清楚你所谓的基础和经验是什么东西。算法是基础,难道就不是经验了?不过你喜欢玩竞赛,还是想跟人家做项目,都无所谓,你自己喜欢就好了。不管是哪个,都是在做同一件事情,就是解决问题。所以你需要的最重要的也是最基础的,是分析和解决问题的能力。首先是一些基础的算法、思想和模型必须掌握,这些是你用来分析问题的基础。然后就应该锻炼你书写代码、组织代码的能力,这个是解决问题的方法。我一直觉得,两者不可偏废。在此基础之上,再去学习一些高级的算法、模型和思路。ACM之类的偏重于算法的竞赛,对于代码的组织、程序的结构、系统的原理这些内容,一般不太关注;而实际的应用项目可能会反过来,在解决问题所需要的算法中,直接使用已有的库。投入这两种学习中,可能只是会让你学习的顺序稍微不同而已。举个例子,比如我们遇到一个需要解析XML问题:如果你专注于算法,你可能会发现XML是一个树形结构,然后就想写一个程序去读取XML,把他恢复为一棵树,然后再对树上的结点进行操作,然后写出这个算法。再然后,你就会发现有人其实已经做过这样的事情,有一个叫做dom4j的东西很好用,然后你再去学习了解看看人家是怎么设计那些读取XML的操作的。如果你专注于工程,你就会通过阅读文献,发现解析XML有两种模型,SAX和DOM。SAX占用内存小,但是DOM操作简便,然后根据需求选择用DOM模型,DOM模型有已经实现好的库dom4j。再然后去看文献DOM模型究竟是个什么东西,接着你就会了解到原来DOM就是文档对象,而文档对象是一棵树,再然后你就会去学习树相关的性质,和算法。个人认为,不必要去学习过多的所谓新技术,更应该关注一些基本的思想和模型,那些新技术无非也是这些东西。这些基础(我觉得跟你说的「基础」有些不一样),永远是你应对各种变化、新知识、新事物、新问题的法宝。
■网友
我也是个学生。学到现在有个感想和心得。当然不一定正确。但是我觉得可以给你换个思路。我暂且认为你所说的经验是指进去老师的实验室,协助做项目。我认为选择经验最重要还是基础最重要上,你应该选择最能激起你兴趣和动力的那一个。比如最初学程序,你最大的动力和兴趣就是编个程序让他跑起来。打印出hello world。如果你啃完一本讲基础的书,回头来自己却写不出你心中的的程序,兴趣和动力就会少一大截。这对后续学习很不好。所以,基础和经验不冲突。只不过你可以主选择能激起你学习动力和激情的那个
■网友
其实都不以为然:学习编程为的是什么,为的是工作。那么工作以实用为主:经验和基础都不能缺,首先找工作,你的基础好,才能有自己的算法来开发,然后才能有经验,有经验才能更好的去开发。离不开基础。基础好你也不一定都能把所学的知识记牢和活用:http://www.fenby.com
■网友
我觉得项目经验一点也不重要。项目经验更多的是沟通的经验。刚入职的新人大多是螺丝钉的角色,能迅速上手不掉链子就合格了。而能不能迅速上手不掉链子,是基础在起作用。具体的项目经验,除非两个相似的项目,否则一个公司一种做法,一个项目组一种做法,你之前项目熟悉的工具流程乃至具体软件的体系结构,全都派不上用场。
■网友
基础,在大学大部分所谓的经验在企业根本什么都不算,好点的企业招人也是看重基础,如果基础不错人,然后在某个方面有深入就相当不错了。基础不错,经验完全没有,应届毕业机会很多,有很多所谓的经验,但是基础很差,基本上面试什么的直接被筛掉了。 但是,一般来说真正的经验丰富,基础不可能差
■网友
绌见 :我也是学生,通过论坛及老师了解到,我们学生编程还是基础较为重要,在学校珍惜全日制的学习机会,多去打些“ 牢固 ”的地基,比如:看了些算法,多研究些Why(为什么这么算),少专注些How(怎样用代码实现),基础有了,相信以后的发展潜力会很大,学习新事物的能力也不弱。
推荐阅读
- 四川安州:4名大学生被困雪山悬崖警方连夜成功救援
- 江苏省第十五届大学生职业规划大赛总决赛在常州举办
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 婴儿|美国儿科学会: 1岁以下婴儿不推荐学习游泳
- 在美国大学学习computer science 是啥样的体验
- 有点计算机基础的人想尽快找份编程的工作。哪种编程的工作最好找还需要学些啥
- 作为软件工程大二的学生,学习一般,编程一般,毕业后能干些啥
- 30岁的人生,想自学一门编程并从事,这个选择怎样呢
- 计算机深度学习方面sci三区期刊推荐