软件技术需要学数学吗 软件工程师需要学哪些知识

【软件技术需要学数学吗 软件工程师需要学哪些知识】计算机科学与技术 , 顾名思义也叫CS专业,是一门研究计算机相关科学原理和专业技术的学科 。
那么它和其他计算机专业 , 比如软件工程、网络工程、信息管理、系统等有什么区别呢?
我也是计算机科学与技术专业的 , 所以在进入这个专业之前对一些疑惑有很深的理解 。现在我来回答你的疑惑 。
为什么叫计算机科学?
科学意味着研究 , 意味着科研 , 意味着理论原理 , 也就是说这是一门偏向科研偏向理论研究的专业 。
也许很多人不知道 , 我们国家当前是没有自己的CPU , 没有自己的PC操作系统 , 就连绘图软件PS , 数学软件Matlab , 都是国外的 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
有人可能会说龙芯CPU是中国和但是龙芯只能运行Linux系统,的 , 不能运行我们目前主流的Windows系统 , 因为龙芯使用RISE(精简指令集)处理器 , 但是Windows不支持这个架构 , Windows只支持x86指令集处理器 。
软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
73737; --tt-darkmode-color: #A3A3A3;">所以可以认为我们国家到现在都没有一个能彻底商用的CPU 。
我们国内大部分都是用的盗版软件 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
很多核心技术我们没有 , 为什么?
并不是我们不够聪明 , 相反我们中国人很聪明 , 数学很好 , 但是我们发展太晚了 , 1946年当第一台计算机出现的时候 , 我们国家还在内战 , 新中国还没有成立 。
世界上第一台计算机 , 用了18000个电子管 , 占地170平方米 , 重达30吨。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
世界上第一台计算机
中国建国后 , 各项工作步入正轨后的1956年才开始筹备计算机的研究工作 ,  中国计算机事业的起步比美国晚了13年 。
落后就要挨打 , 中国人民深有体会 , 所以中国现在开始大力发展芯片技术 , 华为研发了鸿蒙系统 , 航天技术也蒸蒸日上 。
但是这些还不够 , 我们还需要大量的人力物力来建设和研究 , 我们有很多计算机教材还是使用国外的或者是翻译过来的中文版 , 为什么?
就是因为我们计算机高端人才太少了 , 从事计算机理论研究的人才太少了 , 导致发展缓慢 , 我们需要有人去从事计算机的基础研究 , 理论研究 , 而不是为了找一份工作 。
计算机科学与技术专业承担了这份重任 , 它让更多的学生学习计算机并不仅仅是为了找工作 , 还包括基础的理论研究 , 这就是它和其他计算机专业最大的不同 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
其他计算机专业可能是偏向工程技术方面的研究 , 比如软件工程、网络工程等 。
不管是科研还是工程 , 都需要人才去建设 , 我希望的是大家在学习专业知识的时候 , 目的不要仅仅是为了找工作赚钱 , 中国的计算机还很落后 , 没有核心技术 , 它需要你们去研究 。
所以希望刚上大学同学不要急着去想如何赚钱 , 先把基础学好 , 学校培养你们 , 不仅仅是教会你们赚钱找工作 , 更希望你们可以为国家做贡献 。
计算机科学与技术专业 , 大部分课程其实还是偏理论 , 很多同学可能觉得很枯燥 。
但是我希望大家能坚持下去 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
就比如《 线性代数 》这门课 , 只要是计算机科学与技术专业 , 不管是在哪个大学都会有这门课 , 在大一或者大二开设 。
这门课很多人会觉得没用 , 其实 , 是你目光短浅 , 孤陋寡闻 。
这门课太有用了 , 为什么?
你知道我们现在能看见计算机上逼真的画面 , 酷炫的特效 , 是怎么做出来的吗?
如果没有《 线性代数 》上的那些公式 , 那些矩阵的变换方法 , 你根本看不到这些特效 。
因为我们要在计算机上显示真实世界的光照效果 , 是需要去模拟的 , 计算机里面并没有真实的太阳光 , 不管是基于物理模拟 , 还是基于经验模拟 , 都需要有基础的原理和公式去支撑 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
而这些原理和公式就藏在《 线性代数 》和《 高等数学 》里面 , 现在你还觉得这些基础课程没有用吗?
再来举一个例子 , CS专业在大三的时候会学习一门课叫做《编译原理》 , 这门课可能对很多人来说很难 , 但是真的很有用 。
我们国家到现在都还没有自己的编程语言 , 现在的C语言 , C++ , JAVA等都是国外发明的 。
所以就更没有自己的编译器了 , 没有编译器就要用别人的 , 什么时候别人不给你用了 , 你连软件都开发不了 。
就如现在的美国 , 不给华为提供芯片了 , 华为荣耀业务就只能被迫出售 。
而《编译原理》这门课就是告诉你 , 如何进行词法解析、语法解析和编译器的开发原理 , 告诉你如何开发一款编译器 , 它虽然不能帮你开发一款完整的应用软件 , 但是可以帮你制造一款开发应用软件的工具 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
知道了编译的原理 , 发明一个新的编程语言也就简单了 。
这就是基础知识的力量 , 它不创造直接面向消费者使用的产品 , 但是它可以创造产品的开发工具 。
再来看看计算机科学与技术专业到底学习哪些课程:

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
以上就是计算机科学与技术专业的全部课程了 。
希望同学们上大学后好好学习 , 为国家争口气 。
那么这个专业毕业后能干什么呢?
其实这个专业很综合 , 很全面 , 就业面非常广泛 , 也非常多的企业需要 , 包括公务员、事业单位都很需要这个专业的人才 。
接下来就来盘点一下计算机科学与技术专业的就业方向:
方向一:考研 , 出国留学

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
这个专业是计算机专业当中最多学生考研的专业 , 因为只要有计算机专业的学校 , 肯定有这个专业 , 考研中的专业课知识 , 基本在本科阶段都学习过 , 只要基础打得好 , 考研专业课轻轻松松 。
出国留学深造也是不错的一个选择 , 国外很多名校有CS专业 , 但是记得把专业成绩学好 , 把英语学好 , 把学分拿到 。
方向二:公务员和事业单位

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
体制内的单位特别喜欢招聘CS专业的计算机学生 , 特别是在大城市 , 大城市现代化、信息化程度比较高 , 很多业务都需要计算机来处理 。
而CS专业的学生各方面都比较综合 , 可以帮忙解决工作上的各种计算机问题 , 所以深受大家的喜爱 。
另外建议你在大学期间去考国家软件资格水平考试(软考)证书 , 这个证书非常有用 , 可以评职称 , 去年深圳公务员的招聘中就有一些岗位要求软考中级证书 。
方向三:软件开发

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
如果你想以后做一个程序员 , 年薪百万 , 那就好好把《数据结构和算法》这门课程学好 , 基本上每个大公司笔试 , 面试都会考算法 , 如果没学好只能去中小厂了 。
最好能选择一门自己喜欢的编程语言如JAVA或者C++等 , 去深入学习 , 如果老师没教 , 你就自学 , 看视频也好 , 看书也行 , 反正不要浪费了时间 。
计算机专业最重要的能力不是什么数学天赋 , 而是动手实践的能力 , 有一个普遍的说法是 , 计算机专业的学生想要在毕业后找份程序员的工作 , 在大学4年一定要有一万行以上的代码量 。
如果没有 , 那你不是一个合格计算机专业毕业生 。
同时也建议你在大学期间去考国家软件资格水平考试的《软件设计师》证书 , 这个证书非常有用 , 在国企可以评职称 。
这个方向的人才差距还是挺大的 , 学得好的刚毕业年薪就可以上百万 , 学不好的月薪3千多也是很普遍的 。
不过这个方向的也有缺点 , 就是要加班 , 如阿里的996福报 , 但是有付出就有回报 , 如果你家庭条件不是很好 , 需要赚钱 , 建议你可以学好这个专业去大厂工作 , 绝对不会亏待你 。
方向四:网络工程师

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
CS专业还可以从事网络工程方向的工作 , 比如做一个网络工程师 , 如果你想从事这个方向 , 建议把《计算机网络》这门课程学好 , 和网络相关的课程都要关注 。
一个企业 , 一栋楼宇的网络建设 , 网络规划 , IP地址的规划 , 局域网的组建等等 , 都是网络工程师的工作 , 如果你喜欢这样的工作 , 建议你在大学期间去考华为的证书或者思科公司的CCIE证书 , 以考促学 , 对你以后找工作非常有帮助 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
这个方向也有对应的软考证书《网络工程师》和《网络规划师》证书 , 某些国企是可以评职称的 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
这个职业可以说是越老越吃香 , 因为经验越多越能快速解决问题 。
方向五:游戏开发工程师

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
如果你很喜欢玩游戏 , 王者荣耀、LOL、鬼泣、战地等 , 你还可以去做一个游戏开发工程师 。
每个男孩心中都有一个游戏梦 , 这是一个能为人类创造快乐的工作 , 如果你想亲自开发一款游戏 , 这个方向很适合你 。
同时游戏开发的工资也很让人羡慕 , 听说王者荣耀团队发了上百个月的奖金 。
瞬间就财务自由了 。
如果是从事这个方向 , 那你在大学期间需要把《线性代数》《高等数学》《算法设计》《计算机图形学》《视觉计算》等课程学好 , 去大厂很轻松 。
最好大学期间能学会一款游戏引擎比如Unity3D、UE4 , 如果能做出一个游戏DEMO去找工作更容易 。
每年腾讯、网易、完美世界、西山居等知名游戏公司都会去大学校园招聘 , 考的内容就是这些基础内容 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
方向六:算法工程师

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
前几年 , 华为两百万年薪招聘算法工程师 , 这个方向的工资是真的很高 , 去了大厂基本上就进入中产了 。
这个方向需要把《数据结构》《算法设计》这两门课程学到极致 , 当你能手写红黑树了 , 你离这几个方向就不远了 。
建议在大学期间把Leetcode上的题都刷一遍 , 面试就很轻松了 。
这个方向主要研究各个领域的算法 , 比如AI算法 , 人脸识别技术 , 智能语音识别 , 无人驾驶等等 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
方向七:大数据分析师

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
这是当前相当热门的技术 ,  负责大数据数据分析和挖掘平台的规划、开发、运营和优化;根据项目设计开发数据模型、数据挖掘和处理算法;通过数据探索和模型的输出进行分析 , 给出分析结果 。
如果是从事这个方向 , 你需要把《数据库技术》《统计学》《高等数学》等学好 , 这些课程是支撑大数据分析的基础课程 。
建议大学期间把Python编程语言学好 , 方便以后分析数据 , 同时去考数据分析师证书  , 这个是由国家工信部颁发 , 在工信部网站上可查 , 权威性很高 。

软件技术需要学数学吗 软件工程师需要学哪些知识

文章插图
以上 , 就是计算机科学与技术专业同学毕业后工作主要从事的七个方向了 。
当然还有很多其他方向 , 就不一一列举了 , 感兴趣的可以在评论区留言哦 , 我会一一回复 。