📊 Path to a free self-taught education in Data Science!
目录
关于
这是一条路径,适合那些希望在个人时间里自主完成数据科学本科课程的你们,免费,并且是来自世界顶级大学的课程。
在我们的课程中,我们优先选择MOOC(大规模开放在线课程)风格,因为这些课程是为我们的学习风格而设计的。
课程指南
OSSU数据科学采用报告数据科学本科课程指南作为我们推荐课程的参考。
如何使用本指南
学习时长
如果你计划得细致并且每周投入大约20小时的学习,大约可以在2年内完成。学习者可以使用这个表格估算他们的完成日期。复制这个表格,在时间线工作表中输入你的开始日期和预计每周的学习时间。当你进行课程学习时,你可以在课程数据表中输入实际的课程完成日期,以获取更新的完成估算。
警告: 虽然这个表格是一个有用的工具,可以估算你需要完成这个课程的时间,但它可能不包含最新的课程信息。使用这个表格来估算你的学习时间。使用GitHub仓库来查看需要学习的课程。
课程的顺序
有些课程可以并行学习,而有些则需要按顺序学习。一个主题内的所有课程应该按照课程表中的顺序学习。下面的图表展示了主题应该按照怎样的顺序进行。

跟踪进度
将GitHub仓库复制到你的GitHub账户中,并在你完成每项内容时在其旁边打上✅。这可以作为一个看板,并且比其他解决方案更容易实施(这样可以为你节省时间,用于学习课程)。
应该使用哪种编程语言?
Python和R在数据科学社区中广泛使用,我们的课程也会教授这两种语言。记住,每个课程重要的是内化核心概念,并能够使用你选择的任何工具(编程语言)来应用它们。
内容政策
你必须只分享被允许的文件。不要违反你在课程开始时签署的行为准则。
社区
我们有一个Discord服务器!这应该是你与其他OSSU学生交流的第一站。你现在为何不自我介绍一下?
你也可以通过GitHub问题进行互动。
将开源社会大学添加到你的领英个人资料!
警告: 在搜索OSSU时,你可能会找到一些第三方/弃用/过时的材料。我们建议你忽略它们,只使用OSSU数据科学GitHub仓库。一些已知的过时材料包括:
- 一个不再维护的废弃Trello看板
- 第三方Notion模板
先修条件
课程
数据科学导论
计算机科学导论
已经掌握任何语言的基本编程知识的学生可以跳过这门课程
数据结构与算法
算法课程是用Java教授的。如果学生需要学习Java,他们应该先上这门课程
算法I:ArrayLists, LinkedLists, Stacks和Queues
算法IV:模式匹配,Dijkstra算法,最小生成树和动态规划算法
数据库
单变量微积分
线性代数
多变量微积分
统计与概率
斯坦福大学在EdX上的Python统计学习 (教材, 教材资源) 或 斯坦福大学在EdX上的R语言统计学习 (教材, 教材资源)
数据科学工具与方法
机器学习/数据挖掘
最终项目
学习的部分是实践。 每门课程的作业和考试都是为了让你使用所学的知识解决现实世界的问题。
在完成课程大纲后, 你应该找到一个你可以使用所学知识解决的问题。 你可以创造全新的东西,也可以改进你使用并希望它能更好的某个工具/程序。
希望得到更多项目指导的学生可以选择一系列以项目为导向的课程。 在这个页面上有一些选项的例子(还有很多,现在你应该能够找到一系列对你来说有趣且相关的课程)。
恭喜
在完成以上课程大纲的要求后, 你将完成相当于完整的数据科学学士学位的学习。 恭喜!
你接下来要做些什么呢?可能性无穷无尽且相互交织:
- 寻找数据科学方面的工作!
- 查看经典读物阅读材料,这些书籍将磨练你的技能并拓展你的知识。
- 参加本地数据科学聚会(例如通过meetup.com)。
- 关注数据科学领域的最新技术。

如何贡献
你可以提出一个问题,告诉我们你对如何改进这个指南的建议,或者我们能做些什么来改善学习体验。
你也可以复制这个项目并发送一个拉取请求来修复你发现的任何错误。
如果你想要推荐一个新资源,发送一个拉取请求,将此类资源添加到额外资源部分。额外资源部分是我们所有人提交有趣的额外文章、书籍、课程和专业化的地方。
行为准则
团队
- 课程维护者:Waciuma Wanjohi
- 贡献者:贡献者