ForrestKnight/open-source-cs

GitHub: ForrestKnight/open-source-cs

这是一份汇集了哈佛、MIT、斯坦福等顶尖高校免费公开课的计算机科学自学指南,旨在帮助学习者系统化地掌握等同于本科级别的核心计算机科学知识。

Stars: 22534 | Forks: 3229

# 开源计算机科学学位 这是一份精选的免费课程列表,来自麻省理工学院 (MIT)、斯坦福大学 (Stanford) 和普林斯顿大学 (Princeton) 等知名高校,其内容涵盖了与计算机科学本科学位相同的要求(除通识教育外)。 ## 计算机科学基础 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [计算机科学导论](https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x) | Harvard | 10 周 | 10-20 小时/周 | 自定进度 | 无 ## 编程 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [Java 编程:使用软件解决问题](https://imp.i384100.net/GjkPGV)| Duke | 4 周 | 4-8 小时/周 | 每月两次 | 无 [Java 编程:数组、列表和结构化数据](https://imp.i384100.net/15knRR)| Duke | 4 周 | 4-8 小时/周 | 每月两次 | Java 编程:使用软件解决问题 [Java 面向对象编程](https://imp.i384100.net/ZdznBq)| Duke | 6 周 | 4-6 小时/周 | 每周 | Java 编程:数组、列表和结构化数据 [数据结构与性能](https://imp.i384100.net/oevm0b)| Duke | 6 周 | 6-10 小时/周 | 每周 | Java 面向对象编程 [Java 编程:软件设计原则](https://imp.i384100.net/zavZrO) | Duke | 4 周 | 4-8 小时/周 | 每月两次 | Java 编程:数组、列表和结构化数据 [Java 编程:构建推荐系统](https://imp.i384100.net/n1vro6) | Duke | 4 周 | 3-6 小时/周 | 每月一次 | Java 编程:软件设计原则 [编程语言,第一部分 (Part A)](https://imp.i384100.net/6b13oK) | UW | 5 周 | 8-16 小时/周 | 每月一次 | Java 面向对象编程 [编程语言,第二部分 (Part B)](https://imp.i384100.net/2rebMz) | UW | 3 周 | 8-16 小时/周 | 每月一次 | 编程语言,第一部分 (Part A) [编程语言,第三部分 (Part C)](https://imp.i384100.net/Ryogm9) | UW | 3 周 | 8-16 小时/周 | 每月一次 | 编程语言,第二部分 (Part B) ## 数学 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [微积分 1A:微分](https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.1x/) | MIT | 12 周 | 6-10 小时/周 | 自定进度 | [微积分预备知识](https://www.edx.org/course/precalculus-asux-mat170x) [微积分 1B:积分](https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.2x/) | MIT | 15 周 | 6-10 小时/周 | 自定进度 | 微积分 1A:微分 [微积分 1C:坐标系与无穷级数](https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.3x/)| MIT | 8 周 | 6-10 小时/周 | 自定进度 | 微积分 1B:积分 [线性代数 - 从基础到前沿](https://www.edx.org/course/linear-algebra-foundations-to-frontiers) | UT Austin | 15 周 | 6-10 小时/周 | 自定进度 | [微积分预备知识](https://www.edx.org/course/precalculus-asux-mat170x) [概率与数据导论](https://imp.i384100.net/9WZ4E0) | Duke | 5 周 | 5-7 小时/周 | 每月两次 | 无 [统计学导论](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk&mid=53187&murl=https%3A%2F%2Fwww.udacity.com%2Fcourse%2Fintro-to-statistics--st101) | Udacity | 8 周 | 5-7 小时/周 | 自定进度 | 无 ## 系统 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [从第一性原理构建现代计算机:从 Nand 到 Tetris](https://imp.i384100.net/6b13dV) | Hebrew University of Jerusalem | 6 周 | 5 小时/周 | 每月两次 | 基础编程知识 [从第一性原理构建现代计算机:从 Nand 到 Tetris II](https://imp.i384100.net/dovNVq) | Hebrew University of Jerusalem | 6 周 | 10-15 小时/周 | 每月一次 | 从第一性原理构建现代计算机:从 Nand 到 Tetris ## 理论 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [计算机科学:算法、理论与机器](https://imp.i384100.net/7mVROr) | Princeton | 10 周 | 2-5 小时/周 | 每月一次 | 微积分 1A(全部),基础编程 [算法,第一部分](https://imp.i384100.net/DVm9eo) | Princeton | 6 周 | 6-12 小时/周 | 每月一次 | 计算机科学:算法、理论与机器 [算法,第二部分](https://imp.i384100.net/jW4xyv) | Princeton | 6 周 | 6-12 小时/周 | 每月一次 | 算法,第一部分 ## 应用 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [软件工程:导论](https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x) | UBCx | 6 周 | 8-10 小时/周 | 自定进度 | Java 编程:构建推荐系统 [机器学习](https://imp.i384100.net/YgYEBJ) | Stanford | 11 周 | 5-7 小时/周 | 每月两次 | 线性代数 - 从基础到前沿 [数据库管理基础](https://imp.i384100.net/kjvDMn) | CU | 7 周 | 4-6 小时/周 | 每月两次 | 基础编程与计算机科学知识 [密码学 I](https://imp.i384100.net/DVm9ej)| Stanford | 7 周 | 5 小时/周 | 每月一次 | 线性代数 - 从基础到前沿 & 概率与数据导论 ## Unix 课程 | 学校 | 时长 | 工作量 | 频率 | 前置条件 :-- | :--: | :--: | :--: | :--: | :--: [Linux 命令行基础](https://imp.i384100.net/linux-cmd) | IBM | 1 周 | 12 小时/周 | 自定进度 | 无 [Unix 工作台](https://imp.i384100.net/QOXZ4P) | JHU | 4 周 | 4 小时/周 | 每月一次 | 无
标签:CS50, Java编程, JS文件枚举, MOOC, 华盛顿大学, 哈佛, 在线教育, 多线程, 开源计算机科学学位, 推荐系统, 教育资源, 数据结构, 杜克大学, 编程语言, 自学CS, 自学编程, 计算机科学基础, 计算机科学课程, 课程合集, 软件开发, 软件设计, 逆向工具, 面向对象编程