2022-01-22
機率,有時候會在開始上課前講一些與時事相關的數學或機率應用。
上課講自己做的投影片(會在上課前一天發在 E3 ),基本上不會用到課本。
有四次作業,每個作業大概都有四個大題,總共題數約落在十題左右,每個作業佔 10% 。 然後期中期末各佔 30% ,考試時間為兩小時。
作業基本上跟前一年的只會有一兩題一樣,所以還是要乖乖寫作業。 至於考試方面,老師會公佈前兩年的考古與答案,然後可以帶一張 A4 雙面大抄,但是考試也會跟考古長的滿不一樣。
這門課是英授
今年是線上課程,然後也是不點名。
作業四會用到一點點 Python ,但是其實寫到再學也沒關係。
老師的英文很好,聽起來跟中文一樣清楚明瞭,有問題也是可以用中文跟老師溝通。
作業因為都是老師自己設計的,所以在網路上除了歷年作業也找不到答案。雖然看起來很難,不過如果能瞭解題目在問什麼還有配合老師給的 Hint 思考一下,大部分都可以寫的出來,但是我建議寫完跟同學或朋友對一下答案會比較保險。
然後今年期中期末都大開殺戒,期中平均好像 68 分,期末平均 55 分,主要問題是看懂題目的敘述和所求就要花一段時間,光讀考古是沒有用的。
總之我覺得這門課品質非常棒,如果有心想要弄懂機率的人應該是可以收穫很多。
基本上就是 follow Unix Network Programming 的章節教,包含 TCP, UDP, Advanced I/O, Non-blocking 等等,最後期末考完有教 raw sockets 。
老師會講解自己的投影片,投影片很多範例都是從 UNIX Network Programming 拿的。
老師在講完一個段落會實際跑程式範例給我們看結果,或是跑 Wireshark 看封包內容。
總共有三次作業,一個期中一個期末,表定寫各佔 20% 。
作業是要求做一個簡單的 BBS Server ,不同作業會要求新增一些功能,例如發文功能、支援 UDP 封包的聊天室等等。
考試是要求實作 client 端,考試時會要求連上考試主機作答,連上去主機後會開一個 container 環境供操作。
期中是要求寫出解迷宮的 client,簡單來說就是 server 吐迷宮 client 接受並給出答案。
期末也是跟期中很像,只是有些題目會用到 UDP 或是混合 TCP 與 UDP,最後一題是踩地雷。
考試的時候不能帶小抄,但是會給上課投影片和課本範例程式碼
考試的時候會讓大家提早 30 分鐘入場,可以提早開始準備環境和打模板。
考試完如果有沒寫出來的題目可以開放補交,分數計算方式為當場寫完 * 1.1 、補交 * 0.7 ,所以大家考試那欄的最後分數其實都不難看。
老師上課上的很清楚,也會當場示範範例,能覺得教的東西都有實際作用,我覺得非常不錯。但是我覺得考的東西好像跟網路本身沒有非常強的關聯性,因為如果都實作好接收發送的函數之後,例如說先寫好 regex, recvline 等等 wrappers ,考試時寫起來就會輕鬆很多,變成一般的演算法考試。
此外我建議考試前可以自己寫 server 然後再實作相對應的 client 模擬考試環境,會非常有幫助,然後也建議多讀課本的範例程式碼,考試時稍微修改就可以直接拿來用了。
作業整體也不難,主要是實作一些細節功能有時候很煩而已。
最後平均學期平均分數是 75 ,這是有跟另一班進行成績同步調整過後的結果。