数学差的人不配学计算机?
很多人瞄上了现在最大热的一个专业——计算机,因为它可是“高薪资”和“好前景”的代名词。
但申请者们不免有这样一些问题:
高中生——我数学不好,可以选择计算机科学专业吗?>>【立即咨询】
本科生——我非计算机专业,可以跨专业申请 CS 吗?
如果有相同困扰的小伙伴,看过来(举手)!
这里所说的计算机专业并不仅仅指代计算机工程,其中信息系统、软件工程、信息安全、编程、计算机图形学,以及管理信息系统等方向都被包含在内。
但无论是学哪个方向的,计算机专业确实是需要具备数学能力的。
如果你想学计算机图形学,那你就需要掌握线性代数、计算几何;
如果你想搞音频,就需要知道数字信号处理那一套等等。
但这些都是特定领域内最基础的知识了,与其他理工科专业对数学的要求是一样一样的,并没有因为它挂上了计算机的头衔就要更严格一些(你觉得难可能是因为计算机申请人数太多,“卷”出新高度了)。
还有编程,对于外行人来说,要做一个程序员看似很复杂,很困难,但事实上编程本身对数学的要求并不高。因为编程的本质不是用高深的数学知识去处理事情,也不是背代码,而是在写很多很多基础代码的前提下,勤于练习,最后按照自己的理解去钻研。
像是编程、JAVA程序设计等“技术类”方向,计算机用的数学知识不是很多,会用到一些简单的函数问题,大多数是高中数学。像是算法设计与分析等研究类、纯理论类的方向,则会对数学要求比较高。
(当然这只是对想要入门的新手来说,当你进入了这个领域并把它当作饭碗的时候,你懂的越多,上升空间越大,所以这并不是“数学无用论”)
总而言之,数学虽然重要,但不是学习某个专业决定性因素。
对于本科生是否能跨专业申请计算机科学的问题,Shriram Krishnamurthi——一位在布朗大学从业超过 28 年的计算机科学教授给出了最专业的答案。
“很多人忽视了一个问题,计算机科学需要使用数学的原因,不在于它真的需要数学领域的某个公式、某个理论,而是需要你的数学思维能力:统计、概率、最重要的是数学逻辑。
在这个领域,无论是否使用“高级数学”,每个优秀的从业者都在从事结构化、逻辑化的思考,甚至当他们编写数据库和其他程序的时候,还被要求写出逻辑化的语句。这就印证了这个领域需要的不是一个数学天才,而是一个逻辑学者。”
当然,如果你原本来自艺术学、语言文学之类的,确实跨专业申请很困难,毕竟研究生课程可没有时间能像本科似的给你打基础。
所以跨专业的前提是你有非常强的软实力背景,而且还需要至少修过一些基础课程,如 C 语言、JAVA 等,至少说明你能跟的上课,不是小白。
(哐哐哐敲黑板,想跨专业申请的注意提前规划相关先修课!别大三都结束了啥先修课都没有,就脑洞大开想跨专业,因为没有行动力的“梦想”“爱好”只是说说而已,不值钱!)
高薪资和好前景确实吸引着许多人学习计算机相关的专业,但同时自己要考虑好的是学习过程中的困难,以及你是否可以解决。
另外,虽然软硬件条件是跨入一个领域的必需品,但当真正做选择的时候,是需要自己从一而终的坚持和信心。与其问我能学 CS 吗?不如问自己一句,我准备好了吗?