原创 計算機速成課 第二十五集 個人計算機革命

1. 背景 計算機發展的頭三十年,計算機如果只讓一個人用,成本實在太高 到 70 年代初,各種組件成本下降,可以做出低成本,同時性能足夠強大的計算機。 最有影響力的轉變:單芯片 CPU 的出現 集成電路的進步,提供了低成本固態存儲器,把

原创 計算機速成課 第二十四集 冷戰和消費主義

1. 大綱 前 23 集講的東西,基本是 1940 ~ 1970 年代,大概這 30 年裏出現的東西 本集重點講冷戰,太空競賽,全球化,消費主義 2. 二戰後,兩個超級大國開始冷戰 政府開始往科學和工程學投入大量資金 計算機在戰時證明

原创 計算機速成課 第二十二集 命令行界面

1. 歷史 早期交互界面 機械計算設備使用齒輪、旋鈕和開關等機械結構來輸入輸出 早期電子計算機,比如 Colossus 和 ENIAC 也是用一大堆機械面板和線來操作,輸入一個程序可能需要幾個星期,運行完畢後,想拿出數據,一般是打印到紙

原创 計算機速成課 第二十二集 屏幕&2D 圖形顯示

1. PDP-1 計算機 早期圖形計算機的例子 文本任務和圖形任務是分開的 早期的屏幕無法顯示清晰的文字,打印到紙上,有更高的對比度和分辨率 早期屏幕的用途:跟蹤程序的運行情況,比如寄存器的值,很適合查看臨時值 屏幕很少用於輸出計算結果

原创 計算機速成課 第二十一集 壓縮

1. 壓縮的好處 文件小一點,能存大量文件,傳輸也會快一些 把數據佔用的空間壓得更小,用更少的位(bit)來表示數據 2. 遊程編碼(Run-length Encoding) 消除冗餘:減少重複信息 適合經常出現相同值的文件 屬於「無

原创 計算機速成課 第二十集 文件系統

1. 文件 本質:一整塊有關係的數據 舉例: 文本文件 音樂文件 照片、視頻 2. 文件格式(File format) 隨意排列文件數據完全沒有問題,但按格式排會更好,這就是文件格式 可以發明自己的文件格式,程序與偶爾會這麼做,

原创 計算機速成課 第十九集 內存&存儲介質

1. 電腦內存 非永久性 舉例:xbox 電源線拔掉後,內存裏面的數據都會丟失 內存(Memory),又叫「易失性」存儲器 2. 存儲器(Storage) 任何寫入「存儲器」的數據,比如硬盤,數據會一直存在,直到被覆蓋或者刪除,斷電也

原创 計算機速成課 第十八集 操作系統

1. 操作系統誕生背景 1940,1950 年代的電腦,每次只能運行一個程序,程序員在打孔卡紙上寫程序 然後拿到一個計算機房間,交給操作員,計算機空閒下來的時候,操作員會把程序放入,然後運行,輸出結果,停機 運行一個程序通常需要幾個小時,

原创 計算機速成課 第十七集 集成電路&摩爾定律

1. 分立元件 1940~1960 年,計算機由獨立部件組成,叫「分立元件」,然後不同組件再用線連在一起 ENIAC:有 1 萬 7 千多個真空管,7 萬個電阻,1 萬個電容器,7 千個二極管,5 百萬個手工焊點 問題:數字保證 概念:

原创 計算機速成課 第十六集 軟件工程

1. 引子 微軟 office 有大約 4000 萬行代碼 2. 軟件工程 這個詞由工程師 Margaret Hamilton 創造 她幫助 NASA 在阿波羅計劃中避免了嚴重問題 她說過:有點像牙根管治療:你總是拖到最後才做,但有

原创 計算機速成課 第十五集 阿蘭·圖靈

1. 計算機科學之父 1912 年出生於倫敦,從小表現出驚人的數學和科學能力 1935 年,開始對計算機科學有建樹 當時是劍橋國王學院的碩士生 開始解決德國數學家大衛·希爾伯特提出的問題:「可判定性問題」 問題的定義:是否存在一種算法

原创 計算機速成課 第十三集 算法入門

1. 算法簡介 定義:解決問題的具體步驟 特點:即使結果一致,有些算法會更好,一般來說,所需步驟越少越好 歷史:算法一詞來自波斯博識者:阿爾·花拉子密,1000 多年前的代數之父之一。 2. 種類介紹 記載最多的算法之一是「排序」

原创 計算機速成課 第十四集 數據結構

1. 緣起 在處理的數據的時候,不想讓數據像大學宿舍裏一樣混亂 希望的數據是結構化的,方便讀取 因此,科學家發明了「數據結構」 2. 分類 數組 名稱:也叫列表,或向量 特點:數組的值一個一個連續存在內存裏 下標:爲了拿到數組中的

原创 計算機速成課 第十二集 編程原理-語句和函數

1. 語句 特點:表達單個完整思想 用不同詞彙可以代表不同含義 賦值語句 定義:把一個值賦給一個變量 舉例:a = 5 是一個編程語言語句 2. 語法 定義:規定句子結構的一系列規則 英語有語法,所有編程語言也都有語法 3.

原创 計算機速成課 第十一集 編程語言發展史

1. 語言轉換的例子 舉例:有這樣一條指令,它在內存地址是 0: 0010 1110 前四位是操作碼,簡稱 OPCODE 前 4 位 0010 代表 LOAD_A 指令,即把值從內存複製到寄存器 A 後 4 位 1110 是內存地址,1