jacky解读麻省理工《计算机科学与Python编程导论》第1集
文:@數據分析-jacky(朱元祿)
(一)導言
本課程講的中心思想就是五個字:計算機思維
Python只是輔助工具,是輔助大家理解計算機思維,僅此而已
- 急功近利是人性,適得其反是結果:我們看到有很多講Python的資料,嚴格意義上來說,并不是Python入門,只是幫大家找找敲代碼的感覺,而已;
講師太大牌了,主講人是麻省理工校長 Eric;
本系統課程的坑:大神知識淵博,喜歡旁征博引,難免一講嗨,一些輔助的知識點風頭會蓋過主線,導致主線不是那么清晰,這就需要大家多捋順主線邏輯,有主次的學習;
(二)計算機的發展史
在大牌的講師,要系統的講述一個課程,也都要從歷史開始講,這是必然的
關于計算機歷史的邏輯線,Eric并沒有像普通教授那樣照本宣科按照時間年限開始講,而是從計算機的兩大能力展開的,把握住這個邏輯,我們就可以聽明白第二部分了;
2.1 邏輯線的展開-計算機的兩大能力
無論我們是說計算機思維也好,Python編程也好,我們能依靠的載體是不是都是計算機,計算機也是我們解決實際問題的工具,那么怎樣才能利用好這個工具呢?是不是最大程度的把工具的能力發揮出來;好,要發揮出工具(計算機)最大能力,就要弄清楚2個問題:
第一個問題就是:計算機的能力是什么?
第二個問題就是:我們怎樣把計算機的能力充分的發揮出來?
2.1.1 計算機的能力是什么
能力1:計算
能力2:存儲
- 計算機所具有的兩個根本特性——超快的計算速度和超大的內存。計算機擁有的計算速度,可以達到每秒鐘十億次,與此同時,相較與需要存儲的內容而言,計算機具有近乎無限的存儲空間。正是因為在這兩個驚人特性的組合,便賦予計算機強大的功能。
2.1.2 如何充分發揮計算機的能力
(1)用算法將計算能力發揮到極致
(2)用數據結構將存儲能力發揮到極致
- 雖然我們擁有超快的計算速度,但是面對異常復雜的問題時,單純蠻力式的進行運算,是不明智的。這時候算法就派上了用場,通過一些巧妙的的算法,我們可以把一個問題簡單化,這樣運算自然簡單了許多。同樣的道理,面對復雜的問題,需要存儲的內容和數據是巨大的,如何通過巧妙的存儲以利于數據的讀寫,這就是數據結構的內容了。這也是為什么我們一般會把算法和數據結構放在一起講授,因為它們本來就是一個整體。
2.2 計算機的發展史就是計算和存儲能力的發展史
(1)第一階段:固定程序計算機-為算法制造的機器
- 說白了就是只能解決特定問題的計算機,比如說我們最常見的計算器,當然Eric教授用他深厚的內功給我們舉了很多例子,告訴我們什么同樣也是固定計算機,比如專門解決線性問題的Atanasoff計算機(1941),二戰時期專門破譯代碼的bombe計算機,
(2)第二階段:存儲程序計算機-既能計算又能存儲的計算機
(三)編程語言只是工具,而已
為了說明這個問題,Eric從下面幾個方面展開,其實都是為了說明,Python只是一個工具,他真正要教授的是編程思維;
3.1
計算思維的過程,概括起來主要有四個內容——抽象、可計算、運行、優化。 具體說來,面對一個問題的時候,先利用抽象能力,找到問題的本質,隨后將其轉換為可計算的內容來運行得到結果,但是到這一步并未結束,在得到結果后我們還有對其進行優化,以得到更好的結果,而且這個優化過程是往復多次的。
轉載于:https://www.cnblogs.com/shujufenxi/p/10128276.html
總結
以上是生活随笔為你收集整理的jacky解读麻省理工《计算机科学与Python编程导论》第1集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带你理解 只读事务(@Transacti
- 下一篇: Python(八) 函数、模块