有哪些数学专业?
作为一个成功转行到计算机领域的“失败”的数学专业毕业生,我来说一下这个问题。 首先,数学专业大致分几个方向:理论数学、应用数学、计算数学(这个我不是特别清楚);每一个方向下面又有若干小方向。 举个例子说明一下:假设学校开设的专业是数学与应用数学,那么下面就会细分为两个或者三个具体方向,如统计、软件工程等,而各个方向的开设课程会有一定差别。
比如,统计学方向,会学习统计原理、随机过程、多元统计分析、非线性回归、时间序列分析等;软件工程专业也会学习编程语言(c++/python等)以及数据结构、算法设计等。 在这些具体分支上,又可以根据个人喜好再选择研究课题。 这样,一个完整的数学专业学习体系就出来了。
当然,每个学校的设置可能不大一样,但是道理是这样。 那作为一个数学专业毕业的人,现在在做计算机方面的工作,有什么感想呢? 我觉得最大的感触就是,学数学真的不如当初好好学计算机!
为什么这样说? 因为大多数的数学专业培养方案中,都设置了大量的必修课程(一般是难而且枯燥的课程,如数学分析),这些课程的分数决定了你是否能够顺利毕业;而计算机专业则没有这么繁琐,很多学校都是“六个学期修满12学分的计算机专业课才能毕业”,也就是说你有一年半的时间专门去学自己想学的计算机专业课程,学完了就可以顺利拿到毕业证书了。 而数学专业如果只学自己喜爱的计算机课程的话,很有可能无法通过考试,拿不到毕业证。
虽然当年我们学了C、C++、C#、Java、Python等多种编程语言,也学习了数据结构、算法等计算机专业课程,但是在考研复试的时候,还是被导师无情刁难了:“你们怎么连基本的数据结构都不会?”“你们做的算法根本没有实现意义,为什么要花这么多时间去做?” 一问才知道,原来他们本科期间学习了面向对象和面向过程两种不同风格的C语言,掌握了指针、数组、结构体等复杂而又难以理解的语法,并且完成了操作系统、编译原理、计算机网络等专业难度非常大的课程。
而我,是一个纯粹的数学专业毕业生,除了学过一点简单实用的编程知识以外,其他所有的专业知识都需要重新学习。 可见,学数学真的不如学计算机!