值得一看的网络课程推荐(不限于计算机科学)

前言:搜罗来一些不错的网络课程,比如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 内容请参考连接,感觉已经非常理论了。

还有一个是斯坦福大学的算法专项课程,斯坦福的课程比较偏理论,需要一定的数学基础,四个部分包括:

  1. Divide and Conquer, Sorting and Searching, and Randomized Algorithms
  2. Graph Search, Shortest Paths, and Data Structures
  3. Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
  4. Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

关于数据科学,优达学城的Intro to Data Science

关于机器学习,非常著名的Andrew Ng,吴恩达老师(人工智能和机器学习领域国际最权威学者之一)的课程
Stanford的Machine Learning:https://www.coursera.org/course/ml

关于函数式编程
Functional Programming Principles in Scala https://www.coursera.org/course/progfun

关于推荐系统
Introduction to Recommender Systems https://www.coursera.org/learn/recommender-systems-introduction

关于软件测试
Software Testing https://www.udacity.com/course/cs258
Software Debugging https://www.udacity.com/course/cs259


其他网友推荐top3:

  1. 华盛顿大学的 Programming Languages
    这门绝对是第一神课啊!很奇怪前面的回答很多只是轻轻带过……首先,课程内容不是一般大学里会教的,函数式编程,一开始就让你大开眼界!后面各种类型推导系统,用Scheme写解释器,还有非常精华的各种编程范式的优劣比较,醍醐灌顶毫不为过。其次,老师讲的非常好,上过的同学应该还记得他上窜下跳要让你记住函数类型的contra-variant规则吧!口音清晰,讲解细致,实时写代码进行解释,不能更耐心了!最后,整个课程的作业设置也很好,有理论上的问题,也有编程实践,而且难度也适中,每次都会先从热身开始慢慢加大难度。最吊的就是peer assessment了!简直就是code review最佳实践啊,还能学习别人好的写法,又是对功力的一大提升!总之这门课对整个Coursera系统的利用之完善可以说是到了极致,也正是因为上了这门课让我从此对Coursera无比痴迷,疯狂刷课……

  2. Maryland的 Software Security 这个是正在上的,也是讲的非常好!把很多概念都串起来了,一周当黑帽,下一周换白帽,展现了计算机安全的方方面面。而且内容很新,heartbleed,MCFI之类的2014年出现的东东都提到了。这门课的deadline非常紧,作业都是限时提交的,还好上了第一周看难度不大,评分方面感觉有点bug……明明做错了都算我得分……今年是安全大热的年度,Maryland的安全系列课程有四门,感兴趣的同学可以都跟一下!

  3. Princeton的 Algorithms 目前上过的最好的算法课(即上面第一个),这位老爷爷师承高德纳,但又不像The Art of Computer Programming那么偏理论天书范……他写的算法红宝书也是广受追捧,看他上课的确是种享受,娓娓道来,各种图表动画,脉络清晰。这门课的作业也很赞,有理论问题,有面试常见问题,还有编程大作业三部分。其中编程大作业难度挺大,课题都很有趣,比较偏工程,只给一个API的框架然后自己去实现整个流程(也就是不光包括核心算法,也有文件IO,数据预处理之类的东西),每次都要做上好几个钟头。编程作业的评判也是相当严格,会考察代码风格,运行时间,消耗内存,API调用次数等等额外的东西,让我这个专业搞测试的人都有点汗颜了

未完待续

你可能感兴趣的:(网络课程,教程)