《麻省理工大學公開課程:計算機科學及編程導論》完整版
音軌:英語
字幕:中文字幕.
【課程描述】
本課程針對很少或毫無編程經驗的學生設計,目標是讓學生培養計算式思維能力,並通過編程實現壹些實用目的。課程結束後,學生將具有代碼的讀寫能力和用計算式思維解決問題的信心。課程使用Python?作為媒介語言講解。
【導師介紹】
格裏姆森教授(Prof. Eric Grimson)
古塔教授(Prof. John Guttag)
兩人為MIT的現任和前任計算機系主任,課程的重要程度和過多的介紹我就不說了。
【Python簡介】
是壹種面向對象、解釋型計算機程序設計語言,也是壹種功能強大而完善的通用型語言,已經具有十多年的發展歷史,成熟且穩定。這種語言具有非常簡捷而清晰的語法特點,適合完成各種高層任務,幾乎可以在所有的操作系統中運行。目前,基於這種語言的相關技術正在飛速的發展,用戶數量急劇擴大,相關的資源非常多。
Python在編程領域的占有率壹直處於穩步上升之中,根據最新的數據,Python排名第六。前五名分別是Java、C、PHP、C++ 和 VB. 作為壹個很年輕的語言,Python的位置已經相當令人振奮了。隨著微軟將Python納入.Net 平臺,相信Python的將來會更加強勁發展。Python 很可能會成為.Net平臺快速開發的主流語言。欲了解這方面情況,請參考Iron Python的相關信息.
著名的搜索引擎 Google 也大量使用Python。更加令人吃驚的是,在Nokia智能手機所采用的Symbian操作系統上,Python成為繼C++,Java之後的第三個編程語言!2006年的Google編程大賽已經將Python作為參賽語言之壹,可見Python的影響力之巨大。
Zope-應用服務器
Plone-內容管理系統
Django-鼓勵快速開發的web framework
Twisted - Python Network Application Framework Python的網絡應用程序框架
TurboGears - 另壹個Web應用快速開發框架
Bit Torrent - 著名的BT下載工具
還有很多遊戲也是用Python制作的
目錄:
1:課程目標;數據類型、運算、變量
1: Introduction and Goals; Data Types, Operators, and Variables
2:分支、條件和循環
2: Branching, Conditionals, and Iteration
3:循環程序壹般代碼樣式
3: Common Code Patterns: Iterative Programs
4:函數抽象、遞歸簡介
4: Abstraction through Functions; Introduction to Recursion
5:浮點數、逐次逼近、求平方根
5: Floating Point Numbers, Successive Refinement, Finding Roots
6:二分法、牛頓法、列表簡介
6: Bisection Methods, Newton/Raphson, Introduction to Lists
6:列表和可變性、字典、效率簡介
7: Lists and Mutability, Dictionaries, Introduction to Efficiency
7:算法復雜度:對數、線性、二次、指數
8: Complexity: Log, Linear, Quadratic, Exponential Algorithms
8:折半搜索、泡沫排序和選擇排序
9: Binary Search, Bubble and Selection Sorts
9:分治法、歸並排序、異常
10: Divide and Conquer Methods, Merge Sort, Exceptions
10:測試和調試
11: Testing and Debugging
11:調試、背包問題、動態規劃簡介
12: Debugging, Knapsack Problem, Introduction to Dynamic Programming
12:動態規劃:重復子問題、最優子結構
13: Dynamic Programming: Overlapping Subproblems, Optimal Substructure
14:面向對象編程簡介
14: Introduction to Object-oriented Programming
15:抽象數據類型、類、方法
15: Abstract Data Types, Classes and Methods
16:封裝、繼承、遮蔽
16: Encapsulation, Inheritance, Shadowing
17:計算模型:隨機遊走模擬
17: Computational Models: Random Walk Simulation
18:表示模擬結果、Pylab作圖
18: Presenting Simulation Results, Pylab, Plotting
19:有偏隨機遊走、分布
19: Biased Random Walks, Distributions
20:蒙特卡洛模擬、估算π
20: Monte Carlo Simulations, Estimating pi
21:驗證模擬結果、曲線擬合、線性回歸
21: Validating Simulation Results, Curve Fitting, Linear Regression
22:正態、均勻和指數分布
22: Normal, Uniform, and Exponential Distributions
23:股市模擬
23: Stock Market Simulation
24:課程總回顧:按計算機科學家那樣思考
24: Course Overview; What Do Computer Scientists Do?