Skip to content

理论与课程介绍 ​

返回 目录

实践之外,这些理论课程决定了你能走多远,在工程中一开始你借助vibe还好,但一旦代码量上去,各种问题就会随之而来,而这些都可以从我们学的课程中找到答案。

程序语言设计、算法与数据结构 ​

应该算是最基本的课吧,程序语言设计这门课,如果是大数据专业/人工智能专业的,我们学校最一开始上的是c++,其他专业应该上的是python。这门课教会的是你如何利用程序语言的角度设计编程,语言是有一堆的,但概念与思想是统一的,一切都从基本的hello world开始打起。紧接着你会学会条件判断,循环,函数,类的概念,以及之后的继承,多态等等,这些都是程序语言共有的概念,多实操,多自己手写程序(可以向ai提问,但是不要照搬全抄),你对细节逻辑的掌握会慢慢变强的。

再就是算法与数据结构课了,这个更多偏数学一些,算法教会的是如何在一段程序内,达成相对应的目标,而数据结构教你的是如何自己创建一个维护数据的工具,使得更好地利用这些数据。你们可能知道的ACM算法竞赛,就是基于这两门课的。一个好的算法,可以从本来一天才能算完的工作量,一个小时就搞定了。这些工具是相当优美的,如果你高中时候对钻研数学压轴题有兴趣的话。

此外我还得强烈推荐一点,不要照着中文教材看,要结合英文术语看,并且宁愿向ai问也不要死看教材,你看不懂的,这是因为有很多概念的中文翻译不明所以,但是英文原文又很生动,比方说class这个中文叫类,object才叫对象,我大一就一直很纳闷为啥叫这个。

数学主课 ​

高等数学 ​

这门课与高中数学略有不同的是,高等数学参杂着一些对数学逻辑的证明(数学分析就更是证明了),然后对于编程的话,一般情况用到的比较少,但是一旦用到万万不能没有它(比方说计算机图形学,又比方说深度学习的梯度下降),所以好好学是有必要的(另外的话如果你们碰到的是康悦明老师的话hhh,不好好学会挂科的,虽然课教的很好)。平时学着如果需要增长理解的话,相当推荐看3blue1brown的视频,然后外网youtube/b站也有部分对高数的讲解,此外还是需要刷一点点题目的。

线性代数 ​

这门课会从你解多元一次方程开始,讲述行列式,矩阵等的概念,如何快速利用这些工具求解方程,另外如果深入机器学习,深度学习的话,这门课会比高数还要经常用到,因此一定要好好学这门课。课程的话,要是是周大鹏或者刘海教的话,你们照着讲义学习就行,很清晰明了,然后多刷题多复盘。

概率论与数理统计 ​

这门课没有超出高中教的概率与统计太多,主要就是补充了更完整的理论体系:你会系统认识各种分布(二项、泊松、正态这些),然后是大数定律和中心极限定理——告诉你为什么样本够多的时候一切都近似服从正态分布,接着是参数估计(矩估计、最大似然估计)与假设检验。如果继续深入机器学习的话,这门课是地基中的地基。学习方法上还是老一套,3blue1brown 有相关的概率视频,教材例题跟着推一遍,弄懂思想比背公式重要得多。

AI 主课 ​

机器学习 ​

如果说前面是修炼内功,这门课就是你接触 AI 世界的正门。这门课教你的是:如何不手动写规则,而是让程序从数据里自己"学"出规律——从线性回归、逻辑回归这些最简单的模型出发,到决策树、支持向量机、聚类、降维,再到集成学习(随机森林、GBDT 这些工业界常青树)。教材国内最经典的是周志华的《机器学习》(西瓜书)和李航的《统计学习方法》,学校课程基本绕不开它们;网课推荐吴恩达的 Machine Learning Specialization 。

还是那句话,只会推导不会跑代码,等于没学。

深度学习 ​

机器学习的延伸,也是当前大模型时代的直接基础。内容是各类神经网络:CNN 处理图像,RNN/Transformer 处理序列(现在大模型的核心就是 Transformer),再加上训练技巧——反向传播、优化器、正则化、归一化。课程首推李沐的《动手学深度学习》(d2l.ai,B站有完整视频,书免费开源),框架认准 PyTorch。学完之后你自己能从零训练一个小网络识别手写数字,那时候再看大模型就不会觉得是什么黑魔法了。

计算机主课 ​

计算机网络 ​

这门课回答一个问题:你发出去的微信消息,到底是怎么穿过半个地球到达对方手机的?内容沿着网络分层模型展开:应用层(HTTP、DNS)、传输层(TCP/UDP)、网络层(IP、路由)、链路层。这门课的特点是概念又多又碎,但是国内大厂面试这块问得极其频繁(俗称"八股文"),想走后端、基础架构方向的话,这门课值得投入双倍精力。

操作系统 ​

如果说算法是程序的大脑,操作系统就是程序住的房子。这门课讲进程与线程、CPU 调度、内存管理(虚拟内存、分页)、文件系统、死锁这些——你写的每个程序,跑起来之后都是操作系统在幕后给它分配资源、安排档期。个人认为这是仅次于算法数据结构,程序语言设计的最重要的课,几乎编程的每个领域到后面都会撞上这堵墙,如果你是想做AI infra,想做后端的,就更是如此了。至于课本身嘛,我建议是跟着蒋炎岩的操作系统课一边问ai一边学,没有时间的话看一下csapp。

计算机体系与结构 ​

(待补充)

以兴趣驱动学习