[爆卦]系統程式設計 台大是什麼?優點缺點精華區懶人包

為什麼這篇系統程式設計 台大鄉民發文收入到精華區:因為在系統程式設計 台大這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ittfie (kevinlee)看板NTUcourse標題[評價] 103-1 鄭卜壬 系統程...

系統程式設計 台大 在 10? Instagram 的最佳貼文

2021-09-03 20:27:01

【E的轉系心得分享】 #E寫的文 今天七夕,剛好來發 E 寫好的轉系心得分享!懶人包可以看圖哦~覺得有幫助的話歡迎幫我按愛心、珍藏、分享出去!❤ - 嗨,我是 E 由於先前轉雙輔的準備也參考了很多學長姐留下來的經驗談,所以這次轉系(化工轉電機)成功,我也想分享一下我個人的想法跟建議(其實就是從提問的...



※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 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
th1279sky: 推pj! 01/28 19:44
benny9072004: 推pj ~ 可以下學期來修他的IR XD 01/28 19:46
felgher: 強者我同學 必推XDD 01/28 20:50
suhorng: 真假XD 竟然不太會調分嗎? 01/28 22:37
winston1907: 推PJ認真教學XD 但分數應該調不少噢~ A-以上112/19X 01/28 23:44
winston1907: A+ 33 期中平均60附近 期末平均70附近 01/28 23:46

你可能也想看看

搜尋相關網站