版本 fd72250caf2b4126da2589d84b367f62568df4ea
系統軟體課程進度與開放資源
- Instructor: Jim Huang (黃敬群)
<jserv.tw@gmail.com>- Facebook 粉絲專頁 (不要擔心提了笨問題,這就是專門和學生互動的)
- 討論區: https://www.facebook.com/groups/system.software2017/
- 課程信箱:
<embedded.master2015@gmail.com> - 行事曆: 可預約一對一討論
進階電腦系統理論與實作 (Fall 2017)
作業系統設計與實作 (Spring 2017)
第 1 週 (Feb 21): 誠實面對自己:不是這門課程很操,是你過去欺騙了自己 (第 1 週課程錄影)
- 課程簡介和注意須知
- 21 世紀的系統軟體: 「需求」層次: 正確 → 安全 → 可讀 → 優雅 → 利他; Benchmark / Profiling; 運算模式的巨變; Deep Learning 背後的資訊建設: GPU; 軟體品質和安全議題
- 重新理解數值: integer overflow; 邏輯和算術的差異; 運用 bit-wise operator; Count Leading Zero
- Programming Small
- 2017 年春季作業說明
- 課程表單 / 推薦閱讀: 因為自動飲料機而延畢的那一年
- 期初測驗
- 作業 (截止日: Mar 4)
第 2 週 (Feb 28): 重新理解電腦結構
- Computer Architecture (NOTE)
- Modern Microprocessors A 90 Minute Guide! (必讀)
- 作業 (截止日: Mar 11)
第 3 週 (Mar 7): 效能改善,從掌握計算機組織開始
第 4 周 (Mar 14): 開發工具和並行程式設計
- 近期活動: 前往新加坡工作的第一手資訊, 手機裡的 ARM 處理器: 系列講座導論
- C 語言演化背景和編譯器原理
- 第 1 週作業回顧
- Toward Concurrency
- 測驗 / 測驗上傳區
- 作業 (截止日: Mar 27)
第 5 周 (Mar 21): 並行程式設計
第 6 週 (3 月 28 日): Memory Model and Consistency
第 7 週 (4 月 4 日): 掃墓,停課一次
第 8 週 (4 月 11 日)
第 9 週 (4 月 18 日)
第 10 週 (4 月 25 日)
第 11 週 (5 月 2 日)
第 12 週 (5 月 9 日)
第 13 週 (5 月 16 日)
第 14 週 (5 月 23 日)
第 15 週 (5 月 30 日): 端午連續假期,停課
第 16 週 (6 月 6 日)
- 新聞: 成大、永豐銀行 成立Atelier Future未來智慧生活工場
- Blockchain: 動畫, The Blockchain and Us, 技術簡介, 市場分析
- 2017 年春季班第二次分組表
進階電腦系統理論與實作 (Fall 2016)
第 1 週 (Sep 23): 誠實面對自己:不是這門課程很操,是你過去欺騙了自己
- 課程簡介和注意須知
- 21 世紀的系統軟體: 「需求」層次: 正確 → 安全 → 可讀 → 優雅 → 利他; Benchmark / Profiling; 運算模式的巨變; Deep Learning 背後的資訊建設: GPU; 軟體品質和安全議題
- 你所不知道的 C 語言: 本週進度為「指標篇」和「物件導向程式設計篇」
- 重新理解數值: integer overflow; 邏輯和算術的差異; 運用 bit-wise operator; Count Leading Zero
- Programming Small: 在小處下功夫,不放棄整體改善的機會
- 本學期作業說明
- 隨堂測驗
- 作業 (截止日: Sep 29)
- phonebook, raytracing, compute-pi, clz
- W1-QA (只有選修課程的學生需要完成這項)
第 2 週 (Sep 30): 並行 + 演算法分析
- 第 1 週作業回顧
- concurrency: Concurrency (並行) vs. Parallelism (平行); POSIX Threads; Thread Pool; Lock-free Thread Pool; 對 Linked-List 排序; Producer-Consumer Problem
- Algorithm Complexity Analysis
- 隨堂測驗: 題目: 將 Linked List Bubble Sort 裡頭的排序演算法從 recursive bubble sort 更換為 recursive merge sort
- 作業: (截止日: 08:00AM
Oct 7)
- introspect, phonebook-concurrent
- W2-QA (只有選修課程的學生需要完成這項)
第 3 週 (Oct 7): 重新理解電腦結構
- 第 2 週作業回顧
- Computer Architecture (NOTE)
- Modern Microprocessors A 90 Minute Guide! (必讀)
- SIMD Programming Introduction
- 在計算機裡頭實踐演算法
- 作業: (截止日: 08:00AM
Oct 14)
- mergesort-concurrent, software-pipelining
- W3-QA (只有選修課程的學生需要完成這項)
第 4 週 (Oct 14): 作業系統概念的實踐
- 2016 年秋季班分組表(第一次)
- 灰姑娘真能穿玻璃鞋跳舞?工程師提出解答
- 1697 年《鵝媽媽的故事》和 1812 年《格林童話》都提到灰姑娘,而灰姑娘穿什麼材質的玻璃鞋,能夠承受她的體重,讓她舒適地走路和跳舞?
- 第 3 週作業回顧
- Operating System Concepts
- 案例探討: 強化 server-framework 效能
- 隨堂測驗: 題目
- 作業: (截止日: Oct 20)
- server-framework, 回顧既有的作業
第 5 週 (Oct 21): 為什麼你該理解編譯器
- 淺談 Microkernel 設計和真實世界中的應用
- 回顧 SIMD 和計算機組織 + 案例分析:轉置矩陣
- 編譯器和最佳化原理
- 動態連結器
- 作業: (截止日: Oct 27; 下方擇一,並且 Week4 的專題要繼續作)
第 6 週 (Oct 28): 你所不知道的記憶體
- 回顧第一次分組成果
- 2016 年秋季班分組表(第二次)
- 羅輯思維: 怎樣成為一個高手: 從 12:08 開始
- Memory Allocation
- How a Rogue Optimization Breaks C11 Memory Consistency
- DTrace for Linux 2016: BPF tracing 是 Linux 效能分析最後一塊拼圖
第 7 週 (Nov 4) 數學總複習:線性代數, 離散數學, 機率統計
第 8 週 (Nov 11): 校慶停課
第 9 週 (Nov 18) 第二次分組成果報告
