台大資工大一下修課心得

就是台大資工大一下修課心得

前言

學期做了一點自我挑戰,也比較沒有再「先考慮GPA後再選課了」,然後我發現上一篇修課心得的螢光筆好醜。

修課清單:

  • 系訂必修
    • 微積分3 Calculus(3)
    • 微積分4 Calculus(4)
    • 普通物理學甲下 General Physics (a)(2)
    • 資料結構與演算法 Data Structures and Algorithms
  • 系訂選修
    • 網路管理與系統管理(實驗) Network Administration and System Administration(Laboratory)
    • 基礎數學寫作 Basic mathematical writing
  • 校訂必修
    • 壘球初級 Beginning Softball
    • 英文(附一小時英聽)二 Freshman English (with 1-hour Aural Training)(Ⅱ)
  • 全校性通識
    • 中國近世思想史 Early Modern Chinese Intellectual History

共計原本要是22學分的,不過網路管理與系統管理雖然是三學分課,但是我選了一學分+一次服學的方案,所以系統上是20學分。

每一門課我都會列出四點數據:

  • 甜度:學期成績好不好拿高分(非常主觀)
  • 負擔:要花多少時間在這門課上(以該學分而言)以及會不會和其他課一起來壓你
  • 收穫:修這門課學到多少東西或是有什麼比較難自己取得的機會
  • 課後學習時數(每週)

這次我把cp值刪掉了,原因有三:

  1. 我現在覺得在大學修課要看cp值有點怪怪的
  2. 用原本的公式算出來的cp值太怪了,對於涼度太吃重且過於不重視收穫
  3. 怎麼用甜度、負擔、收穫來綜合評價一門課每個人心中都有不同的量尺

不過我會列出讓我再選一次的話,我還會不會選擇修這門課

系訂必修

微積分3/4

  • 授課教授:蔡國榮
  • 學分:2/2
  • 等第:A/A
  • 一句話帶過:我想加入蔡國榮粉絲後援會
  • 甜度:🌟🌟🌟🌟🌟⚫⚫⚫⚫⚫
  • 負擔:🌟🌟🌟🌟🌟⚫⚫⚫⚫⚫
  • 收穫:🌟🌟🌟🌟🌟⚫⚫⚫⚫⚫
  • 課後學習時數:3小時
  • 會不會再修:會

寒假的時候,因為我想體驗英文授課(上學期除了英文課外都沒修英文授課的課),所以就寄信找了蔡國榮加簽,不過他叫我先試試看三類加簽,如果沒上可以第三週找他人工加簽,後來是只要到第三週人還在他就全簽,另外雅如班這學期多了神奇的小組答題制度,因為我剛好跑掉了所以沒體驗到,不過一定對我這種出席率0%的學生來說不好。

如果要比較蔡國榮和蔡雅如兩班的差別的話,雅如班好像上課用的是課本投影片,而國榮班則是教授的自編講義,那個自編講義寫的超級好,例題很精華,比較複雜的證明也會附著當附錄,大推講義。

另外國榮完全不會拖上課進度,每冊講義都是一週的量,而且每週都會剛好把一冊講完,相比之下雅如班的上課節奏比較慢,常常會需要課後自己補影片。

國榮上課全程錄影(雅如班應該也是),錄音很清楚所以確實有讓我體驗到英文授課,教授是香港人,所以發音會有點性感的英國腔,不過很好聽懂,讓連我多益聽力400分都能1.5倍速上課,雖然雅如有啊啊啊,不過國榮上課時講話的風格更吸引我,我也不知道為什麼,反正他總是能莫名其妙逗我笑。||有時候還會臭文組的同學||

作業的部分,我印象中雅如班的時候是全採,不過國榮班有開放一定的緩衝,有一點點作業的分數沒全拿也不會怎麼樣,像我微3和4都有一次webwork忘記寫,不過作業的學期成績30分還是能全拿,除此之外,蔡國榮的作業都是自己出的而不是直接勾課本例題,他的作業題目非常推薦寫,很精華。

其次,國榮上課有時候會業配數學系的課,比如他會講個很有趣的數學現象,然後跟我們說想知道為什麼就可以來修數學系開的分析導論/幾何學導論,他自己在微4結束的時候說因為各系對線代的需求越來越大,自己明年要開線性代數導論給外系同學修,可惜不能抵本系線代,不然好想修,他甚至還在期末後發了一個郵件給所有人在講有關輔數學系的事,真的大好教授。

值得一提的是微4的期末考超難,雅如班平均52不過因為我們班不公開平均與分佈所以我也不知道我們班多少,最後好像有把學期等第往上調一個左右,我原始成績79.7 A-變A。

如果要選雅如還是國榮的話,我前面講的應該立場非常明顯,不過雅如班也沒有到不好,只是我覺得自己比較適合國榮班而已,找到適合自己的上課風格後上課的過程真的變得比較快樂。


普通物理學甲下

  • 授課教授:胡德邦
  • 學分:3
  • 等第:A+
  • 一句話帶過:用簡化的數學來講超難的(我覺得)物理
  • 甜度:🌟🌟🌟🌟🌟🌟🌟⚫⚫⚫
  • 負擔:🌟🌟🌟⚫⚫⚫⚫⚫⚫⚫
  • 收穫:🌟🌟🌟🌟🌟🌟⚫⚫⚫⚫
  • 課後學習時數:1~4小時,平均2小時
  • 會不會再修:會

我因為上學期加簽單班所以這學期直接帶入單班了,據說只有一個雙班的同學成功在下學期加簽進來。

下學期普物甲主要講的是量子物理&半導體相關的東西,如果只是拿A+的話,對上課寫的板書全盤接收就夠了,不過如果想要真的搞懂前半段有關量子物理的部分的話,已經不太能只看「參考書」Halliday了,反而要去翻Griffiths的Introduction to Quantum Mechanics(傳說中的貓書)或是自己上網找的資料。

上課講的很多「證明」都是簡化很多數學或是跳過一些步驟給出的結果(比如Pauli Matrix直接變出來),不過考試只要跟著板書寫就都會給過,而如果要自己去貓書裡翻的話,就會發現貓書上的數學比上課上教的複雜非常多,應該是因為教授顧慮到不是每個人都在大一上修過線性代數,不得已才只能這樣教,不過沒有修過線性代數讓我在嘗試把一些詳細概念搞清楚時吃了蠻多苦頭,這讓我覺得比較可惜一點。

這學期的作業雖然只有三份,不過要寫的文字量卻沒有比較少,我自己是私心希望作業可以出多一點,因為我覺得寫作業的確對我應用觀念有幫助,不過貓書上的題目有些會用到線性代數的東西(主要跟特徵值有關),所以想麻煩教授多篩出來一點我們能寫的題目。

期中考和期末考難度落差很大,期中平均76而期末平均91,其實考的題目的確都是上課講的東西,不過我期中還是不知道在幹嘛考了74,後來可能因為狼走了所以教授給了一項福利是可以找他做補救,他現場問一題期中考範圍的題目,讓同學現場寫而且不能帶大抄,如果寫對了就能讓期中成績加20~40分,我自己因為對74分著實不是很滿意,所以複習了一下以後就去找教授做補救,也因此拿了20分,教授當時考我的是證明Quantum Harmonic Oscillator的各能階波函數通式(其實就是照著上課版書做一遍),我有聽到其他同學被考的有畫出光電效應實驗器材配置圖(我聽到的時候傻眼)和如何設計實驗以證明物質波存在(上課有講過),基本上考的題目都是有上課就會的東西。

上課的方式和上學期一樣不會到非常密集,常常會夾一些跟物理沒有關的事,比如教授會叫我們要去管院看看、告訴我們在業界軟硬體都會會非常吃香、和GPA不重要(這學期聽了四五個教授這麼說不過資工系雙輔硬性要求GPA要3.95),另外也會分享學長姐創業的故事,應該有同學會覺得這樣上課會很分散,不過我是覺得蠻不錯的,能在物理課上不只學到物理,而且學長姐創業的故事的確蠻有趣的。

不過我覺得有點可惜的是學期末的時候好像和教授有點誤會,當時教授在FB社團說分數都已經公布了,因為我看NTUCool上我的期中考成績還是74所以想說有可能登成績的部分有漏就回報了,不過教授看起來蠻生氣的回覆我已經加進去了,而且在大概三分鐘後發了一篇文不指名道姓說有人卯起來在意總分,讓他覺得他的教學很失敗。我感覺各方面看起來都超像在講我(因為我就算不算補救的20分也A+),不過我真的只是怕成績登漏而已所以才回報,覺得有點可惜是因為我有時候會課後去找教授問一點物理或是職涯上的問題,雖然上課時講的很簡化,但是課後問的話教授很願意回答同學的問題,不過現在我不太敢去找他聊了…因為我不知道教授現在會不會對我有點偏見。


資料結構與演算法

  • 授課教授:林軒田、蔡欣穆合授
  • 學分:3
  • 等第:A
  • 一句話帶過:介紹各種資料結構
  • 甜度:🌟🌟🌟🌟⚫⚫⚫⚫⚫⚫
  • 負擔:🌟🌟🌟🌟🌟🌟🌟⚫⚫⚫
  • 收穫:🌟🌟🌟🌟🌟🌟🌟🌟⚫⚫
  • 課後學習時數:9小時
  • 會不會再修:會

先給等第切法:

等第 分數線
A+ 95
A 87
A- 80
B+ 74
B 70
B- 68
C+ 66
C 63
C- 57

確實,原始成績94.9拿不到A+的一門課。

繼計程的摧殘,來到了大一下的DSA(Data Structures and Algorithms),這次沒上機考了,不過有了作業和期中期末考,上課內容就是講一堆資料結構或演算法,沒了。

作業共有五次,包含一份hw0,基本上就是檢測有沒有最基本的寫程式能力,後續的四次作業都是以課程內容為延伸,每三週一份,一份結束接下一份,持續直到這學期結束,作業題目分成手寫題和程式題,除了hw1有三題程式題和hw4只有兩題手寫題以外,每份作業都是3+2題。

手寫題大概就是回答一些有關某個資料結構或演算法性質的問題,或是給出一個情境,然後設計一個符合時間複雜度要求的方法來達成題目的需求,基本上就是考會不會利用上課教到的東西來解決實際的問題,寫完以後要把pdf檔上傳到Gradescope,好像也能用圖片為格式上傳,不過我沒試過,Gradescope可以讓人上傳檔案後給每一題都選取特定的頁數,這樣助教在改題目的時候就能專心在你選取的頁數上,同時也能方便分工改作業,雖然我不是助教不過看起來很讚,而且不知道為什麼我覺得選頁的時候很舒壓。

程式題的話也是給出一個情境和給出需求,只是把寫書面報告改成寫code上傳Online Judge了,跟計程的Judgegirl不太一樣的是,Judgegirl可以用複製貼上或是上傳檔案來提交程式碼,不過DSA Judge要用git來提交,而且有限制次數,一天5次或10次,具體怎麼決定的我也不太記得了,我自己沒用完過,不過還是看過有同學卡到次數不能上傳的。

這門課有用discord開一個討論區NTUCool的討論區有夠爛,所以作業公布以後就會看到很多人在討論作業內容,所以有時候想題目卡住後去討論區看一看就會有靈感了。

有個小插曲是,原本作業中程式題的題目都有超級長的背景故事,不過因為那個故事對解題完全沒有幫助,讀完了也沒有用,所以就有人開始抱怨題敘太長的問題(?,於是之後的作業題敘就變短了,我覺得還蠻可惜的,因為有點情境我覺得比較好玩。

期中考期末考的部分就是手寫題的簡化版,然後因為修課人數太多(外系的人好像甚至比本系多),所以考前會進行命運的抽籤來分配考場(其實就是NTUCool上隨便配一個座位號碼而已,實體的O(n)抽籤絕對會TLE),考場除了系館的兩間小教室外,很大部分人都會被流放到綜合大講堂考試,那邊唯一的好處就是冷氣很舒服,如果跟我的期中考一樣倒楣抽到講堂樓上的座位的話就會連看公告事項都看不太到(包含題目更動),樓下宣布事情也聽不太到,不過我期末考抽到在系館考試,甚至還有零食能吃,好多了。

其實助教們和教授後來也清楚在綜合大講堂考試很虧(上一屆因為疫情所以好像是線上考試),所以有開放說「認為自己有被影響到的可以說明狀況並得到分數上的補償」,不過我猜這東西應該形同虛設?至少我自己是沒厚臉皮到會用這種理由去要分。

這門課是由林軒田和蔡欣穆合授,而他們合授的實作方法是林軒田負責前半學期,蔡欣穆負責後半學期,所以期中考前後的上課方式差距很大。

前半段林軒田的上課方式是用個簡報然後教授會在上面用筆畫畫,而且會錄影,根本超級標準的資工系上課方式,上課的過程中可以感受到林軒田的口條真的蠻好的,所以我自己覺得上課體驗很好。不過我沒出席過

後半學期交給蔡欣穆後,他授課的方式是事先上傳前幾年上課的影片到NTUCool讓我們事先看,然後上課時間玩遊戲或是講課外的東西,對我來說的差別就是我不能再翹課了,因為上課玩的遊戲要算分,總共有三次算分的遊戲:

  1. Kahoot:題目範圍是包含上半學期到當前進度的所有內容,只算答對題數而不算得分,所以不需要搶時間,總共好像大概30題,不過錯3題內依舊滿分,我雖然最後錯了4題,不過cool上還是標滿分,不知道是做了什麼調整

  2. RPG遊戲:這是一個分組活動,由助教進行分組,一組5~6個人,我原本活動前以為是什麼大家快樂輕鬆寫程式活動,不過後來發現我錯了。情境是職場模擬,由一人擔任PM(Product Manager)、兩人擔任RD(Research and Development Engineer)、兩~三人擔任QA(Quality Assurance),一個團隊需要做兩件事:

    1. 讀一大串程式碼並回答一些有關某些片段的問題寫成書面報告(模擬剛進一個公司時要嘗試看懂前人留下的遺物)
    2. 要負責寫一個程式,具體這個程式要幹嘛要問助教,並且自己生要求大小的測資和自己寫testbench來測試做出來的東西在不同大小測資上的效率,並把測試結果跟這個project要怎麼用附在書面報告裡(模擬跟甲方溝通並實作一個project)

    三個身份各自有各自負責的任務,PM負責跟助教確認需求(口頭)、作為QA和RD之間溝通的橋樑(原則上QA和RD不能直接溝通,這也是在模擬職場)、以及主導書面報告的製作;RD要負責寫那個project和寫這個project的使用指南;QA要負責讀一大串程式碼做題目、生測資、寫testbench和作測試

    一開始分配角色時,我因為看起來話最多最吵所以被分了PM,然後組內作業程式題都拿滿的兩個人當RD(其中有一個超carry的真強者),剩下的兩個人當QA。

    中途我問助教需求以及轉達的部分都蠻順利的,RD也是超快就把該寫的東西寫完而且也沒有bug,不過我們卻發現QA可能會寫不完題目而且他們不會生測資和寫testbench,所以我後半段變成半個QA負責生測資和寫testbench,由於RD超強所以他們也有時間能接手寫書面報告的工作,我自認我們在發生臨時狀況時的處理做的很棒,也因此最後的報告完成度應該算很高,雖然不是拿到最高分,不過跟最高分幾乎沒什麼差。

    不過看起來其他組就沒那麼幸運了,這次的分組活動不像我想的一樣是輕鬆的寫程式活動,整體對於時間控管的要求很高,所以有蠻多組是真的蠻慘的,也讓我覺得很幸運能被分到這麼棒這麼合作的隊友們。

  3. 大地遊戲:感覺比起RPG沒啥好講的,同樣也是分組不過是十幾個人的大組,然後採取分組競賽制玩跟課程內容相關的大地遊戲,我也不知道最後我們拿多少分,不過我們好像超強只輸一場

不過RPG遊戲引起了一些不滿的聲音,甚至可以在低卡上找到相關文章,可能因為擔心因為被隊友雷所以害自己學期成績被扣?不過從結果上來看應該是沒差多少,因為三個遊戲的分數是和in-class測驗一起算的(測驗應該有好好想過分數都能全拿,題目蠻簡單的),而且雖然我測驗分數沒全拿,in-class部分的學期成績20分還是拿滿,所以應該過了一定標準後就都是滿分了。

最後,這門課給等第的方式不是以原始成績直接給,而是切等第線(具體怎麼切是黑箱,看教授心情),從結果上來看,除了A+和A其他的線基本上都沒增加,所以如果目標在A-以下應該可以不用這麼怕?不過想拿A+真的有點難就是了。

抱怨內容 不過對於這門課還是有點小怨言,因為助教有時候會在dc討論區突然說要改題目,比如修改某個變數的範圍之類的,甚至還會在死線前一天才宣布,而且只在討論區裡講而沒有發正式公告,如果我因為沒看到修改事項而被扣分的話一定會氣炸。另外有的題目負責的助教都不太回訊息,dc裡沒有回倒是沒問題,畢竟dc不是正式聯絡管道,助教確實沒有回覆的義務沒有錯,不過我都特別寫郵件到助教信箱了,結果直到三天後,已經過作業死線了才得到回覆,我是不知道助教有多忙啦,不過從我作為學生的視角來看會覺得蠻不爽的。

系訂選修

網路管理與系統管理(實驗)

  • 授課教授:蔡欣穆
  • 學分:1+折抵一次服務學習
  • 等第:A
  • 一句話帶過:這門課不是什麼讓你修完可以變成網路與系統管理大神的課(來自本課course information簡報)
  • 甜度:🌟🌟🌟🌟⚫⚫⚫⚫⚫⚫
  • 負擔:🌟🌟🌟🌟🌟🌟🌟🌟🌟⚫
  • 收穫:🌟🌟🌟🌟🌟🌟🌟🌟⚫⚫
  • 課後學習時數:15小時
  • 會不會再修:會ㄏ

因為我覺得這門課相對神秘,而且光看課程大綱感覺有點凌亂(一堆沒看過的英文縮寫而且每週的內容之間比較沒什麼關係,random生成一個順序教可能問題也不大),所以想花多一點篇幅在這門課的心得以紀錄每週到底都在幹嘛。

這門課的一開始開設的目標是訓練系上NASA團隊(Network Administration and System Administration)的成員,所以課程核心是快速的讓學生知道怎麼配(搞)置(壞)硬碟、架設防火牆、設置DNS server之類的。

因為課程的名字又網路又系統的,而剛好蔡欣穆是我的導師,所以我有私底下去找他問問看如果沒修過計算機網路和系統程式設計是不是會死去,不過得到的答案是不一定,因為這門課最希望的就是大一大二同學來修一修,這樣就有更多時間能待在NASA團隊裡工作,相當合理的答案,而我最後的經驗也表示,比起有沒有修過一些課,投入多少時間和有多會通靈更能影響能不能活過去。

正如課程介紹所說的,這門課上課不會教所有寫作業需要用到的知識,實際上,上課時教的對寫作業幾乎沒什麼幫助,所以也不用擔心hw0出的太簡單導致任何人隨便寫都能進,hw0是絕對不會考慮到想修課的同學對網路架構一無所知的。

hw0

hw0會在快樂的寒假中途出來摧毀所有人的假期,原本我很怕錯過通知所以每天都去刷新教授的個人網頁,結果最後根本就會寄信到csie信箱+發一篇文在facebook社團,一打開,會發現哇都不會寫作業分成NA和SA兩個部分,後續的hw1~6也是這個架構。

hw0的NA部分大概都在考有關於網路的基本觀念,就最基本最基本的計算機網路,大多數的題目上網查都會有答案,少部分可能需要翻好幾篇文章交互比對才會得出答案。

另外,每題都需要查是一件超級正常的事,實際上這也會是後續作業中反覆進行的事:發現不會->查->會了,這個SOP後來也被我帶到其他課上,發現作業不會寫->查資料。另外,用英文來搜會更容易搜到詳細的資料,如果不願意或是不習慣用英文查資料的話這門課的任何事情都會很苦,另外,ChatGPT也是一個最好會用的工具,說最好會用有點怪,因為只要會打字應該就算會用ChatGPT了,雖然不能直接用ChatGPT的答案寫作業,但是他可以幫助你先對一堆英文縮寫之間的關聯有基本概念(題目有時候會丟一堆英文縮寫然後讓你介紹他們是什麼),在這之後再去查資料,我覺得這非常有助於吸收。

SA部分助教會給一台虛擬機,大概就是讓人在一台電腦上開另一台電腦的感覺,這樣就可以用Macbook跑Linux、用Windows跑Linux、用Linux跑Linux…,不過這並不是一台普通的虛擬機,助教在這台虛擬機裡放了很多他們生出來的檔案來讓你在電腦上玩解謎遊戲,只要完成題目交代的任務,“Flag"就會輸出在螢幕上。

開虛擬機需要另外下載軟體(助教不會幫你載),我原本用的是VMWare Fusion,但是學期中才發現VirtualBox好像功能比較齊全一點(例如能加的網卡比較多種)。要注意這台虛擬機只有CLI介面,所以不能用滑鼠來點圖標,只能像在自己筆電上開terminal一樣做事,之後作業中的虛擬機絕大部分也都是CLI介面。

另外,虛擬機的部分也有發生一個大問題是,助教給的虛擬機疑似不能跑在M1的Macbook上,所以有好幾個同學都被卡,我也忘記他們是怎麼解決的,助教給的官方回應是可以去204教室做,但如果開個虛擬機要去204,還是乾脆不要修了吧。

這部分就不能只靠查資料來破關了,因為有些比較難的題目不會直接說他要人幹嘛(比如改使用者名稱、設置資料夾權限),而是讓人讀完題目後還要自己想到底要幹嘛才能拿到Flag,例如這次有一題要求我們找到電腦上正在運作的一個script,然後把他給弄掉,具體要如何找到隻字未提。

不過比起去年,今年這種題目明顯少了很多,教授的個人網站應該可以找到歷屆hw0,有興趣可以比較一下,去年的SA我現在去看我也猜不到他要我幹嘛。

最後,我NA、SA和Tidiness中只有SA被扣1分(包含Bonus),因為當初參考學長的hw0對我幫助很大,所以感覺也可以公開我的hw0答案給之後想修的同學對照題目看當作參考,不過我現在看很好奇Tidiness為什麼能拿滿,我的版面根本超醜不知道在幹嘛。

最後的錄取線是93分(含),錄取的有大概一半都是大一,所以應該是不用擔心被學長姐打爆,hw0打的有點太多了先這樣。

上課方式

這門課是我在資工系第一次上到要點名的課,而且一次未到都扣學期成績3分我的隊友幫我試出來的,雖然課程網上沒寫,不過一週上三節課,一234的時段,其中23是教授用投影片講課,4是助教的Lab時間。

教授用投影片講課顧名思義就是教授用投影片講課,然後每週都會有大概2~3題的in-class,大部分都是教授給幾篇網路文章讓我們現場讀,然後回答NTUCool上公布的一些問答題,不過其實上課沒寫完也沒差,反正死線是隔天晚上不過我好幾次拖到忘記寫

助教的Lab也會用簡報,不過教的內容和教授內容不同,完全就是作業和期考會用到的東西,實際上,作業完全就是Lab的進階版,難度上,個人感覺以第三週的Shell Script最難,然後一直變簡單直到學期末根本只需要複製貼上簡報上一模一樣的指令就能拿滿分了。

Lab繳交的方式很特別,大概有一半的Lab在課後需要Google Forms來繳交,繳交完成後助教會開啟一個Google試算表,在裡面會看到所有人的繳交紀錄,然後助教會開始「人工Judge」,顧名思義就是把改完的結果直接公開填在試算表上,因為是公開的,所以如果有人一直因為一些蠢原因WA的話,所有人都看得到他在耍笨這我

hw0時有淺淺提到,雖然hw0不計分,但是後面還有6份作業會痛扁學生,每份作業能寫的時間更短,除了某幾份有因為特殊原因(如適逢期中考、真的超級爆難)有三週能寫以外,都是兩週就要寫一寫交上去,每一份作業我自己寫大概都要花二三十個小時坐在電腦前才能寫出來,這還不包含坐捷運時想題目的時間,後來我嘗試多和同學討論以後才減少了因為卡住所以什麼都沒做的時間,所以找好一點的「隊友」超級重要,因為他們不會希望我因為作業寫不出來而停修。

而之所以會有「隊友」這東西,是因為這門課有期考,考試的方式是三個人組隊做題目,題目長得就像作業裡的非問答題一樣,有的比作業難有的比作業簡單,而難易度也會直接用星星標在題號上,全程Open Internet,所以跟寫作業的時候可以查資料和問ChatGPT,主要是問ChatGPT,也是修這門課才讓我知道ChatGPT到底有多猛,把題目直接copy paste他以後他就會幫你生出一堆指令了,雖然不是每次生的都對,不過成功率還蠻高的。

相比起作業一份只占平時成績6分,決定誰能拿A+很大程度上是看期考表現,當然作業也不能落,不過期考才是最有鑑別度的部分,總分是兩百多,不過不太可能有組別能拿滿,實際上,能拿100分就已經超級猛了。

  • 第一週:
    • 上課:介紹這門課和介紹一些身為「管理者」應該要做到什麼,比如不要跟一些遊戲一樣維護維一維還要延後一小時,講好幾點就是幾點
    • Lab:做一條網路線,只要測試沒過就要全部重做
  • 第二週:
    • 上課:放假爽啦,不過還是要看以前上課的影片也有in-class要做,大概在簡介Physical Layer和Link Layer,計算機網路可以分成5個Layer,這倆是最底下的兩個Layer,前者是在處理怎麼把1/0的訊號發出去,後者在處理假設已經能發送1/0訊號了,那要怎麼在發送一批訊號的同時,確保訊號不會發生錯誤後又沒發現,或者跟其他人發送的訊號撞車。
    • Lab:放假沒Lab爽啦
  • 第三週:
    • 上課:在介紹UNIX,基本上可以當作對一個作業系統的介紹
    • Lab:Shell Script,我們可以在Terminal裡打指令,而透過把指令寫進Shell Script,就可以用一些if else、for迴圈之類的來做更複雜的操作,比如可以用for迴圈來快速生成1.txt、2.txt … 100.txt一百個檔案,這次Lab是我唯一一次交好幾次才AC的Lab,因為助教沒講要求什麼的,所以我一下TLE一下有沒有考慮到的測資所以WA。
  • 第四週
    • 上課:在講電腦上裝的那顆磁碟,分成HDD和SSD
    • Lab:沒有給我們碰實際的磁碟,不過Linux有一個特殊的機制是可以做到諸如把一顆磁碟分成好幾個分割區來看之類的操作,Lab教的就是要做那些操作需要用的指令,不過具體這樣做有什麼好處就要等到寫作業時就會看到例子了
  • 第五週
    • 上課:第二週講到基礎的Link Layer概念,而這週會講到Link Layer中具體的東西,比如電腦如何把IP address和MAC address兩個東西聯結在一起和VLAN
    • Lab:個人覺得這週的Lab內容很好玩,Link Layer有個非常重要的東西叫做交換機(switch),透過設定他然後把其他機器的線插在他上面,可以做到Link Layer的很多事,例如這次Lab要我們做的設定VLAN,不過設定的是跑在一個模擬器上的一台cisco switch,cisco的switch可以用指令來設置switch,所以設一設就可以把某台機器加到某個VLAN裡了
  • 第六週
    • 上課:講虛擬化(virtualization)的概念,其中包含Docker的容器、我們常開的虛擬機…等,雖然我們可以在一台電腦上「模擬」出另一台電腦,但是電腦始終是只有一個的,即便在虛擬機中可能看不到真正電腦中的檔案,但是他們用的可能都是同一塊硬碟,用的都是同一塊cpu,而如何辦到這件事情和不同虛擬化的方法有什麼差別就是這週講的。
    • Lab:實際玩一遍Docker,會讓我們嘗試利用它建立一個網頁
  • 第七週
    • 上課:繼續放假爽啦
  • 第八週
    • 上課:講IP是什麼
    • Lab:教我們自己設置防火牆,可以設置對某個IP進行過濾來把髒東西全部擋掉掉
  • 第九週
    • 期中考大燒雞
  • 第十週
    • 上課:講Transport Layer,假設可以利用IP來在網路上找到一個從發送者到接收者的路線,發送者把要傳的資料丟到網路上後,要怎麼樣讓網路上的路由器知道要把資料往哪裡送?講完以後再介紹DNS(Domain Name Server)、NAT(Network Address Translation)和DHCP(Dynamic Host Configuration Protocol)。DNS可以把域名換成他所代表的IP,NAT可以讓多台機器共用一個public IP(上課會提到,IPv4快要用完了),DHCP可以讓一台機器連上網路後,自動得到一個可用的IP以和網路上其他機器通訊
    • Lab:教我們在自己的電腦上架一個DNS server,然後就能設置紀錄讓電腦上查到的ntu.edu.tw變成114.514.0.0了
  • 第十一週
    • 上課:講Kernel,是Linux的東西,Kernel負責把軟體層次的「命令」和硬體層次的「操作」連結在一起,例如某個程式想要一點記憶體就要經過Kernel這關
    • Lab:這次Lab和上課內容比較沒有關係,是LDAP,他類似一個資料庫的感覺,不過他的結構是像目錄一樣的,呈現樹狀圖,這東西就是讓hw4死線延後一週的兇手,小心LDAP
  • 第十二週
    • 上課:這週不是蔡欣穆上課,而是邀請同樣是系上的蕭旭君來給我們介紹網路安全的概念
    • Lab:這次的Lab很實用,會教我們運用一個工具炸出別人的密碼,Lab中是讓我們炸出一個加密過的pdf的密碼和知道一個人的密碼是英文名字+生日後,利用這個資訊來超快炸出他的密碼
  • 第十三週
    • 上課:介紹NFS(Network File System),一種可以讓多台電腦透過網路共用同一個目錄的server
    • Lab:教我們架一個NFS server
  • 第十四週
    • 上課:講無線網路的原理
    • Lab:測試無線網路在各種時候的效能如何,需要分別測試2.4Ghz和5Ghz的網路在短距離、長距離和隔著一堵牆時有什麼差別,Windows要載神奇工具然後打指令,Mac的話只要對著網路圖標按著option鍵點下去報告就寫完了
  • 第十五週
    • 上課:上網時輸入一個網址後,那個網址的Domain name會被前面教過的DNS換成IP,然後瀏覽器再對那個IP要網頁,而負責接收「要網頁」這個請求和把網頁給我們的就是這節課教的Web server,最主流的是nginx和Apache
    • Lab:教我們自己架設nginx server,以前是教Apache的然後今年改了
  • 第十六週
    • 期末考
  • 第十七週
    • 上課:想不到吧都放暑假了還要被抓來上課,不過這週是可以請假的,一開始教授會先幫NTUCool打一點小廣告,然後再讓真正的廣告商BigStack來講一點他們公司在做的事情他們官網的點成功案例會是不存在,畢竟這門課是實作取向的,所以這週是讓我們知道學到的東西是能拿來找工作的
    • Lab:BigStack的人帶我們玩他們的產品,大概就是能快速的在他們公司上的電腦開一台VM

至此就是每週上課時間在做的事情了

除了1~3週是hw1以外,其餘都是兩週一份作業,死線是進度教完那一週的週日(比如hw1是第三週週日,hw2是第五週週日),死線完隔天直接公布下一份作業。

作業因為有Tidiness,所以滿分都是103,而期考滿分都是兩百多,期末算分的方式是直接用原始分數算成績,而且可overflow。實際算起來就是,若一份作業拿滿103,由於一份作業只佔學期成績6%,所以就是拿到學期成績6.18,聽起來很不錯對吧,不過由於這門課跟DSA一樣是用比例切等第的,所以看似在加分實際上對提升等第沒什麼幫助。

而期考用原始成績且可overflow也讓它成為最具鑑別度的評分項目,期中的最高分和最低分是128對46的這種差距,而平均也才68而已,最高分快要是平均的兩倍,期末的部分則是117.5對44,平均則是83,再加上兩次期考加起來足足占了學期成績的50%,如果想要拿到好的等第,不在期考上拿到好成績是絕對不可能的。

個人心得

打了一堆有關課程本身的東西,終於能來講一點自己的心得與修課狀況了(不過前面已經有一點偷渡私貨了)。

前面有提到,一開始我一份作業都要坐在電腦前20~30小時才能寫出一份作業,不過後來我遇到卡住就多去找隊友或是認識的人討論,以及尋求ChatGPT的協助,這兩個改變讓我寫作業的速度提升了不少,可能會有人覺得作業自己寫才能學到比較多,但是有些東西他就真的是通靈,每個人都花兩小時在想到底要從哪裡突破,一組三個人加起來就是6小時,那為什麼不要大家一起共用兩小時呢?

另外,這門課是很歡迎旁聽的,但是我覺得比起上課,寫作業的過程才是讓我收穫最多的,所以我認為旁聽的收穫應該很有限,不過課上除了網路的部分應該都蠻值得聽聽看的,例如硬碟、security之類的,會排除網路的原因是我覺得這門課講的網路比較像是快速的讓我們對網路有基本的認識,但是想要好好學網路的話我想還是修計算機網路吧。

這門課的第一節課就有提到,這門課不會教所有寫作業要用的知識,實際上也真的是這樣,我寫作業的過程中幾乎每個問答題都要查資料,實作題也要查別人是怎麼做的或是問ChatGPT,鮮少有上完課直接就會寫的題目,所以什麼都要自學的心理準備還是蠻重要的。

期考的部分,分工是一件非常重要的事情,期中考的時候我和我的隊友相對沒重視這一個環節,所以我覺得考試的時候有點亂掉了(至少我自己是亂掉了),拿到題目以後都要臨時分說誰要寫哪題,要不是其中一個隊友超Carry拿了我們組一半的分數+我看了第一題莫名其妙猜對了答案跳過通靈過程,感覺期中考真的會完蛋。

期末考我們就有記取教訓了,事先對於每週的內容做一點簡單的分工,也因為有做分工,比較好利用考古題資源來練習了(不然考試題目那麼多不分工怎麼可能寫得完考古題),也因為這樣,我自己對我在期末考的表現還蠻滿意的,分配的基本分有拿到,然後又跟期中考一樣亂猜對了一題security跳過通靈過程,最後我和其中一個隊友兩個人都各拿下45分,不過比較可惜的是助教的題序在搞,他只講說一個目錄可以修改,但是沒有講說什麼不能修改,結果我們第三個隊友卡在那邊卡幾個小時,繳交上去也沒說為什麼錯,最後考完了才跟我們說是這個鬼原因,真的是氣死,處置也只有給我們那個小題的分數,不過顯然我們的損失遠遠不止那一小題的分數。

其實期考的部分如果分配得宜,要拿100分或許不難(不過我們組也只有期末拿到100以上而已),因為基本上一題就是2~30分了,而小組又有3個人,所以平均下來大概兩個人寫出來一題,一個電神寫出來兩題,這樣可能就有100分左右了,不過在時間壓力下還是有點難穩穩的抓下一題,我常常一題卡太久然後煩躁起來,或許良好的心理素質也是活過這門課的關鍵吧,不過我沒有就是了。

到了學期末,這門課會到了死線左右才寄一封郵件跟我們講等第多少跟我寫作業的習慣一樣,沒有像DSA一樣公布怎麼切的,不過我和其中一個隊友剛好都在A+線附近:我是16%然後拿A,他是12%然後拿A+,中間還有一個14%的人,不過我不確定他是A還是A+,反正大概就是這附近,而我的原始成績是94.52,所以看起來切的可能跟DSA差不多啊怎麼又是94分拿不到A+的課啦。

這門課和DSA都讓我深刻體會到,學習效果好不好單看上課認不認真是完全不準的,因為一門3學分的課,常常值得投入10學分的課外學習,所以一學期修幾學分真的完全不是評斷一個學期充不充實的標準,如果不算數學寫作的話(這課根本能當不存在),我這上下學期的學分數是24對17,我也明顯感受到這學期比起上學期要來的充實非常多,所以15學分完全能夠和25學分一樣忙甚至超越。

整體而言,我自己不後悔修了這門課,在這門課裡我真的學到非常多,比如為什麼工作站上的每台機器裡學生家目錄裡的東西都一樣?而為什麼tmp2又會不通?為什麼系上的各種服務例如vpn、網站列印都可以用工作站帳號登入?原來可以從工作站上用學號來查到所有系上同學的姓名?這些都幫助我更近一步的了解了生活周遭的系統是怎麼運作的,我也不知道該怎麼形容這種感覺,我覺得很爽。

啊不過如果過篩選進二階的話,我應該是會逃掉啦,救命啊我不要再被NASA摧殘了


基礎數學寫作

  • 授課教授:陳偉松
  • 學分:3
  • 等第:pass
  • 一句話帶過:數學證明入門
  • 甜度:x
  • 負擔:🌟🌟🌟⚫⚫⚫⚫⚫⚫⚫
  • 收穫:🌟🌟🌟🌟🌟🌟⚫⚫⚫⚫
  • 課後學習時數:2小時
  • 會不會再修:沒卡課的話這門課沒有不修的理由

開這門課真的是佛心來著,內容有收穫、上課輕鬆、期末說就算都沒出席沒交過作業也全部pass,根本免費三學分。

這門課今年第一次開,登記是pass/fail的課,也就是說修了不影響GPA,Tony(教授)說他開這門課的原因是因為很多學生在自動機說自己不會寫數學證明,所以他說等我們修完以後去上他的自動機就沒理由說自己不會寫數學證明了。

上課是用教授的自編講義,總共有五個主題:

  1. 基礎的證明結構和邏輯
  2. 如何寫有關集合的證明
  3. 直接證
  4. 歸謬法(反證法)
  5. 數學歸納法

每個主題都會有一週在講課,另一週在檢討作業,不過這樣加起來也只有10週,原因是整個學期常常在放假,而且講課的部分常常一兩節課就講完直接提早下課了,所以實際上課時數可能比2學分的課還少。

這門課是英文授課,Tony跟國榮一樣是香港人,不過相比之下我覺得國榮的發音比較好懂一點,而且Tony上課不怎麼用麥克風,所以想認真聽課一定要早點到去搶前排座位,我第二週比較晚到就幾乎沒什麼聽清他講的話,所以之後就都會儘量提早到教室。

撇去這學分根本跟送的沒兩樣,我覺得單看這門課教的內容也是完全值得修的,尤其是對於像我這種國高中期間沒有受過有關數學證明的訓練的學生更是,修完以後我感覺彷彿剛學會了走路一樣,突然發現自己看得懂數學之美投影片了,暑假(其實就是現在)自己看數學系微積分時也感覺到選擇修基礎數學寫作真的是超讚的選擇,寫DSA作業時遇到一些數學證明也看得懂自己在幹嘛了。

加簽只要寄信就直接發授權碼,我當初初選和加選期間都沒上,原本寄信想旁聽,不過Tony直接發給我授權碼了,不過有個小插曲,Tony第一週因為在國外所以在cool上公告說第一週線上上課,結果我們一堆加簽仔都沒被加到cool裡也沒被告知,幾個人坐在教室裡等了一個小時都沒看到教授,偶然間才發現我後面一直在看手機的同學根本一直都在上課,不過等到我上了google meet後大概二十分鐘後就提早下課了。


校訂必修

壘球初級

  • 授課教授:周德賢
  • 學分:1
  • 等第:A+
  • 一句話帶過:我們組勝率大概2成
  • 甜度:🌟🌟🌟🌟🌟🌟🌟🌟🌟⚫
  • 負擔:🌟🌟🌟⚫⚫⚫⚫⚫⚫⚫
  • 收穫:🌟🌟🌟🌟🌟⚫⚫⚫⚫⚫
  • 課後學習時數:0(+2小時系壘練球)
  • 會不會再修:會

繼上學期的健康體適能後我跟高中同學一起來煩阿賢了

這門課第一節課會分成四組,在之後的訓練和比賽會分組進行,結果我們組大半都是系壘的,如果把零散在其他組的資工人也都找來的話幾乎能自成一組,一組印象中大概十多個人左右?每組固定會有四個女生,男生隨便。

上課內容跟課綱上寫的差不多,反正每週打球,然後考試的部分有傳接球、打擊和筆試。

傳接球是兩個人一組,兩人站在壘球的壘包間距後傳接球,沒有限制傳球的方法,上肩、測傳、或你想像慢壘投球那樣耗時間也沒問題,計算一分鐘內球來回的次數,也就是說就算大爆傳也是算一次,20次及格,30次滿分,另外第一週基本上能無限次考,也能中途交換隊友,所以可以一個強的幫整組都當一遍隊友,不過第二週就有規定只能考兩次了,我最後是和系壘朋友一起拿了29顆。

打擊的部分阿賢只看動作而不看打的扎不扎實,只要動作標準就A+,有小瑕疵就A,不過其實A的標準不會到很嚴,我們全組都A(不過因為沒人A+所以我被阿賢猛虧)。

筆試的話大部分都是規則相關,平常有在看棒球要拿90分以上輕輕鬆鬆,不過沒有看的我就不知道了,可能看到問去年中華職棒哪一隊拿總冠軍會直接傻掉。

雖然平常會有小組競賽,不過勝負不會納入計分參考,雖然我們組大半系壘的,不過我們基本上很少贏,讓我在想是不是該把明年系壘隊長的職務辭掉,不過打球的過程中還是很開心。另外,雖然課程大綱沒有說,不過比賽時規則是用慢壘的(和快壘有不小的差別),而且沒有投手是直接打T座(因為可能沒什麼人丟的進去),不過最後一週打球我們還是有找另一組打有投手的比賽。

壘球初級和其他的專項體育有個很大的差別是,壘球只能在室外打,也因此變得很吃天氣狀況,到盛夏時因為天氣超熱有一節課我打到一半直接中暑,另外如果碰到下雨的話直接不能打,以前遇到下雨的話是真的沒事做,不過今年阿賢加入了新的東西—他在下雨天時讓我們打五人制棒球,所以就算下雨也不會沒事做了!


英文(附一小時英聽)二

  • 授課教授:趙恬儀
  • 學分:3
  • 等第:A
  • 一句話帶過:聽TA的分享能學到很多
  • 甜度:🌟🌟🌟🌟🌟🌟⚫⚫⚫⚫
  • 負擔:🌟🌟⚫⚫⚫⚫⚫⚫⚫⚫
  • 收穫:🌟🌟🌟🌟⚫⚫⚫⚫⚫⚫
  • 課後學習時數:1小時

這門課平常的授課內容跟上學期差不多,就那本課本沒什麼好講的。

值得一提的是在接近期末時有邀請英文辯論社的人來打廣告,快速的帶過了一些英文辯論中的術語之類的,然後舉了幾個議題來讓同學發表意見,不過最後他們離場的時候我才發現剛剛有發言的人除了我以外的根本都是英文辯論社的社員。

minitalk依然是有,不過有一個比較大的差別是這學期沒有期末考,取而代之的是一次小組期末報告,主題可以任選,不過要和英文學習有關且不能是成人內容,因為那時候WBC剛結束,所以我提議了介紹一些運動比賽在轉播過程中會遇到的術語,而我們最後也採用了這個主題(因為沒人想別的主題),每組20分鐘,所以像我們組6個人的話就是一個人講3~4分鐘而已,負擔真的不大,而且因為我自己本來就有在看比賽,所以用瑣碎時間確認單字後只花了大概一個小時就把簡報做完了。

比起上學期,這學期給分應該相對不甜了,其中一個原因是期中考不開放訂正加分了,另外還有把做線上測驗從加分改成原本就要做的,再加上我期中考考爛了所以只有拿A。


全校性通識

中國近世思想史

  • 授課教授:吳展良
  • 學分:2
  • 等第:A
  • 一句話帶過:能大概知道中國近世思想史但是又不太懂
  • 甜度:🌟🌟🌟🌟🌟🌟⚫⚫⚫⚫
  • 負擔:🌟🌟🌟⚫⚫⚫⚫⚫⚫⚫
  • 收穫:🌟🌟🌟⚫⚫⚫⚫⚫⚫⚫
  • 課後學習時數:2小時
  • 會不會再修:不會

近世的定義是宋代以後,這門課從「唐代到宋代的變革」一直講到「清朝中期」,每堂課都是教授用一個簡報來念很多東西。

這門課的評分項目有預習作業、筆記心得和期末考

預習作業和筆記心得都是每週一份,不過預習作業好像有多幾份是加分作業,具體幾分我懶得數了,反正都寫不虧,每週都會在NTUCool上公布一些文本,然後我們要針對那些文本寫下一些自己的理解之類的,要求300字。筆記心得的部分是上課要寫的,顧名思義就是筆記心得,同樣要求300字。評分的話沒有很嚴,應該是不管內容字數有寫到就拿A(87),我看最高分一直都是87,所以有可能只是因為某些教授的設定讓助教不能給100分之類的,大概過了期中以後助教可能就沒在認真改了,所以平均分全部都是87。

課堂內容有時候會講歷史;有時候會講古人的思想;有時候又會講哲學,非常的文學院,因為是講古人說過的話想過的事情,所以簡報中有大量文言文,課堂中教授會唸過一次文言文以後用再用白話文解釋,不過有些文言文他好像會當作常識但我卻看不懂,然後會就會卡在那裡。

有一個我覺得不太好的地方是不會提前把簡報放到cool上,所以我常常上課上到一半卡住時我都要先用手機把簡報拍下來,不然可能在我搞懂之前教授就直接把簡報切下一頁了,根本來不及寫筆記心得,我又不是背簡報大師。

另外我覺得這門課的節奏還是有點偏快,要知道這是一門2學分的課,要花這麼短的時間就把近世講清楚我是覺得也蠻難的,實際上課的狀況就是一個古人的思想可能花個不到10分鐘就草草結束,或許是因為我沒完全懂他的思想的全貌,我常常覺得上課講到的古人好幾個都是神經病。

比起上課的內容,我對教授有時候講到的金句比較有印象,害我咖啡差點噴出來過,他背景蠻特別的,是機械系畢業然後轉考歷史所,他有講到:

審慎考慮 1.看一所大學要看哲學系的水平,而我們學校哲學系根本沒有水平

2.台灣的思想還沒有像西方一樣開放,不然台灣就會有雜交趴

3.柯文哲根本沒讀書

順帶一提我把第二條寫在筆記心得裡過,不過助教還是給我打A。

期末考的部分把我打爆了,前半段有40題是選擇題,基本上有在簡報上讀到過就會,沒讀到也能靠排除法縮小一點範圍,不過麻煩的是最後有簡答題,那個簡答題不會寫是真的不會寫,我只有一半知道該怎麼寫,其他都靠唬爛,不過教授在考試中途就講說考試成績會依照排名來算分,所以不用管原始成績,所以我應該才沒有太慘。

評分方面,每週作業占30%,而剩下70%都給期末考,我是作業全部拿87,不過具體最後算的作業分和我期末考到底考多少完全不知道,截至打稿日期6/28,連DSA的等第都出來了他還是不打算公布在NTUCool上,我想我是一輩子也別想知道了,反正莫名其妙拿了A,害我要請同學一碗拉麵,我跟他賭我有A-以上就請他。

喔然後,我不想再接近任何跟文學院有關的課了。

小結與展望

這個學期我被系上的DSA和NASA輪流暴打,然後學期末時被兩個課同時圍毆,因為不知道為什麼,上學期兩門課的作業還會交錯截止,下半學期卻變成一直同週截止了,害我不能安心趕死線。

轉眼間也要升大二了,感覺壓力已經越來越大了,因為我發現我不能像電神同學一樣GPA4.3跟喝水一樣,啊如果要靠做專題來申請研究所的話我又感覺我太笨了,是能研究出個什麼來,如果繼續線性成長的話我馬上就要完蛋了,現在正在恐慌當中。

下學期的話應該會想要修一點數學系的課,因為我突然對一些偏理論研究的東西有點感興趣,不過系上數學課看起來好像有點水又教的不是很嚴謹,所以想體驗一下數學系的數學訓練,我可能會被打爛,不過還是準備拿自己的人生開玩笑,因為分析導論會卡SP和OS,所以有可能明年會看不到我的SP+OS修課心得了。

學分統計

  • 共同必修:6/9 66%
  • 系訂必修:20/51 39%
  • 選修
    • 系訂選修:9/21 43%
    • 院內選修:0/9 0%
    • 一般選修:0/23 0%
  • 通識:7/15 47% $\colorbox{white}{A1}$ $\colorbox{LimeGreen}{A2}$ $\colorbox{white}{A3}$ $\colorbox{LimeGreen}{A5}$ $\colorbox{LimeGreen}{A8}$
  • 體育:2/4 50%

Overall:42/128 33%

updatedupdated2023-07-022023-07-02
Load Comments?
comments powered by Disqus