※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 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后又是比助教快十倍。
寒假
是的,助教改完作业完全没砍 Process:https://i.imgur.com/pxe2NDt.png
期末考:
助教误解基本定义,导致改考卷时帮所有同学自作聪明的加油添醋,我被无故掉分。
Ψ 总结
助教当初修SP到底是怎么及格的...
喔不对,除了作业二助教,其他人在大学时期应该是没有修过SP。
另外,有一些校外人士拿到webex连结,所以可以去听课顺便污染聊天室,对我来说上课体验有点糟糕。