Mar 8, 2016 課程紀錄

[2016q1 Week #3] [編輯共筆內容]

接下來我們的焦點

為了強化學生 C 語言和基本程式訓練,新的教學實驗:給定一組程式碼,要求學生當場指出錯誤和不足之處,並在特定時間內重寫,學生時代就熟悉白板題。

課堂作業則是指出班上同學程式碼的疏失,並到課堂指正同學,培養對程式開發的素質和品味。換言之,作業內容就是「靠北」其他同學的 C 語言程式,簡稱「靠北 C 語言」。

(from yyc)

大學不該是職業訓練所,但大學訓練出來的學生如果連工作都不知道怎麼找,大學本身有很大的問題。可能之一是系所非因本地產業需求而設立,可能之二是課程設計沒有考慮到產業實務的需要,可能之三是大學對學生的職涯發展技能輔導不週。

職涯發展 (career development) 技能可能是最常被台灣教師和學生忽略的重點。在美國隨選一間大學,以春天 Hocking River 河岸邊開滿美櫻的俄亥俄大學 (Ohio University) 為例,在[首頁](https://www.ohio.edu/careerandleadership/) 點三次 (Student/Alumni -> Job/Internship Search -> Resume),或是[搜尋結果的第一條](http://bit.ly/1WJGnYm),就可以看到詳盡的履歷寫作教學,並附格式實例。

履歷是職涯發展的第一步,是找工作的 101。要貢獻社會,職涯發展絕不可少;即使是學術界或政界,也有各自的職涯發展之道。工程與技術事業更是如此。學子費時十數年在各級學校戮力學習,通過各種考試,結果大部分人卻沒有準備好離開學校之後的去向。捨本而逐末了。

Code Review

作業區

Cache知識

更多內容如下:

關於上課Cache Miss的計算

(以下為以我的電腦規格做計算)

Hash Function

(2^n)-1 = X<<n - X

BKDR hash function

ALU , A>B

角動量守恆

若系統所受到的合力矩為零時,不論系統內發生什麼變化,系統的角動量會保持一定值,即角動量守恆

課後提問

下課後我提出問題, 是關於如何學習/了解 linux 系統從 u-boot -> 系統開機(以及file system 裡面的檔案) 的流程與實作, 不以trace source code為唯一手段(怕一旦trace 下去會整個迷失在汪洋大海中). 老師建議我去找關於Linux kernel 的documentation 來研讀.

以下是我找到的相關資源 (若還找到其他資源會再補上)

www.kernel.org/doc  

Linux Kernel Architecture by Wolfgan

http://www.books.com.tw/products/0010664631