Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部整理

Github近5万赞的计算机专业课程,从小白到大牛的学习之路

想要自学成才,打造计算机科学坚实的基础?这是从核心知识到进阶应用所必须的课程,它们都是顶级高校在 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 这个大家庭,并持续提升相关知识水平。

参考链接:https://github.com/ossu/computer-science

入门计算机科学课程
7
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

暂无评论
暂无评论~