【信】
何老师,你好。
我是一个软件project大二。两年下来。我有很好的成绩,此外,他自学了一些事情。大一的时候我自学C++.NET编程。然后看着别人写的炸弹人的代码自己也写了一个(感觉像是抄了一次),大二上学期的时候感觉对嵌入式开发有些兴趣,所以自学了Intel的IA-32汇编和LinuxC编程。可是我学的这些都不是非常深,特别是学LinuxC的时候。由于对操作系统不熟悉所以非常多进程方面的东西当时也没弄懂。
如今在自学Android,学完0基础内容。打算深入学习的时候。却有师兄跟我说Android到用的时候学就能够了,平时不必花太多时间,有时间不如研究研究算法。本来我打算把《Android4 高级编程》这本书看完,然后再把Linux曾经没看懂的部分再学一遍,可是由于老师和师兄们都非常强调算法,如今我也有点迷茫,不知道究竟该干什么,不知道是不是该继续把Android学下去,完毕我的计划,还是要去研究算法(我对算法兴趣不是非常大)。
算法真的是比其它一切都重要吗?不知道为什么身边的人仅仅是把Linux和Android这种东西当工具用,觉得不须要花时间学这些。果真如此吗?还有,我想知道一个软件project的学生应该具备什么样的知识?
【回复】
在我看来。你在大学前两年多方的试探,这是非常不错的一种节奏(见“《逆袭大学》文摘——9.4 基础和应用的平衡中找到大学的节奏”),你能够继续依照自己的想法开展学习。
算法在计算机科学其中是一个重要的部分,对于学习计算机类专业的学生而言,自然也是非常重要的基础。就软件开发而言。有些工作是算法密集型的,离了好算法不能做,深入学习算法是一名大学生专业能力训练的必要部分。
然而。也有不少人将之扩大化和范化的现象。假设你已经有了自己的方向。且发现自己对算法并不算感兴趣时,算法方面的学习。做到了解,也就能够了。
在应用软件的层面,有很多其它的工作,是业务密集型(实现应用特有的业务逻辑)和体验密集型(注重用户界面和交互功能)。
这里有大量的工作要做。而软件开发不仅是写代码,包含项目管理、架构设计等非常重要的事情,并不是算法能力培养能解决。
在这样一个大行业中,即使我们就盯技术,全然能够和有必要有一大批的人。在算法之外形成自己的核心竞争力,这是特色的体现。
所以,你能够将之前学习由于阶段性使然没有深入的部分做完,再选择一项将来值得追求的方向。更深入地学习下去。现实其中。有人死学理论,不顾应用。还往往将做应用这样一件事情看得非常低,全然是忽略了软件项目的复杂性的表现。假设在毕业前就能深入某一项技术,做这一方面的专家。我觉得是一件能够做的事情。
假设从专业设置的角度。重算法还是重project,也许就是计算机科学与技术专业同软件project专业的差别。
而就学生个体而言,选择能够由兴趣而定。
作为软件project专业的学生。你的选择是能够的。
接下来的学习中,计算机科学、计算机组成和体系结构等方面的基础。还是要学,而自己的学习投入。在详细的技术之外,项目管理、软件project,以及人文方面知识的学习和体验。能够很多其它一些。
==================== 迂者 贺利坚 CSDN博客专栏================= |== IT学子成长指导专栏 专栏文章的分类文件夹(不定期更新) ==| |== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==| |== 我写的书——《逆袭大学——传给IT学子的正能量》 ==| ===== 为IT菜鸟起飞铺跑道。和学生一起享受快乐和激情的大学 ===== |
版权声明:本文博主原创文章,博客,未经同意,不得转载。