织梦CMS - 轻松建站从此开始!

常青藤|美国常青藤大学|美国常青藤联盟|美国常春藤大学|美国常春藤联盟

Princeton 计算机科学专业

时间:2025-02-02 04:00来源:网络整理 作者:佚名 点击:
Princeton 计算机科学专业普林斯顿大学以优质而严苛的本科生教育闻名,计算机科学和人工智能之父图灵、现代计算机之父冯诺依曼都曾在普林斯顿大学求学和工作过。

计算机科学专业

普林斯顿大学以优质而严苛的本科生教育闻名,计算机科学和人工智能之父图灵、现代计算机之父冯诺依曼都曾在普林斯顿大学求学和工作过。普林斯顿计算机专业对数学有着比较严格的要求。

课程说明

普林斯顿大学计算机专业课程分为基础课、必修课、选修课,学生需要学完所有基础课程,至少8门必修课以及至少3门选修课(必须是开头或更高的COS课程,其中为研究生课程)。

基础课包含数学类微积分(上、下)、线性代数以及工程导论,除此以外还需要学习计算机(计算机科学:跨学科方法 )、(编程系统导论)和(算法与数据结构)以及(现在改为) 计算推理这四门课程必须在大三结束前学完。

和其他计算机专业一样,普林斯顿开始将计算机专业的必修课程分为4类:研究计算机硬件和软件设计的计算机系统、使用数学来严格发展研究领域的基础理论课、人工智能和机器学习以及比较宽泛的应用课程(比如函数式编程、图形学、信息安全、人机交互等)。

选课说明

从普林斯顿2023年课程安排来看,物理、化学等理科课程已经被排除在计算机专业之外,而以往的必修课人工智能和机器学习已经不再是必修,改为应用类的选修,2025年则又要求人工智能和机器学习为必修。2025年的学生需要从以下4类专业课程(计算机系统、人工智能与机器学习、理论课程、应用课程)中都选择一门课程作为必修,同时从这4类里要选择8门必修课,以及3门选修课(选修课也可以是开头的研究生课)。

① 计算机系统

新版课程大纲明确推荐学习COS 316(计算机系统设计原理)或 COS 375(计算机体系结构和组织),而、、为备选,这几门课其实都推荐大家学习。

其中 (汇编技术)、(数据库与信息管理系统)不再做推荐选修的要求、(高级编程技术)则被划分为应用类必修,

② 人工智能与机器学习

明确推荐 (机器学习导论),以下课程为备选:

③ 理论课程

其中 (计算推理)被提到基础必修课里,所有计算机专业的学生必须在大三前学习这门课:

④ 应用课程计算机专业学习目标

计算机科学专业的主要学习目标如下:

推荐学习课程① 计算机科学:跨学科方法

在科学、工程和商业应用的背景下介绍计算机科学。本课程的目标是讲解计算机科学的基本原理和如何解决实际问题,同时帮助学生有效地使用计算机在计算机科学、物理、生物、化学、工程和其他学科中的应用。所涉及的主题包括:计算机硬件和软件系统;用Java编程;算法和数据结构;计算的基本原理;科学计算,包括模拟、优化和数据分析。

先修课程: 零基础可学,无先修课程

学习地址: 计算机科学:跨学科方法

② 编程系统导论

主要包括模块化编程、高级程序设计、编程风格、测试、调试和性能调优;机器语言和汇编语言;和使用系统调用服务。

先修课程: 计算机科学:跨学科方法

学习地址: 编程系统导论

③ 算法和数据结构

本课程调查当今计算机上使用的最重要的算法和数据结构。特别强调用于排序、搜索和字符串处理的算法。还涵盖了许多其他领域的基本算法,包括几何算法、图形算法和一些数值算法。

先修课程: 计算机科学:跨学科方法

学习地址: 算法和数据结构

④ 计算推理

介绍与计算机科学相关的数学主题。组合数学、概率和图论将在计算机科学应用的背景下进行介绍。本课程将介绍一种计算机科学方法来思考和建模。将向学生介绍从高效计算的世界观中产生的基本概念,例如 NP 完整性和密码学。

先修课程: 计算机科学:跨学科方法、 算法和数据结构 以及 线性代数

学习地址: 计算推理

⑤ 计算机系统设计原理

本课程教授学生计算机系统的设计、实现和评估,包括操作系统、网络和分布式系统。该课程将教授学生评估性能并研究现有系统的设计选择。学生还将学习支持模块化、性能和安全性设计目标的通用系统概念。学生将应用在讲座和阅读中学到的材料来设计、构建和评估新的系统组件。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 计算机系统设计原理

⑥ 操作系统

操作系统的设计和分析的研究。主题包括:进程、互斥、同步、信号量、监视器、死锁预防和检测、内存管理、虚拟内存、处理器调度、磁盘管理、文件系统、安全、保护、分布式系统。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 操作系统

⑦ 编译技术

了解编译器的设计和构造。概念包括语法分析、语义、代码生成、优化和运行时系统。将研究命令式语言(如 C)、函数式语言(如 ML)和面向对象语言(如 Java)的编译。学生将为一种小语言实现一个完整的编译器。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 操作系统

⑧ 函数式编程

普林斯顿大学世界排名_普林斯顿大学王牌专业_普林斯顿大学

类型化函数式编程原理的介绍。对结构化数据类型的递归函数进行编程,并通过归纳这些函数的正确性进行非正式推理。函数式算法和数据结构。模块化编程、类型抽象、表示不变量和表示独立性的原则。并行函数式编程、算法和应用。

先修课程: 算法和数据结构

学习地址: 函数式编程

⑨ 高级编程技术

这是一门关于编程实践的课程。编程不仅仅是写代码。程序员还必须权衡利弊,在备选设计方案中进行选择,调试和测试,提高性能,并维护自己和他人编写的软件。同时,他们必须在满足规范的同时关注兼容性、稳健性和可靠性。学生将有机会通过编写自己的代码和参加小组项目来培养这些技能。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 高级编程技术

⑩ 计算机体系结构和组织

计算机体系结构和组织简介。指令集设计;基本的处理器实现技术;绩效管理;缓存和虚拟内存;流水线处理器设计;成本、性能和复杂性之间的设计权衡。

先修课程: 编程系统导论

学习地址: 计算机体系结构和组织

⑪ 分布式系统

本课程涵盖分布式系统的设计和实现。学生将了解现代、可靠和高性能分布式系统设计背后的原则和技术。主题包括服务器设计、网络编程、命名、并发和锁定、一致性模型和技术、安全和容错。一些最大的互联网站点(例如,谷歌、、亚马逊)采用的现代技术和系统也将包括在内。

先修课程: 编程系统导论、 操作系统、 高级编程技术

学习地址: 分布式系统

⑫ 算法导论

设计和分析高效的数据结构和算法。构建和分析算法的一般技术。NP完全性简介。

先修课程: 算法和数据结构、 计算推理

学习地址: 算法导论

⑬ 数据库和信息管理系统

用于访问和管理半结构化信息(例如,Web 信息库)的数据库系统和系统的理论和实践方面。主题包括:关系和 XML 模型、存储和索引结构、查询表达式和评估、并发和事务管理、搜索有效性。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 数据库和信息管理系统

⑭ 信息安全

计算、通信和电子商务中的安全问题。目标和弱点;法律和道德问题;基本密码学;私人和经过身份验证的通信;电子商务; 软件安全;病毒和其他恶意代码;操作系统保护;可信系统设计;网络安全; 防火墙;政策、行政和程序;审计;人身安全;灾难恢复; 可靠性; 内容保护;隐私。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 信息安全

⑮ - 计算机网络

本课程研究计算机网络以及在其上运行的应用程序和服务。该课程涵盖网络概念,包括:分组交换;互联网路由和业务关系;IPv4 和 IPv6 寻址;域名系统(DNS)、路由器、交换机和中间盒设计;网络安全; 内容分发网络;无线网络; 和网络应用程序,例如流媒体视频。该课程还将包括几个编程任务,从客户端-服务器编程到网络测量、分析和推理

先修课程: 编程系统导论

学习地址: - 计算机网络

推荐选修① 计算机图形学

计算机图形学导论。主题包括图像合成、3D 建模、图像处理和动画。鼓励亲身体验。

先修课程: 编程系统导论、 算法和数据结构

学习地址: 计算机图形学

② 密码学

计算机图形学导论。主题包括图像合成、3D 建模、图像处理和动画。鼓励亲身体验。

先修课程: 算法和数据结构

学习地址: 密码学

③ 人机交互

创造适合人们日常生活的技术不仅仅涉及拥有技术上复杂的算法、系统和基础设施。它涉及了解人们如何思考和行为以及如何使用这些信息。设计面向用户的界面,以增强和增强人类的能力。您将了解人机交互领域以及指导对人进行研究的工具、技术和原则。设计和实施面向用户的系统,为用户带来欢乐而不是挫败感,并在涉及创建交互系统的为期一学期的小组项目中将这些技能付诸实践。

先修课程: 编程系统导论

学习地址: 人机交互

专业选课表

------分隔线----------------------------
栏目列表
推荐内容