标签归档:数据结构

Deep Learning Specialization on Coursera

Coursera课程下载和存档计划四:计算机科学基础公开课

本期整理了CS领域的基础课程,包括算法,数据结构,操作系统,计算机体系结构,计算机网络,编译原理,自动机,数据库等相关的14门课程资源。这些公开课资源一些来自于之前课程图谱群内朋友的或者微博上的朋友的分享,另外一些这里做了下载补充,主要针对Coursera旧课程平台的课程进行备份和分享,对于一些已经迁移至新课程平台的课程,希望大家直接去Coursera新课程平台上去上课,这样会有更好的学习体验。最后特别说明的是,课程网盘资源仅供个人备份学习使用。

关于“Coursera课程下载和存档计划”,请参考:

  1. Coursera Downloader 下载工具
  2. Coursera课程速查表
  3. 机器学习 & 自然语言处理 & 推荐系统 & 数据挖掘相关公开课

以下是按几个类别整理的相关课程资源,相关信息我们也会同步到“Coursera Archive”项目上去:

算法&数据结构相关课程:

15、斯坦福大学 Tim Roughgarden Algorithms: Design and Analysis, Part 1(算法设计与分析上)

该课程在课程图谱上的5个评价都很高,不过对应的的Coursera旧平台主页已经消失,新平台课程主页已经启动,貌似是7月11号开课,感兴趣的同学可以关注:

https://www.coursera.org/learn/algorithm-design-analysis

提供一个之前大家的分享版本:

链接: http://pan.baidu.com/s/1qY8ELmG 密码: ntyb

16、斯坦福大学 Tim Roughgarden Algorithms: Design and Analysis, Part 2(算法设计与分析下)

与上部课程是姊妹篇,课程图谱上的评价依然很高,据说难度更大。同样Coursera主页已经消失,新课程平台已经启动:

https://www.coursera.org/learn/algorithm-design-analysis-2

提供一个之前保存的分享:

链接: http://pan.baidu.com/s/1nvtlPk1 密码: 5m4a

17、普林斯顿大学 Robert Sedgewick & Kevin Wayne Algorithms, Part I(算法上)

该课程在课程图谱上的关注度和评价极高,授课老师之一是Robert Sedgewick, 斯坦福大学博士,导师为Donald E. Knuth(高德纳),从1985年开始一直担任普林斯顿大学计算机科学系教授,曾任该系主任,他的同名书籍与高德纳TAOCP一脉相承,广受欢迎。

提供的网盘链接包含两个版本,均为之前大家的分享:

链接: http://pan.baidu.com/s/1gfHeDoB 密码: tvwj

18、普林斯顿大学 Robert Sedgewick & Kevin Wayne Algorithms, Part II(算法下)

与上面的课程是姊妹篇,评价依然很高,难度更上一层。提供的网盘链接包含两个版本,均为之前大家的分享:

链接: http://pan.baidu.com/s/1nuV5qMt 密码: b73q

19、普林斯顿大学 Robert Sedgewick Analysis of Algorithms(算法分析)

依然Sedgewick大神的算法课程,偏算法分析层面,这里下载了一份作为备份:

链接: http://pan.baidu.com/s/1slKieDJ 密码: 2pg4

20、普林斯顿大学 Robert Sedgewick Analytic Combinatorics(组合分析)

依然Sedgewick大神的算法课程,偏算法分析的数学层面,这里下载了一份作为备份:

链接: http://pan.baidu.com/s/1ge4Dj8J 密码: qnw5

21、北京大学 Wanling Qu 算法设计与分析 Design and Analysis of Algorithms

北大的算法和课程,中文授课,下载了一份作为备份:

链接: http://pan.baidu.com/s/1qXRv16G 密码: bvcn


计算机系统相关课程

22、华盛顿大学 Luis Ceze & Gaetano Borriello The Hardware/Software Interface

程序员名著CSAPP(深入理解计算机系统)的配套課程,课程图谱上的评价很高,提供的网盘资源包括之前大家分享的3个版本:

链接: http://pan.baidu.com/s/1jIyHFvg 密码: ptjw

23、普林斯顿大学 David Wentzlaff Computer Architecture(计算机体系结构)

这里下载了最近一轮课程资源作为备份:
链接: http://pan.baidu.com/s/1i5xxO1J 密码: kdx5

24、北京大学 Chen Xiangqun 操作系统原理(Operating Systems)

北大的课程,汉语授课,下载了一份课程资源作为备份:

链接: http://pan.baidu.com/s/1jINKm5w 密码: jiqj

计算机网络相关公开课

25、华盛顿大学 David Wetherall & Arvind Krishnamurthy & John Zahorjan Computer Networks(计算机网络)

课程图谱上公开课大神 @wzyer 的部分点评:

这门课是现今所有mooc平台上最全面的一门介绍计算机网络的课程。课程以网络的OSI七层模型为主线,全面覆盖了支撑现有互联网的各种基础架构和协议。其中又有重点地讲解了 TCP/IP,HTTP,802.11等常用基础协议,目的是使所有上完课的同学,都能够对于数字信号如何在网络上传播有一个清晰的认识。就我自己上完课的感受来说,这门课完全能够完成这个任务。

这里下载了一个课程资源作为备份:

链接: http://pan.baidu.com/s/1qY07unq 密码: wgtk

编译原理相关课程

26、斯坦福大学 Alex Aiken Compilers(编译原理)

课程图谱上一个朋友的点评:

Aiken教授讲东西很清楚。每周的quiz基本上是不限制attempt次数,自己理解会做了就能拿满分。编程作业是比较传统的四个stage,lexing/parsing/type-checking/codegen。后面两个作业比较花时间,但是不难。编译器最有趣的优化部分也没有要求,实现个one register stack machine就可以通过最后一个作业了。他提供的codebase比较古老,给的是non-modern C++/Java。我因为想熟悉一下Java 8就执意用上了各种新功能(所以花了不少时间查文档,不做死就不会死啊)

这里下载了最近一轮课程资源作为备份:

链接: http://pan.baidu.com/s/1kUXBsjl 密码: prs4

27、斯坦福大学 Jeff Ullman Automata(自动机)

依然是大神 Jeff Ullman 的课程,CSDN上有篇博文”一些牛人榜样,多看看他们写的东西“,其中是这样介绍的计算机大师Jeffrey D. Ullman的:

数据库理论、自动机理论、编译原理大师。他的《Automata Theory, Languages, and Computation》让我真正的进入了计算机基础理论的世界。《Compilers: Principles, Techniques, and Tools 》让编译器不再神奇,让我也能写出自己的编译器。《A First Course in Database Systems》让我对数据库的了解从应用进入了理论的深度,可以说Ullman是我在计算机理论方面的启蒙老师,他的书教给了我计算机世界最奇妙最基础最有趣的东西。

这里下载了一个最近一轮课程资源作为备份:

链接: http://pan.baidu.com/s/1minivtm 密码: p154

28. 斯坦福大学 Jennifer Widom Introduction to Databases(数据库导论)

Coursera上最早的一批的课程,后转为”Self Study”模式,提供一份课程资源作为备份:

链接: http://pan.baidu.com/s/1slcOHNR 密码: 7d9c

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera课程下载和存档计划四

2014年一月份开设课程汇总

2013年,MOOC开始进入人们的视野,2014年将是MOOC正式全面爆发的一年。

2014年一月已经确定会有多门课程即将开设,鉴于内容之多已经可以用“狂轰滥炸”来形容,课程图谱为大家进行简单的梳理,大家根据自己的需要挑选心仪的课程吧

介绍的重点主要还是以计算机科学和数学相关的课程为主:

Coursera平台

1.  斯坦福大学的 Cryptography i ,开课时间:1月6日

这门课程在 Coursera 上开课次数非常高,据说现在已经开到第9轮:

@ffffffoouddddd: 过几天要开始新的一轮了,感觉完成还没多久。不过之前都没做编程题,这次得把编程题做了。这门课理论性很强,到后面基本上都没有 in-video quiz 了。这门课是分类在 CS: Theory 下的。期末考试有点难,因为和之前的作业很不一样。

@Candy的爸爸: Stanford的密码学线上课程,主讲Dan Boneh非常给力,语速很快,是密码学界的大牛。每周的课程内容很多,主要讲了密码学的原理,包括流密码、对称密码、非对称密码,加密认证、完整性算法等。课程内容很值得推荐。我花了非常多的时间来学这门课。准备上7月份的Cryptography II。(注:Cryptography II其实已经跳票多次了,虽然官网上已经确定明年春季会开,不过是否还会跳票至今还是未知)

2. 伊利诺伊大学香槟分校的 Heterogeneous Parallel Programming 开课时间:1月6日

@wzyer: 就是讲CUDA的,额……不知为啥听过几个亚洲人的课都觉得不够给力。这个课……还行吧,学到了CUDA的基础知识,几个编程作业也还不错。不过算不上精品。个人觉得学习CUDA还是Udacity上那个课比较好。
@yongsun: 对GPU编程的各种principles和best practices有不错的介绍,不过老师讲的不是很流畅,PA的环境(特别是评分系统)也颇受诟病,希望后期有更好的改进…

3. 香港中文大学的Information Theory 开课时间:1月6日

信息论的运用相当广泛,在通信以及密码学领域都有实际运用,对于有一定数学基础的朋友可以关注。

4.巴黎中央理工学院的Discrete Inference and Learning in Artificial Vision 开课时间:1月10日

这门课的讲师Nikos Paragios是这个领域的知名专家,感兴趣的朋友可以关注

5. 华盛顿大学的Computational Neuroscience 开课时间:1月10日
该门课程的讲师Rajesh P. N. Rao还因为成功将大脑与电脑链接而成为一时的新闻话题(新闻链接:华盛顿大学成功实现人脑至人脑信号传输

@要有光LTBL: 印度老师很幽默,女老师有点像冷血女杀手酷酷的感觉。。。
讲得很细致,尤其指出了现有神经网络模型和人脑之间的一些区别,我觉得在这方面改进可能是未来的发展方向?
我还是很喜欢这个领域的。另外发现UWashington的几门CS课质量都相当高啊。。。

6.宾夕法尼亚大学的Calculus: Single Variable 开课时间:1月10日
该课曾在2013年年初通过美国官方ACE认证,成为承认学分的课程

@基佬的愛__:这门课讲数列和级数,相同的内容 Robert Ghrist 的 Calculus: Single Variable 也涉及到了。Jim 讲的要比 Robert 要细致,比如一些数列和级数的收敛性的测试定理,Jim 会花一整个 lecture 讲推导过程, Robert 讲的没那么详细。另外整门课我最喜欢的一个 lecture 是关于 Taylor series 那节,Taylor Series 的 motivation 就是 approximation ,实际上他是 linear approximation 的推广,对某个函数在某点做 Taylor expansion 实现上就是找一个函数,使他在该点的值和原函数相等,并且该点的每一阶导数也和原函数的每一阶导数相等,导数反映的是函数的变化情况,这样我们就找到了一个和原函数在某个区间内相同的函数,说在某个区间内是因为有一个收敛性的问题。我可能记不住 Taylor series 的公式,不过我已经随时能把 Taylor series 推导出来了。还有个很有意思的 lecture,为了说明 geometric series 的收敛性,Jim 举了个造桥的问题,用质量均匀分布、形状相同的长木条造桥,最多能造多远?答案是理想状况下,想多远就多远。只要我们把每一块木条放在下一堆木条的重心处就能保证它不倒,然后你会发现每次增加的长度加起来正好构成一个不收敛的级数,Jim 自己造了这么一座很壮观的桥,你能看到这门课课程介绍的图片就是这样一座桥,实际上 lecture 里 Jim 造的那座还要壮观,比课程介绍里的那座要更长。总体来说这门课内容不多、难度不大、(不过我之前已经上过 Robert 的课,并且自学过一些其他的数学)、占用的时间不多,我基本看完视频就马上能把作业完成,不过这门课还是很有启发性的,有很多有意思的东西,Jim 在课程讨论版里也是一如既往的 supportive。另外这门课也有一本配套的免费教材。

7.爱丁堡大学的Artificial Intelligence Planning 开课时间:1月13日

@wzyer: Planning嘛,看到题目就想到了A*。不过学过这门课了才发现实际应用中的算法还是很多的,除了状态空间搜索,还有策略空间搜索等等很多办法。这门课程的内容很多,视频量很大,我险些就放弃了。但是作业倒不多,作业和考试挺有挑战性的。

8. 杜克大学的Image and video processing: From Mars to Hollywood with a stop at the hospital 开课时间:1月20日
对通信和计算机视觉领域感兴趣的朋友可以关注

@freealbert:这门课定位应该是图像处理的入门课程, 内容很全面也很鲜活,从灰度,像素等的最基础的知识一直讲到如今在学术界大红大紫的稀疏表示。Slide和Demo演示都很赞,相信应该能激起很多人对图像处理的兴趣,K-SVD算法就是在他的课上搞明白的。 关于授课老师, Sapiro本人是图像处理的大牛, 光在IEEE上就有文章150余篇, 在PDE和小波方面都有很大的贡献.

9. 莱斯大学的Fundamentals of Electrical Engineering 开课时间:1月20日

@wzyer:课程本身还不错,教授满头白发也很让人尊敬。不过,内流满面的说,他讲的太快了……一门导论课,他从电路基础讲到通信技术,内容很多,速度很快,想深入理解的话课下还得花不少时间……我就那么囫囵吞枣的过了。作业和考试评分系统也经常有点bug啥的。

10. 马里兰大学的Programming Mobile Applications for Android Handheld Systems 开课时间:1月21日
该门课程是Coursera平台上第二门有关Android开发的课程,对移动App开发感兴趣的朋友可以关注一下这门课程

11. 普林斯顿大学的Algorithms, Part I 开课时间:1月23日
数据结构大师Sedgewick的名著Algorithm 4th的配套课程,对于希望能够锻炼扎实数据结构基本功的朋友不要错过这门课程

@培翔-_-:lectures本身4分差不多了 算深入浅出 但是assignment必须5分+
各种内存、性能优化 爽到爆
@wzyer:很好的课程!老师充分展示了名家风范。内容系统,结构紧凑。示例代码简洁清晰。更难得的是作业题目非常有意义,评分脚本很完善。是我上过的课中作业部分最好的了。
@ecluzhang: 这门课分上下两部分。6周跟完了,这个上部分是一个非常浅显易懂的算法入门,基本功方面非常清晰。
前面介绍完算法及分析方法之后,后面每个算法都用思路+动态demo+代码片段+复杂度分析的方式。
值得一提的是代码片段,虽然是java描述但也很简洁,视频里则多了一些java相关的东西(比如assert是什么啊、java有哪些接口会在代码段里用到啊),估计是出于入门的定位。但对于不用java编程的来说就显得有些多余。

12.华盛顿大学的Computer Networks 开课时间:1月24日

@wzyer: 这门课是现今所有mooc平台上最全面的一门介绍计算机网络的课程。课程以网络的OSI七层模型为主线,全面覆盖了支撑现有互联网的各种基础架构和协议。其中又有重点地讲解了 TCP/IP,HTTP,802.11等常用基础协议,目的是使所有上完课的同学,都能够对于数字信号如何在网络上传播有一个清晰的认识。就我自己上完课的感受来说,这门课完全能够完成这个任务。

不过,如果从讲解和交互性上来说,这门课还是难以与一些精品课程相媲美,只能算是一般水平。老师对于各个问题的讲解基本遵循了“提出问题-》解决方案-》应用实例”的顺序,所举的小例子也足够简单清晰,所以不会出现难于理解的情况。但是从交互性和趣味性上说,有意思的讲解不多,也没有什么特点突出的、有趣的内容来让人加深理解。因此上课的时候常常让人觉得乏味。个人认为这一点以后还有很大的改善空间。

其实说这门课程很无趣也并不准确。整个课程里还是时常会有有趣的事情发生,比如空中飞来飞去的小花盆,比如在老师背后扮鬼脸的吃货小萝莉。好吧……也许有人会喜欢这个。不过这个确实……确实和主题关系不大。只这能算是为课程增添一点有趣的小插曲。

这门课的作业分为两个部分,一部分是选择填空题,这部分的分数和最后的证书密切相关;另一部分则是编程和一些网络工具的使用,这个不计分,只是帮助加深理解。由于时间关系,我上课的时候并没有完成第二部分。但我仍然强烈建议想认真学习这门课程的同学去完成编程以及网络工具使用这一部分。虽然这里不算分,但对于课程内容的理解是大有裨益的。

最后该说说老师了,David Wetherall 是计算机网络方面的专家。也是著名的计算机网络教材:Computer Networks的作者之一。这本教材在Amazon上评分是3.9分,要高于著名的SICP,当然和一些大牛的接近5分的经典巨著没法比,不过也绝对够得上好书的标准了。而且他作为老师所讲授过的课程全部是计算机网络相关的,可谓相当专一。因此,完全不用怀疑老师的专业性。

最后,我把这门课推荐给想了解计算机网络的相关知识的同学,也许它算不上很深入,但绝对能为你以后的深入学习打下坚实的基础。

@超級現實的超現實理想主義者:内容覆盖非常全面的一门课,可以看出老师的用心。不过正如@wzyer 所说的:“提出问题-》解决方案-》应用实例” 的授课方式,这门课还是显得比较传统,虽然老师的授课水平不用质疑,但是交互体验还是有点欠缺,毕竟计算机网络是一门偏重工程的课程,如果在Link Layer以上的部分能够将一些概念通过现实中的工具进行演示效果可能会更好一点。可能老师也发现了这个问题,于是大家就看到了老师和他的家人为此作出的努力(看过视频大家就知道我在说什么了,哈哈)
另外值得称赞的是老师在课堂论坛社区里也很积极的与学员互动,常常能很快给出反馈

@要有光LTBL:讲的清楚明白,quiz什么的涉及的也挺合理,别的也没啥可说的。。。顺便我也没做编程作业= =

13. 巴黎中央理工学院的An Introduction to Functional Analysis 开课时间:1月27日
对泛函分析感兴趣的朋友不要错过了

OpenEdx平台
1.哈佛大学的Introduction to Computer Science 开课时间:1月1日

2. 斯坦福大学的Introduction to Databases 开课时间:1月7日

3. UTAustin的Linear Algebra – Foundations to Frontiers 开课时间:1月15日
对于线性代数感兴趣,希望通过编程动手理解的朋友们不要错过这门课程

4.斯坦福大学的StatLearning: Statistical Learning 开课时间:1月21日
统计机器学习,经典教材Elements of Statistical Learning 的作者亲自出马讲解,本课还会提供免费配套教材 An Introduction to Statistical Learning, with Applications in R 对统计学、机器学习感兴趣的朋友千万不要错过!

5.斯坦福大学的Convex Optimization 开课时间:1月21日
优化领域的大师Stephen Boyd亲自出马授课,千万不要错过!

Udacity平台
全世界第一个通过MOOC平台实现的硕士生项目OMSCS(Online Master of Science in Computer Science)将于明年一月正式开课,以下列出了1月将在该项目中开设的课程:
1. CS 6210, Advanced Operating Systems
2. CS 6250, Computer Networks
3. CS 6300, Software Development Process
4. CS 7641, Machine Learning
5. CS 8802, Artificial Intelligence for Robotics: Programming a Robotic Car
(详细信息:OMSCS:Program Information

注:原创文章,转载请注明出处“课程图谱博客”:blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/2014年一月份开设课程汇总