以前本站推荐过麻省理工的C/C++的课程,今天在他们的网站看到上有一组关于计算机科学和编程的免费公开课(视频是Youtube的),我看了几个课程,我觉得讲得很系统啊,而且有一点一通百通的感觉。虽然是理论课,但是可以感到我国的教育还是有很大差距的。这组课程推荐给大家,视频都有字幕,计算机科学系毕业的同学应该会很容易听懂。强烈推荐。(网友Aslan指出已经有人搬运到优酷上了,链接在这里,遗憾的是没有字幕,另外,不知道为什么视频标题写为“Python学习”)
1: Introduction and Goals; Data Types, Operators, and Variables |
2: Branching, Conditionals, and Iteration |
3: Common Code Patterns: Iterative Programs |
4: Abstraction through Functions; Introduction to Recursion |
5: Floating Point Numbers, Successive Refinement, Finding Roots |
6: Bisection Methods, Newton/Raphson, Introduction to Lists |
7: Lists and Mutability, Dictionaries, Introduction to Efficiency |
8: Complexity: Log, Linear, Quadratic, Exponential Algorithms |
9: Binary Search, Bubble and Selection Sorts |
10: Divide and Conquer Methods, Merge Sort, Exceptions |
11: Testing and Debugging |
12: Debugging, Knapsack Problem, Introduction to Dynamic Programming |
13: Dynamic Programming: Overlapping Subproblems, Optimal Substructure |
14: Introduction to Object-oriented Programming |
15: Abstract Data Types, Classes and Methods |
16: Encapsulation, Inheritance, Shadowing |
17: Computational Models: Random Walk Simulation |
18: Presenting Simulation Results, Pylab, Plotting |
19: Biased Random Walks, Distributions |
20: Monte Carlo Simulations, Estimating pi |
21: Validating Simulation Results, Curve Fitting, Linear Regression |
22: Normal, Uniform, and Exponential Distributions |
23: Stock Market Simulation |
24: Course Overview; What Do Computer Scientists Do? |