TOC
前言:搜罗来一些不错的网络课程,比如Coursera, edX, Udacity上
一、计算机类
算法类首推Coursera上普林斯顿大学的Robert Sedgewick,能把复杂的算法(典型例子:红黑树,KMP算法)讲解清楚,缺点是没有动态规划,然后后面斯坦福大学的算法课程里面有。
Algorithms, Part I :Union-Find,Analysis of Algorithms,Stacks and Queues,Elementary Sorts,Mergesort,Quicksort,Priority Queues,Elementary Symbol Tables,Balanced Search Trees,Geometric Applications of BSTs,Hash Tables
Algorithms, Part II :Undirected Graphs,Directed Graphs,Minimum Spanning Trees,Shortest Paths,Maximum Flow,String Sorts,Tries,Substring Search,Regular Expressions,Data Compression,Reductions,Linear Programming,Intractability
Analysis of Algorithms :Analysis of Algorithms,Recurrences,Solving recurrences with GFs,Asymptotics,The symbolic method,Trees,Permutations,Strings and Tries,Words and Mappings 也是非常干货的一门课!
Analytic Combinatorics 内容请参考连接,感觉已经非常理论了。
还有一个是斯坦福大学的算法专项课程,斯坦福的课程比较偏理论,需要一定的数学基础,四个部分包括:
- Divide and Conquer, Sorting and Searching, and Randomized Algorithms
- Graph Search, Shortest Paths, and Data Structures
- Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
- Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
关于数据科学
关于机器学习
非常著名的Andrew Ng,吴恩达老师(人工智能和机器学习领域国际最权威学者之一)的课程 Stanford的Machine Learning
关于函数式编程
Functional Programming Principles in Scala
关于推荐系统
Introduction to Recommender Systems
关于软件测试
其他网友推荐top3:
华盛顿大学的 Programming Languages 这门绝对是第一神课啊!很奇怪前面的回答很多只是轻轻带过……首先,课程内容不是一般大学里会教的,函数式编程,一开始就让你大开眼界!后面各种类型推导系统,用Scheme写解释器,还有非常精华的各种编程范式的优劣比较,醍醐灌顶毫不为过。其次,老师讲的非常好,上过的同学应该还记得他上窜下跳要让你记住函数类型的contra-variant规则吧!口音清晰,讲解细致,实时写代码进行解释,不能更耐心了!最后,整个课程的作业设置也很好,有理论上的问题,也有编程实践,而且难度也适中,每次都会先从热身开始慢慢加大难度。最吊的就是peer assessment了!简直就是code review最佳实践啊,还能学习别人好的写法,又是对功力的一大提升!总之这门课对整个Coursera系统的利用之完善可以说是到了极致,也正是因为上了这门课让我从此对Coursera无比痴迷,疯狂刷课……
Maryland的 Software Security 这个是正在上的,也是讲的非常好!把很多概念都串起来了,一周当黑帽,下一周换白帽,展现了计算机安全的方方面面。而且内容很新,heartbleed,MCFI之类的2014年出现的东东都提到了。这门课的deadline非常紧,作业都是限时提交的,还好上了第一周看难度不大,评分方面感觉有点bug……明明做错了都算我得分……今年是安全大热的年度,Maryland的安全系列课程有四门,感兴趣的同学可以都跟一下!
Princeton的 Algorithms 目前上过的最好的算法课(即上面第一个),这位老爷爷师承高德纳,但又不像The Art of Computer Programming那么偏理论天书范……他写的算法红宝书也是广受追捧,看他上课的确是种享受,娓娓道来,各种图表动画,脉络清晰。这门课的作业也很赞,有理论问题,有面试常见问题,还有编程大作业三部分。其中编程大作业难度挺大,课题都很有趣,比较偏工程,只给一个API的框架然后自己去实现整个流程(也就是不光包括核心算法,也有文件IO,数据预处理之类的东西),每次都要做上好几个钟头。编程作业的评判也是相当严格,会考察代码风格,运行时间,消耗内存,API调用次数等等额外的东西,让我这个专业搞测试的人都有点汗颜了
持续更新