在人工智能学位学习的第1年,你应该聚焦于学习那些构成计算机科学和现代机器学习基础的核心概念。此处,我假设你完全没有计算机科学先修经历,所以,这一年的主要精力应该花在学习软件和算法基础上,在你的整个学位学习阶段和职业生涯中都将会需要这些基础知识。你应该聚焦的课程包括:
CS 106B Programming Fundamentals
程序设计基础(Programming Fundamentals):介绍面向对象程序设计及数据结构(集合、图等)。人工智能从业者需要有扎实的软件工程技能。
Stanford: CS 106B 2018 Winter Programming Abstractions
CS 107 Introduction to Computer Systems
计算机系统导论(Introduction to Computer Systems):讲授从低层来角度来看计算机科学系统是如何设计和构成的。其中,重点在于学习软件编译过程,当你运行程序时会发生什么,在内存中程序是如何组织的等。
Stanford: CS 107 Computer Organization & Systems
Stanford: CS 107 Programming Paradigms 编程范式
CS 161 Algorithms
算法(Algorithms):涵盖广泛使用的计算机科学算法后面的数学和理论,比如广度优先遍历、动态规划,以及如何分析那些算法的内存和运行时特点
Stanford: CS 161 Algorithms by Tim Roughgarden
CS 109 Probability Theory
概率论(Probability Theory):概率统计是许多机器学习算法的核心, 学习如何解释和分析数据对于任何机器学习或大数据科学的领域来说 ,都是至关重要的。
Stanford: CS 109 2016 FA Probability for Computer Scientists
EE 103 Linear Algebra
线性代数(Linear Algebra):涵盖如何运用矩阵和向量,解线性方程,应用最小二乘法。这些数学基础知识在机器学习领域都被广泛使用。
Stanford: EE103/CME103/ENGR108 Introduction to Matrix Methods
Multi-dimensional Calculus
多维微积分(Multi-dimensional Calculus):你应该能轻松地解得函数梯度,因为这是诸如反向传播算法之类的现代深度学习主力算法的核心技术。
