百科问答小站 logo
百科问答小站 font logo



随着各个领域越来越多的人都开始学习编程,计算机专业的人优势在哪里? 第1页

  

user avatar   louis-ex 网友的相关建议: 
      

开源社区、网课、在线文档以及stackoverflow和github这些网站让计算机有更开放的学习条件,让所有人都能比较便捷地接触到学习资料。但学习并不只需要资料,还需要时间和环境。学一个专业,就是强迫你把最多的时间和精力放在这方面的学习上,同时提供给你同等条件下最适合学这方面的环境。

每个专业之所以能成为一个独立的专业,都是因为它们有足够完备的理论体系和足够充实的技术栈,需要这么多人从本科生读到硕士到博士。既然每个专业都是学海无涯,那每个人也就都是一分耕耘一分收获。这点不限于计算机,我觉得任何专业都是同等条件下科班比非科班强的,如果你发现有非科班出身的人在你的专业上比你还强,那只能说明人家本身能力就比你强太多,人家能自学成这样不代表自己也能。

“既能掌握其领域的专业知识又有一定的编程基础“,这种加点方式只是看上去强而已,不用太在意。打个比方,小明主修画画业余编程,画画和编程的能力点分别是8、6;小红除了编程不干别的,画画和编程的能力点分别是0、10。看上去小明有14个技能点小红只有10个,小明比小红厉害很多,但实际上两个人都是长度为10的向量而已((8,6)的模与(0,10)的模相等),区别只是方向不同。

环境对于学习效果的影响也非常重要,家长们溢价买老破小学区房,小升初交巨额择校费,中学请家教报各种课外班,高考梦寐以求想进清华北大,为的无非都是更好的学习环境。计算机专业就是你所在的学校提供的最适合学计算机的环境,有专业的教授,配套的实验设备,共同讨论的同学。在这种环境下你能学得更好,这就是科班出身的优势。

具体到计算机来说,我觉得计算机本科课程可以分成三部分。第一部分是编程算法相关的,这部分很多答主提到了,这些课程会强迫你积累相当多的算法知识、编程经验和代码量,我就不赘述了。第二部分是科研导向的课程,专攻计算机的某一项前沿领域,比如图形学、计算机视觉、自然语言处理等等,这部分的好处也是显而易见的,你能更全面地接触和感受这些应用方向,进而选择做出最优的选择。

第三部分就是所谓“程序员的浪漫”了,包括编译原理、操作系统、计算机原理这些课程。非科班的人会学编程算法,会学机器学习数据挖掘软件工程这些应用课,但极少有人学编译原理操作系统,所以有种说法是“不学这些课跟培训班出来的有什么区别”。而且这些课确实很难,像我这种菜鸡,如果不是系里要求必修,我自学是肯定不会碰这些东西的。这些课的重要性毋庸置疑,但实用性很难讲得清楚,毕竟存在蒋凡这样的例子。我个人一点体会是,新的编程语言不断涌现,新的技术层出不穷,但这些原理不会改变。对这些原理理解得越透彻,就越清楚为什么这个框架有这个优点,那个库能做那件事情,学起来就会越容易。

然而我觉得,“浪漫”本身已经是很大的好处了。我们系计算机原理课有一个造计算机的大作业,要求用硬件语言手写一个CPU烧到板子里,能够运行老师指定的任务。难度很高,硬件调试起来很痛苦,但还是备受好评。我一位非常敬重的学长认为这是本科期间让他受益最大的作业,开发板上数以万计的简单门电路,在你的亲手设计与调度下被组合起来,成为一台带指令集有内存能跑程序能响应信号的计算机。想到整个信息时代就是建立在这无数个逻辑单元上,不得不感慨人类的伟大。去过科技馆的小学生都知道计算机的基础是逻辑门电路,但也许只有学了这些科班课程,才能体会到用门电路搭出计算机的浪漫吧。




  

相关话题

  有谁是单纯地喜欢编程吗? 
  用惯了 C# 之后再也不想用别的语言了,正常吗? 
  C++的核心究竟是什么?学到什么程度才算精通? 
  穷人家的女孩应该转去计算机专业吗? 
  编程语言能做到微言大义吗? 
  可以用最通俗的语言告诉我程序员敲的一行行代码怎么变成一个个游戏?那么写代码的难度又在哪里? 
  AI 算法在芯片设计方法学和 EDA 工具中有哪些应用和潜力? 
  如何评价《太吾绘卷》的程序代码? 
  十进制有什么优点?为什么世界各地的数学不约而同的选择了十进制? 
  如何看待 2021 年图灵奖授予美国计算机科学家 Jack J. Dongarra? 

前一个讨论
为啥gan里面几乎不用pooling?
下一个讨论
现在越来越多大学生转cs,那计算机专业会不会供大于求?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利