以前本站推荐过麻省理工的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?