人工智能本科二年级学生的重点应该是让自己了解人工智能的一般原理,已经解决的问题是什么以及是如何解决的。此外,你应该继续理解与模型构建相关的计算机系统,并实践软件工程和设计原则。为此,建议学习以下课程:
CS 221 Introduction to Artificial Intelligence
人工智能导论(Introduction to Artificial Intelligence):涵盖了不同的人工智能领域的广泛概述,如搜索、游戏、逻辑、图形模型、机器学习和这些算法的应用。这样的课程应该为从符号逻辑到统计技术等方法的思想演变提供历史背景。
CS 143 Compilers
编译器(Compilers):涵盖编译器背后的设计和理论,理想情况下强调从头构建一个完整的编译器。编译器是你编写的每一个程序的核心,即使对人工智能从业者来说,理解它们的工作原理也是很重要的,这样你才能成为有能力的工程师。这样的课程将让你很好地接触到如何构建一个复杂的软件系统,着重于模块化的、经过文档化和测试的、架构良好的组件。除此之外,如果你对追求应用于语言理解的人工智能感兴趣,编译器的设计和传统自然语言处理堆栈之间的相似之处是不可思议的。
CS 145 Introduction to Databases
数据库导论(Introduction to Databases):涵盖数据库管理系统背后的原理,重点诸如关系数据模型、索引、模式和事务等部分。任何现代数据科学家或机器学习工程师都必须在某种程度上与数据库交互,因此了解它们的组织架构方式至关重要。
CS 149 Parallel Computing
并行计算(Parallel Computing):并行计算平台构成了当今许多平台和技术的核心,从 Apache Spark 到 GPU 等硬件。有关并行计算的课程应该介绍这些系统背后的思想,以便你更熟练地有效地使用它们。
CS 140 Operating Systems
操作系统(Operating Systems):如果你想真正擅长系统编程,成为一个更熟练的工程师,那就去上一门操作系统课程,在这门课程中,你必须从头开始构建一个操作系统。您不仅将学习如何设计操作系统,还将学习如何成为一名精通Debug代码的程序员。在未来的人工智能职业中,这些基本技能将是无价的。
