转码必备|美国CS神校的免费公开课都在这,变成大佬全靠它!
申请到大学入学的这几个月,是高中生学习编程的最好时机。你有空闲、有精力、大脑灵敏,网上又有这么多免费资源可供你学习。
今天,我们给大家带来了CS免费公开课合集,其中不乏MIT、斯坦福、CMU和伯克利这样的CS神校课程,所有课程都能在b站和学校官网搜索到。话不多说,速速码住!
01
哈佛大学:计算机科学导论
Harvard CS50
难度:入门
学cs的小伙伴绝对听说过哈佛大学明星编程课——CS50。课程教你如何用算法和解决问题,覆盖面极广,基本包含所有与编程有关的基础知识,比如数据结构、资源管理、软件工程和网络开发等。课程时长12周,共有300多万人上过这门课哦。
02
伯克利:计算机程序结构和解释
Berkeley CS61A
难度:入门
上完哈佛的CS50,用伯克利的CS61A做巩固吧!这门课是比较深入的CS入门课,很适合自学Python。学生能接触到编程范式,包括函数式、面向对象等,教授对算法也给出了详尽的介绍。伯克利在手,品质我有,大家放心冲!
03
麻省理工:CS和Python编程简介
MIT 6.001
难度:入门
MIT的6.001是给没有编程经验的同学准备的,让你了解CS在解决问题中起到的作用。虽然话是这么说,但MIT一门课浓缩了别的学校两到三门课的知识点,难度比较大。它的优点是把编程的底层逻辑讲得特别清楚,教你编程的核心思想。
04
麻省理工:算法导论
MIT 6.006
难度:入门
MIT的6.006在学习完6.001后食用更佳。从名字可以看出,这是MIT的算法入门课。课程介绍了计算问题的数学建模,以及解决这些问题的常见算法、算法范式和数据结构,强调了算法和编程之间的关系,介绍问题的基本性能测量和分析技术。
05
斯坦福:编程抽象
Stanford CS106B
难度:进阶
斯坦福的CS106B是CS106A编程方法论后的进阶课,涵盖了诸如递归、算法分析等高级编程主题,使用的是与C和Java相似的C++编程语言。如果你在计算机CS AP课程拿到了4、5分,或在大学上了编程基础课,那你不妨直接从CS106B入手。
06
伯克利:数据结构
Berkeley CS61B
难度:进阶
上完伯克利CS61A的入门课,可以学习CS61B的数据结构。课程包含软件工程的基本原则、排序和搜索的算法、以及基本的动态数据结构,包括线性列表、队列、树和其他链接结构等。课程使用的是Java编程语言,帮助你提升Java实力。
07
卡内基梅隆:计算机系统导论
CMU 15-213
难度:进阶
上完伯克利CS61A的入门课,可以学习CS61B的数据结构。课程包含软件工程的基本原则、排序和搜索的算法、以及基本的动态数据结构,包括线性列表、队列、树和其他链接结构等。课程使用的是Java编程语言,帮助你提升Java实力。
08
斯坦福:算法的设计和分析
Stanford CS161
难度:进阶
斯坦福的CS161跟伯克利的CS61B,两者二选一上吧(斯坦福的课在知名度上没有伯克利那门高)。它涵盖了分析和设计算法和数据结构的基本方法和思维方式。主题包括递高效算法的介绍、数据结构、算法设计技术、基本图问题的算法等。
09
麻省理工:操作系统工程
MIT 6.828
难度:专业
这是MIT的神级课程,介绍了操作系统最重要的基本概念:操作系统如何提供抽象、隔离、调度、资源管理,为上层应用程序提供服务。学过的人评价道:“这门课循序渐进地在我的大脑里建立起 OS 的大厦框架,要是早点遇到它就好了。”
10
卡内基梅隆:数据库系统
CMU 15-445
难度:专业
CMU这门课教你如何搭建一个SQL数据库,主题包括数据模型、存储模型、查询语言、存储结构、索引、事务处理、恢复、查询处理和并行结构。课程会用到开源和商业数据库系统作为安利来说明这些技术。作为一门注重实践的课程,它适合有扎实编程基础的学生。
微信扫码关注该文公众号作者