专栏首页五分钟学算法GitHub 标星 5w+,计算机小白到大牛的学习之路!

GitHub 标星 5w+,计算机小白到大牛的学习之路!

微信搜 “五分钟学算法” 点关注

设为 “星标”,每天带你逛 GitHub!

本文转载自机器之心

想要自学成才,打造计算机科学坚实的基础?这是从核心知识到进阶应用所必须的课程,它们都是顶级高校在 Coursera 等平台上开放的课程,所以放心大胆地学起来吧。

计算机科学一直是近年来高考报考的热门专业,是一门研究计算机相关规律的学科。近年来,随着开源社区的蓬勃发展,以及人工智能对各行各业的影响,很多人希望能够通过系统全面地学习计算机科学领域的知识。最近,在 GitHub 上有一个自学计算机科学的教程,总结了从零开始成为计算机大牛的学习之路。

项目地址:https://github.com/ossu/computer-science

这是什么样的计算机科学课程

这个计算机科学课程是来自一个名为 OSSU 组织整理的课程,所有的内容都是网络课程,基本上是免费的。课程面向的是大学本科生(计算机专业或计算机辅修),或从大学非计算机科学专业毕业的人们。当然,学习者只需要有高中数学基础即可开始。

考虑到计算机科学本身的难度,项目作者提到,参与学习的人需要每周拿出 18 到 22 小时的时间,花大约两年完成这项课程。

当然,有一些课程因为需要为作业项目打分而收取费用(基本上是后期高级课程),项目作者也强调说学习者可以通过申请补助或选择性跳过的方式来自主决定。

本项目的课程主要分为两部分,即 CS 核心知识与 CS 进阶知识。CS 核心知识需要我们具备高中水平的理科知识,包括几何、代数、简要微积分等等。当然,如果我们还记得大学学过的高数,那么背景知识就已经非常充足了。对于 CS 进阶知识,我们应该首先掌握整个 CS 的核心知识体系,从而进一步选择想要进修的子领域。

当然,在进入核心知识体系前,我们可以通过一个课程先看看计算机科学与编程到底是什么。

CS 核心知识

掌握 CS 核心知识需要学习以下所有课程。

核心编程

核心数学

核心系统

核心理论

核心应用

CS 进阶

完成 CS 各种必修课后,我们应该从进阶课程中选择一些。虽然并不是每个子领域的课程都需要学习,但我们应该特别关注某个子领域的所有课程。进阶课程最终应该以某个特定领域的高级应用为结束,我们最终需要通过一个 Final Project 来实战所学到的知识。

进阶编程

进阶数学

进阶系统

进阶理论

进阶应用

这些专业课程最终要落实到机器人、数据挖掘、大数据、物联网、云计算、全栈 web 开发、数据科学和 Scala 函数式编程等实际应用中,并且有的需要提前掌握线性代数、编程、机器学习、数据库等相关预备课程。

完成上面这些课程,差不多我们就有最坚实的 CS 本科知识了。最后,该项目还提供了一些关于 Final Project、专项课程和社区的建议与资源,它们可以帮助我们快速融入 CS 这个大家庭,并持续提升相关知识水平。

资料已备足,你准备好开始学习了吗?

以上,便是今日分享,觉得不错,还请点个在看,谢谢~

有热门推荐?

1.【程序员】我们就必须承认:这个世界上,有很多问题,就是无解的

2.【GitHub】我在 GitHub 上看到了一个丧心病狂的开源项目!

3.【算法】动画:七分钟理解什么是KMP算法

4.【数据结构】十大经典排序算法动画与解析,看我就够了!

本文分享自微信公众号 - 五分钟学算法(CXYxiaowu)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支

    提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。 提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见 提示:'g...

    拓荒者
  • VS Code推荐插件合集

    試毅-思伟
  • 面对高度不均衡数据如何提高精度?这篇文章有妙招

    本文是对 CVPR 2019 论文「Class-Balanced Loss Based on Effective Number of Samples」的一篇点评...

    AI研习社
  • git解决error: Your local changes to the following files would be overwritten by merge

    解决error: Your local changes to the following files would be overwritten by merge

    拓荒者
  • 【带着canvas去流浪(14)】Three.js中凹浮雕模型的生成方式

    浮雕模型,简单地说就是在木板上刻字时所形成的效果,如果把字的部分都剔除掉,就得到一个凹浮雕模型,如果把字以外的部分都剔除掉,就得到一个凸浮雕模型。本文分别对利用...

    大史不说话
  • Git常用命令总结

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    拓荒者
  • google工程实践文档

    前几天,谷歌在GitHub上开源了他们的《谷歌工程实践文档(Google Engineering Practices Documentation)》。(回复:g...

    技术小工
  • ASP.NET Core 3.0 使用 gRPC无法编译问题

    https://jingyan.baidu.com/article/c910274b347bd98d361d2da3.html

    晓晨
  • Cobalt Strike beacon上线通知cna脚本

    Cobalt Strike应该是大家耳熟能详的工具了,它支持在客户端添加自定义的cna脚本来扩展功能。

    HACK学习
  • Git冲突:commit your changes or stash them before you can merge. 解决办法

    出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候你进行git pull操作就好出现冲突了,解决方法,在...

    拓荒者

扫码关注云+社区

领取腾讯云代金券