学计算机学什么专业好

如题所述

第1个回答  2022-06-28
① 数学
数学是计算机的理论基础。数学不仅对于将来准备科研的同学及其重要,对于准备就业的同学来说,数学没学好,一些工作中遇到的概念就会很难理解。

离散数学(研究离散量,如整数,的结构、相互关系)在计算机科学中十分重要。由于计算机平台本身是离散的(基于 01 二进制),离散数学在传统算法设计、分析和平台架构设计等方面都起到了重要作用。

分析(以广义的微积分等研究工具,对”比较连续“的函数等进行研究)和代数(先定义数学结构,再研究该数学结构)中的内容也是作为理科生必须知道的,无时无刻不在用到的知识。
以上分法只是为了方便梳理课程,事实上相当不严谨。离散是数学中的一类对象,分析和代数是数学中的种方法论,相互之间都有很多重合
② 算法
算法本质上也属于数学。高中里常见的数学题有计算和证明。为了计算,课堂上会学习到很多问题的解法。算法就是对问题提出解题方案。
③ 系统
想要运行程序/软件,需要一个平台/系统(计算机、服务器、手机、嵌入式系统等)。每个系统从低向上构建,复杂而精美。

在系统的设计中,为了防止过于复杂,大牛们引入了抽象层,把功能较为独立的部分单独抽象出来设计,下层支持上层的实现,上层利用下层的接口(按规则即可使用的功能)。收益于此,我们在学习时也可以非常有层次地层层递进(图中从微电子到数据库、计算机网络等)
All problems in computer science can be solved by another level of indirection.
计算机科学中的每个问题都可以用一间接/抽象层解决 ——Jay Black
④ 语言
语言也算作系统的一部分(语言甚至可以看作是一个抽象层,下层由编译器支持,上层支持算法的实现)。将语言单独列出主要因为语言是因为,作为程序员,语言是我们最常用的工具。
此外,我把如何维护我们写出来的程序也放在这里。这是很工科的一个部分,就像造房子时如何维护整个工程。这样分类确实有问题,但语言和软件工程作为我们书写程序时的工具,可以一起学习。
⑤ 应用
在算法和系统的支持下,我们可以把计算机技术应用到各个邻域。计算机的应用自然有许多,这里只大概介绍了几个计算机的方向。
数学
① 离散
集合论(大一)
- 应用:几乎其它数学的基础,微积分、抽象代数等等都要用到集合的概念。
数理逻辑(大二)
- 应用:在系统方向(程序形式化验证)、程序语言设计、人工智能(自动推理)等领域有广泛应用
- 研究前沿:证明论(研究语法),模型论(研究语义),公理集合论(研究与数学基础有关的一阶理论的模型),递归论(研究可计算性),非经典逻辑(对数理逻辑的扩展与修正),非形式逻辑(对形式化方法反叛的新道路)
抽象代数(大二)
- 应用:在密码学、组合数学、程序设计理论、计算机通信和分布式系统等方向上有广泛应用。课程上,线性代数中线性空间定义就要用域的概念。
图论(大二)
- 应用:算法设计(比如高德地图的导航,就要用到图论的算法),在计算机课程和应用中无处不在。
组合数学
- 应用:作为研究工具,在科研时都有可能用到
值得一提的是,南京大学计算机系拔尖班和匡院计算机方向特殊课程《问题求解》(Problem Solving) 这门课持续四个学期,将程序设计、算法分析与设计、数据结构、离散数学等打通,一起教学,使得效率提高,可以讲更多的内容。
② 代数
线性代数(大二)
- 应用:作为最基本的数学工具,几乎无孔不入。在编码、机器学习等方向更是重中之重。
矩阵论
- 应用:用到矩阵的地方都有用。
③ 分析
微积分(大一)
- 应用:计算机中与微积分打交道并不多。但随着深度学习的兴起,微积分由变得常用了起来。
实变函数
- 应用:现代概率论的基础(暂时感觉没什么用)
概率论(大三)
- 应用:可谓现如今机器学习的基石
数理统计(大三)

信号分析与处理
- 应用:计算机通信、数字图像处理等
信息论
- 应用:计算机通信、密码学、机器学习等
计算方法

④ 物理
大学物理(大一、大二)
- 应用:很多人认为计算机系学物理没必要,我现在觉得不然。物理作为从实践走向理论的经典学科,一定程度上与现在的机器学习相似。此外,还可以提供跨学科研究的基础。

电路分析(大一)

算法
算法设计与分析(大一)
- 举例:如何学习算法设计与分析
数据结构(大一)
人工智能(大四)

机器学习
第2个回答  2022-08-01
靠编程这一类,这个学好了,年入百万不是梦,而且把逻辑搞懂就行。工作的地方环境优美,不累且就业率高。
相似回答