[評價] 110-1 鄭卜壬 系統程式設計
※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID)
(是/否/其他條件):N,到底哪裡有比ptt更好handle課程評價的平台 :/
哪一學年度修課:110-1
ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄):鄭卜壬教授
λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關):資工系二年級必修
δ 課程大概內容
UNIX & System Calls
Unbuffered IO
Nonblocking, Multiplexing, File locking, Network Programming
Files and Directories
Process & IPC
Signals
Thread Programming + Synchronisation
Shared Memory with mmap
Least Privilege Model, Intepreter & Process Time
Process Environment
Ω 私心推薦指數(以五分計) ★★★★★
助教:-★★★★★
上課模式:★★★★
課程內容:★★★★★
涼度:★★☆
甜度:★★★☆,沒有調分偏紮實
η 上課用書(影印講義或是指定教科書)
Advanced Programming in the UNIX Environment 3e
μ 上課方式(投影片、團體討論、老師教學風格)
因為疫情,改成webex+錄影,並在1天後丟到NTU COOL上。
有一次不知道為什麼沒錄到,教授兩三天後直接離線重錄一次。
σ 評分方式(給分甜嗎?是紮實分?)
期中/末:各30%
手寫作業:有4次,總共8%,每次理論上可以30min內解決
程式作業:有4次,每次8%
ρ 考題型式、作業方式
期中期末可以參考 NTU-Exam 的那幾份,大概就是給一些情境,問系統會怎麼handle、這份扣哪裡有問題,再叫學生寫一份對的。
手寫的話有點類似期中期末。
程式的話,應該都是抄歷屆的作業,只是換一個題序之類的。這次貌似有一大堆人直接抄古人丟在Github上面的扣,還完美的跑起來了,結果被抓抄襲。
其他花式抄法像是直接請同學寫掉等等,就不贅述了。總之很多人抄襲就是。
ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)
教授的口條很清楚,語速偏快。不過因為語氣沒有太多的抑揚頓挫,可能會有點想睡。
除此之外,教授在上課時會補充很多很細節的觀念,對於理解系統有很大的幫助。相對的,也會常常超時或是壓縮到下課時間。因此,還是比較建議課後再聽錄影,對膀胱會比較仁慈。
加簽部份,有名額限制,據說有點難簽到,而且COOL不開放旁聽,但是webex連結很好取得。
雖然程式作業spec很糟糕好像不是一年兩年的事了,但這年的助教可說是慘不忍睹。以下請配合圖片服用:https://i.imgur.com/GBvLjYj.jpeg
作業一:
要求同學寫一個支援IO Multiplexing的Server。有同學在COOL討論區上問到可否有類似" 123456 abc"等包含多空白的怪輸入。依照shell的parsing模式,這樣應該是一種合理輸入,但助教認為程式應該要噴錯。他在討論區上宣佈後,沒有寄信,也沒有發公告,有些早早就交出去的人直接被陰。作業結束之後看見成績慘不忍睹,再發個公告說「喔我們希望同學能夠handle所有的輸入,所以你們應該要預想到這個」云云。因為一次作業就是學期成績8分,作者被這個東西砍了快3分。
作業二:
spec很長很長很長很長,但寫得都還算清楚,跳過。
因為這次作業牽扯到wait相關指令,好像有很多人把一堆zombie process留在工作站上就高歌離席了。這些殭屍一直到發文時還賴在工作站上不走,包含助教本人???
如果有興趣的話,以下是笨笨的搜尋方法:
pgrep host -a | tee /dev/stderr | cut -d' ' -f1 | xargs -IH nl -s' ' -w1 /proc/H/loginuid | cut -d' ' -f2 | sort | uniq | xargs -IH ldapsearch -x uidNumber=H | grep -E 'sn|givenName' | cut -d' ' -f2 | base64 -d
最壯觀好像是linux2的樣子。
作業三:
這次改spec終於有發公告了。不過關於輸入範圍的邊界情況,一開始沒有說清楚,害得討論區上一陣腥風血雨。
作業四:
這次雷點有點多,以下是每次公告spec之後的結果。
Ver. 0
輸入一個m*n的boolean array,一秒內進行k步的Conway's Game of Life,輸出到檔案,m,n,k無限制。
助教:如果我給的範測(500*600*100)你能穩定在一秒內跑完,那就沒毛病。
Ver. 1
1 <= m,n,k <= 10^8
有帶腦出門的人應該都知道這範圍有多合理。
Ver. 2
1 <= m*n*k <= 7*10^7,但全場沒有人做得出來。
助教宣稱實際要跑的測資,自己沒有任何優化可以跑得過。
助教公佈sample executable,但連範例測資都跑不過(~1.2s,當時CPU用量37%)。推說CPU太爛與loading太高,自己其他時候在別台機器跑得過。其他在範圍內的測資大概要跑1分鐘。有同學生出需要跑12分鐘的測資。
Ver. 3
在腥風血雨後,公佈真正合理的測資範圍。
有同學生出可以讓助教Segmentation Fault的測資,而且不只十筆。至今沒有任何回應。
有同學寫出比助教快10倍的扣,最終TLE,Rejudge後又是比助教快十倍。
期末考:
助教誤解基本定義,導致改考卷時幫所有同學自作聰明的加油添醋,我被無故掉分。
Ψ 總結
助教當初修SP到底是怎麼及格的...
喔不對,除了作業二助教,其他人在大學時期應該是沒有修過SP。
另外,有一些校外人士拿到webex連結,所以可以去聽課順便污染聊天室,對我來說上課體驗有點糟糕。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.134.148 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/NTUcourse/M.1643100240.A.2A0.html
推
01/25 17:01,
2年前
, 1F
01/25 17:01, 1F
→
01/25 17:38,
2年前
, 2F
01/25 17:38, 2F
→
01/25 17:40,
2年前
, 3F
01/25 17:40, 3F
→
01/25 17:40,
2年前
, 4F
01/25 17:40, 4F
推
01/25 17:44,
2年前
, 5F
01/25 17:44, 5F
推
01/25 17:51,
2年前
, 6F
01/25 17:51, 6F
推
01/25 18:07,
2年前
, 7F
01/25 18:07, 7F
→
01/25 18:09,
2年前
, 8F
01/25 18:09, 8F
推
01/25 18:11,
2年前
, 9F
01/25 18:11, 9F
→
01/25 18:11,
2年前
, 10F
01/25 18:11, 10F
→
01/25 18:14,
2年前
, 11F
01/25 18:14, 11F
推
01/25 18:29,
2年前
, 12F
01/25 18:29, 12F
→
01/25 18:29,
2年前
, 13F
01/25 18:29, 13F
→
01/25 18:33,
2年前
, 14F
01/25 18:33, 14F
推
01/25 19:14,
2年前
, 15F
01/25 19:14, 15F
→
01/25 19:23,
2年前
, 16F
01/25 19:23, 16F
推
01/25 20:11,
2年前
, 17F
01/25 20:11, 17F
推
01/25 20:39,
2年前
, 18F
01/25 20:39, 18F
→
01/25 21:08,
2年前
, 19F
01/25 21:08, 19F
→
01/25 21:10,
2年前
, 20F
01/25 21:10, 20F
→
01/25 21:10,
2年前
, 21F
01/25 21:10, 21F
→
01/25 21:26,
2年前
, 22F
01/25 21:26, 22F
→
01/25 21:27,
2年前
, 23F
01/25 21:27, 23F
→
01/25 21:29,
2年前
, 24F
01/25 21:29, 24F
→
01/25 21:29,
2年前
, 25F
01/25 21:29, 25F
→
01/25 21:30,
2年前
, 26F
01/25 21:30, 26F
推
01/25 21:31,
2年前
, 27F
01/25 21:31, 27F
→
01/25 21:31,
2年前
, 28F
01/25 21:31, 28F
推
01/25 21:42,
2年前
, 29F
01/25 21:42, 29F
→
01/25 21:42,
2年前
, 30F
01/25 21:42, 30F
推
01/25 22:07,
2年前
, 31F
01/25 22:07, 31F
推
01/25 22:39,
2年前
, 32F
01/25 22:39, 32F
推
01/26 02:13,
2年前
, 33F
01/26 02:13, 33F
推
01/26 11:02,
2年前
, 34F
01/26 11:02, 34F
→
01/26 11:02,
2年前
, 35F
01/26 11:02, 35F
推
01/26 11:21,
2年前
, 36F
01/26 11:21, 36F
→
01/26 11:21,
2年前
, 37F
01/26 11:21, 37F
※ 編輯: aoaaceai (140.112.16.135 臺灣), 01/26/2022 15:34:16
推
01/26 19:29,
2年前
, 38F
01/26 19:29, 38F
→
01/26 19:30,
2年前
, 39F
01/26 19:30, 39F
→
01/26 19:31,
2年前
, 40F
01/26 19:31, 40F
→
01/26 19:31,
2年前
, 41F
01/26 19:31, 41F
推
01/26 20:11,
2年前
, 42F
01/26 20:11, 42F