今天開始看台大開放式學程的「計算機程式設計」課程影片,開頭時,影片裡的教授先放給學員看兩部Ted影片,一部叫作「未來的工作是什麼樣子?」,另一部是「成長的關鍵?與電腦競爭」。
內容大致上是:例行工作都可能被電腦取代,電腦的能力愈來愈強,比如Deepblue就打敗蘇聯棋王,但是你打不贏它,怎麼辦?「如果打不贏它們,就加入它們。」要加入它們,就要懂得和電腦溝通,要先了解電腦大概的架構,用電腦語言和它溝通,這就是程式設計。
該課程的目標有三個,第一個是學會C#語言,學會高階語言之一,以後就具備自學的能力;第二個是運算思維,能夠規劃解法、設定問題,以及擁有偵錯能力;第三個則是讓他人了解,這裡指的「他人」是非程式設計專業的人。
老師一開始先介紹計算機架構-馮紐曼計算機架構。許多程式語言都可以用這個架構執行,最新的計算機架構則是平行計算機架構,但這已和馮紐曼的架構愈來愈不一樣了。
馮紐曼計算機架構裡的CPU包含實際運算的ALU和控制單元,由包含在封裝的晶片裡面的電晶體執行,晶片愈來愈小,電晶體愈來愈多,有助於運算的執行。CPU之外則有負責儲存的記憶系統。計算機的限制是沒有自由意志,對於自然語言理解不進步,因此它的能力依賴一步步的說明,即演算法。而應用程式設計則是專業知識加上程式設計的能力。
下一篇是程式的歷史~
全站熱搜
留言列表