[評價] 103-1 鄭卜壬 系統程式設計

看板NTUcourse作者 (kevinlee)時間9年前 (2015/01/28 10:03), 編輯推噓5(501)
留言6則, 5人參與, 最新討論串1/1
※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID) (是/否/其他條件): 是 哪一學年度修課: 103-1 ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄) 鄭卜壬 λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關) 資工系大二必修 δ 課程大概內容 按照老師教授的順序列出課本章節名 Ch1. UNIX System Overview Ch3. File I/O Ch14. Advanced I/O Ch4. File and Directories Ch8. Process Control (前半) Ch5. Standard I/O Library ==========期中考========== Ch7. Process Environment Ch8. Process Control (後半) Ch10. Signals Ch11. Threads Ch12. Thread Control ==========期末考========== 上第一堂課前,光看大綱幾乎不知道這課在教什麼,對於Unix, Linux 也可說 都沒接觸過。現在修完一學期如果要和沒修過的人解釋的話,我會說這堂課顧 名思義就是學習在 "Unix系統上寫程式" ,一開始我們學寫程式通常不會在意 作業系統扮演的角色,然而比如說像是把結果印到螢幕上、開啟或讀寫檔案, 都需要使用公用的資源,因此這時就要系統管理、分配各程式可拿的東西,並 把資源做有效的分配。而通常這些動作都會包成一個個函式供程式呼叫 (像是 printf(),fopen()等) ,所以這課很多時間是在介紹這些函式運作的方式,進 而對系統如何執行眾多程式有基本的了解 (算是作業系統的前導課程) 。 以內容來講,這門課可粗略分成兩大部分: file 和 process。file 包含像是 buffered & unbuffered I/O, file table, file system...等等,而 process 的部分有 fork, exec, thread, signal...等等。 Ω 私心推薦指數(以五分計) ★★★★★ ★★★★★ 先說我是外系的,可能是我以前對這塊一竅不通的關係,不怕死的(?) 來修後 ,真的覺得學到很多,對寫程式、類Unix、作業系統的了解皆比以往多了不少 。所以如果你會一點點程式,但你還想知道作業系統和其執行程式間是怎麼溝 通、運作,或是你單純想了解多一點關於Linux 的知識的話,都很建議來修這 門課。 η 上課用書(影印講義或是指定教科書) Advanced Programming in the UNIX Environment, Stevens Rago 一開始老師是說這本比較像字典,不見得要從頭第一個字開始慢慢看到尾,可 以直接查不會的函式來看就好。不過以我讀過的心得是,不懂某個函式怎麼用 ,反而查網路比較快,因為這本書的索引太繁雜了,不容易找到想要的資訊, 倒是這本書寫得滿好讀的,觀念交代的也算清楚,投影片配合課本看應該滿有 加成的效果。 μ 上課方式(投影片、團體討論、老師教學風格) 主要用投影片上課,偶而會用白板配合講解。老師感覺在這一部分很有心得, 講觀念都講得很清楚,也有足夠時間讓同學思考。老師算滿風趣的,雖然有很 多哏都是關於本課程內容的XD,偶而也會講一點Google的事情(? 就授課順序來講,雖然內容大部份都是照課本,但老師有時候會一章講一半就 跳到另一章,或兩章一起講,聽課當下是不會有不連貫的感覺,但在複習的時 候會麻煩一點,不過這也要歸咎於這門課的內容滿多也滿雜的,各章的內容看 似獨立卻又都有關聯...。 σ 評分方式(給分甜嗎?是紮實分?) 期中考 30% 期末考 30% 作業 40% 應該滿紮實的,好像不太會調分的樣子,不過期末考滿分都會超過一百 (本學 期是120),若程式作業寫太差還有補救的機會。 ρ 考題型式、作業方式 考試題型滿多樣的,大部分是問答,也有複選或選填題,另外也會要求手寫程 式碼,不過老師會提供所有需要的 function prototype 。也有那種給你幾行 程式碼,要你指出其中可能會發生的問題,算是考滿活的。而考題基本上都沒 超過投影片的內容和老師講的,也沒有太偏或太刁的題目,只是一次考試的投 影片份量不少,要花一點時間讀熟才容易考好。 作業也占了成績很大的比例,除了三次手寫外,大半作業成績是由四次程式作 業決定,可能是一開始對很多函式要怎麼用都還不太熟的關係,前兩次都寫了 二、三十個小時有,而後兩次大概也是助教出比較簡單的緣故,分別十幾個小 小時就搞定了。不過似乎都是助教出題,所以應該每年會不一定。 ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性? 加簽習慣?嚴禁遲到等…) 不在乎出席,加簽好像也是滿容易的,基礎的話我覺得只要會一點 C/C++ ,程 度大概會寫、呼叫函式就差不多了。 Ψ 總結 很推這門課,也很推鄭教授 (剛好這學期兩班都是他教) 。對於以前只會拿來 呼叫的系統函式(printf(),fopen()那些),你會更了解它背後偷偷的做了什麼 事;對於新學到的函式,也提供你寫程式時新的選擇,或說可以寫出考量到更 多牽涉系統內部運作的程式,讓你的程式更安全、更有效率。 除了對寫程式的助益外,對 CS 的知識也會增加很多,尤其是作業系統的部分 ,以前計概可能會學到 Semaphores, Race Condition, Deadlock 這些名詞, 但往往只是粗略的交代它的概念而已,這門課就會很實際的把 code 列出來, 告訴你怎麼樣就會發生這些事,該怎麼解決也會一併介紹。總之這是一門修完 可以有很多知識或概念內化於心的課,而不會只是考前背一背名詞,考後就都 都忘記學了什麼的那種。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.243.1 ※ 文章網址: https://www.ptt.cc/bbs/NTUcourse/M.1422410604.A.937.html

01/28 19:44, , 1F
推pj!
01/28 19:44, 1F

01/28 19:46, , 2F
推pj ~ 可以下學期來修他的IR XD
01/28 19:46, 2F

01/28 20:50, , 3F
強者我同學 必推XDD
01/28 20:50, 3F

01/28 22:37, , 4F
真假XD 竟然不太會調分嗎?
01/28 22:37, 4F

01/28 23:44, , 5F
推PJ認真教學XD 但分數應該調不少噢~ A-以上112/19X
01/28 23:44, 5F

01/28 23:46, , 6F
A+ 33 期中平均60附近 期末平均70附近
01/28 23:46, 6F
文章代碼(AID): #1Ko4Diat (NTUcourse)