就是修課心得,純記錄用,目前沒有打算在網路上公開,成績不好是我菜。🥹 這學期的我不是在作死就是在作死的路上,呵。
前言
大一下修了21學分,心得就寫了兩天,看來是來不及在2月前打完大二上修課心得了,不過我們努力一下,要拼。
先來說說這學期選課的心路歷程好了,只能說最後的課表跟我一開始排的完全不一樣。整件事情的濫觴是系上一門很硬但可以學會很多東西的選修課-NASA,全名Network Administration & System Administration,從原本的等第制改成pass/fail制,這讓我非常心動,也一度找到了隊友要一起修。因此一開始我的課表除了系上大二的三個必修+重修的計算機程式設計之外,只多排了個體經濟學原理與實習,跟這門很硬的選修,以及一個算涼的系外選修。共計15+4+3=22學分。
事情的轉折從一階選課公布開始。由於NASA是在禮拜二早上,初選的時候我就排了三個國文在那個時段而已,會這樣排是因為我大一在選國文課的時候,我選了20幾個國文吧,然後一階選課出來全部摃龜,從此我就覺得國文超級難上。想當初我英文第二個志願就上了ㄟ,因此這次我覺得我只填三個,應該不會上吧。想當然爾,結果就是上了我的第一志願。當時的我還很躊躇要不要退國文修NASA,最後我決定保留國文,畢竟是幸運女神眷顧才選到的,而且主題還是我最喜歡的中國古典小說。現在回頭看,我完全不後悔這個決定,毫不誇張地說,這堂國文課絕對是我上大學以來最喜歡的一門課!
因為選上了這門國文課,導致我修NASA的計劃要順延到大三。然而,大三必修計算機網路跟計算機結構對開在二上午跟三下午,因此我還是不能修NASA。為了解決這個問題,我做了一個蠻大膽的決定:直接修大三必修-計算機結構,只為了讓我在大三可以修NASA。對,這是做死的開始,但你要問我後悔嗎,這點我們留到心得的部分再來詳談。在沒有SP跟OS的基礎下直接修計算機結構是真的很硬,用金庸的話說就是逆練九陰真經的概念。不過頭都洗下去了,當然要洗到底了。就這樣,總學分變成22+3=25學分,每天被作業死線追著跑的大二生活開始了:)
至於個體經濟學原理與實習這門課,我打從大一進來就想要修了,無奈大一的時候跟普物直接大衝堂,因此到大二才修。此外,在暑假和朋友研究了一下經濟系輔系的原則,臺大經濟系在114學年度起改採事後輔系原則,意即只要修完規定的學分,就會自動獲得經濟系輔系的學位。由於對金融的東西我一直很有興趣,也希望將資工系學的東西結合金融相關,因此就想拿這個學位跟修習相關的課程。自此,我的畢業學分門檻正式從128提升到148。
而在開學第一天,我又被我朋友拉去簽一個曾經很甜但近年有點爛掉的通識,(補:他真的爛掉了),在他的蠱惑下,我就去抽籤了。那是禮拜一的課,我開學第一天甚至沒有出門(因為我禮拜一本來就沒有課),就在線上加入zuvio抽籤就好了。結果就莫名其妙的被抽中了,又是被幸運女神眷顧的一天。從此,我的總學分變成了25+2=27學分,瘋狂的一學期正式展開。
學分上限原始是25。若上學期GPA≥3.9,上限會變成31,所以我這學期才能選27:)
由於同一學期修了大一、大二、大三的必修,除了延續上學期對自己的要求:數學相關的課程要在前段班-top,資訊相關的課程拿到中位數的成績,這學期設定的GPA目標是平均A-,也就是3.7,事後看來有完成,不過第一項數學要保持在前段班-top的目標很遺憾的失敗了:(
說了那麼多終於要進入正題了,修的課真的巨多,不過我認為老師都還蠻讓我滿意的。以下評論僅代表個人立場,不喜勿噴。
課表

系上必修
線性代數
- 授課教授:李彥寰
- 學分:3
- 分數等第:B+
- 甜度:7/10
- 涼度:6/10
- 收穫:6/10
- 評分:寰神必須給到頂級
- 配分:40% HW、30% midtern、30% final,會依照分數分布給等第
大二開始資訊系的必修都分成單雙班教學,課名一樣但老師不一樣,教的東西、考卷、以及教法就會完全不同。我的學號是單號,以往單班線代都是呂學一教授,同時負責雙班的演算法設計與分析。不過今年因為劉邦鋒去做研究了,所以沒人教大一的計算機程式設計,因此呂學一就跑去教計算機程式設計,在線性代數與ADA中,他選擇放棄前者,因此單班線代就迎來了第一次教必修課與上次碰線性代數是20年前的李彥寰教授。
其實我在暑假的時候有自讀線性代數,但是一開學就發現悲劇了。簡單來說,線性代數有兩種教學方法,比較主流的教學方法是從高斯消去法切入,然後接矩陣,再到四大子空間,一路推完進度的終點會停在vector space。我在暑假的時候就是照著這個進度念,應該有念超過期中考的範圍。而數學系的教法會是以vector space為起點,之後一律從vector space的觀點去切入,期中考範圍是vector space、linear system、determinants,期末考則是會延續上半學期的進度,教eigenvalue、eigenvector並銜接Inner product space,最後就是以eigenvalue、eigenvector為基礎的三種decomposition。寰神的教法就是採用數學系的教法,也讓我暑假的努力付諸東流:(
寰神參考的課本是Linear Algebra Done Wrong,老師本人也跟該書作者一樣有特色。老師很常說他上課前一天大過敏還是爆坐噴射機或失眠之類的,所以備課可能不太完整或是上課品質可能沒那麼好,果然天才都是體弱多病的?。老師學士是臺大電機畢業的,大學碰的線性代數就是他在教這門課前碰的最後一次線性代數。上課方式就是按照上面所說的課本,基本上都是照上面的教,除了他在備課的時候發現有些證明他覺得過不去他才會講的更清楚,上課時他會自己手寫note,不過字非常的飄逸,恍神一下基本上就不知道他在幹嘛了。上課的時候他會錄影,只不過影片很常因為設備問題沒聲音就是了。上課時除了講課本,老師也會講他在瑞士唸書的經歷,同時也會提自己研究領域的東西(會講機器學習、量子演算法等等)。最後三周因為教授要去美國開研討會,因此影片全部都是線上錄製的(老師是在美國的凌晨錄影的,真的很辛苦)。
作業的部分,老師會從那本書抓題目下來,都是證明題。一次作業約莫10題左右,期中與期末各一次作業而已。聽到這裡你會覺得作業很少,但老師認為學習是自己的事,上完一節就應該自主把後面的題目都寫完。所以理論上作業題目都要是寫過的(考試也是,見下文)。
在開學就知道念錯進度的情況下,再加上第一堂課老師就說他是純純的代數人,所以我一開始就水土不服了。因此開學我就急起直追,自己狂啃原文書,也因此我在一開始覺得老師教的跟課本大同小異,就沒有很專心聽課。所以期中考就被制裁了。期中考的形式是10題證明題,其中只有少部分的小題是計算題。教授說七成的題目會從課本出,然後可以帶一張A4雙面手寫大抄。期中考平均是47,我考得比平均略低,大破防。當時成績出來之後,單班爆發了一波停修潮,將近20個人停修。不過我還是選擇撐下去,一方面是他是根據成績分佈給分,因此我覺得我應該還算安全,另一方面是,反正期末考大逆襲的劇本我也不是沒有拿過,所以就決定修到底。
期中考是在系館104考,全班將近100人擠在位子100個出頭的教室,真的超級擠。此外,期中考後的第一堂課,老師就說我們考的巨爛,都出70分的課本題了還考成這樣,然後說到我們都不來上課(到課率3-4成吧,教室位子超級空)等等。然後就爆發了網路一波炎上潮。簡單來說就是有人在脆上抱怨老師出太難然後教法很抽象,因為他是天才所以理解的很快,所以無法體會普通人所面對的挫折之類的,然後覺得我們考太爛是不認真等等,結果就引出教授來留言了(見下圖)。平心而論我覺得教授確實出了70分的基本題,我確實有寫課本題,題目也真的一模一樣,我認為真的就是練習的不確實,以為自己已經會了就沒寫詳細。剩下的30分也確實相對難。我自己就是證明的一開始有一個notation寫錯,然後10分就噴掉了,然後還有一些粗心沒寫到的條件,這些粗心加上去就真的差不多將近70分。我的立場是教授沒有不對,畢竟教法是老師決定的,作為學生要嘛強迫被吸收拿到分數,要嘛就是停修或自己吸收知識。

期中考後由於我也沒時間啃原文書了,因此我就是跟著老師上課的步調走,每堂課都去聽然後乖乖地吸收老師的想法和觀點。漸漸地我發現我比較能接受了老師所謂的代數觀點,但就是前面很痛苦就是了。期末由於三周都沒上課再加上我其他科目的進度壓力很大,那三堂課被我拖到考前三天才看完。老師說為了給我們正式的期末考試,他借了綜合大講堂,只不過要第17週才考試,真的是拯救了期末loading大爆炸的我,讓我可以把三周的內容好好看完,做好大抄再進去考試。期末一樣老師說會從課本抓70分出來考,數字等等都不會改。而他最後出了80分的基本分,剩下20分是他選修課的期考題(aka防破台題)。因為出題的形式是證明題,所以我就把題目裡面我覺得會考的證明題和解法都寫在大抄上,反正如果是單純的計算題就是考細心度。最後我拿了65分,剛好在平均上,看起來跟其中差不多。不過要換個角度想,期末考停修的人都已經跑了,因此剩下的人的平均絕對是有進步。挺扼腕的點在於我期末考一個unitary沒有除以determiner,另一個是我decomosition的中間項notation又寫錯了,不然本來可以將近8開頭,最後成績也應該會上到A字頭。考量到我確實沒有付出太多心力在這個科目上,原始分數B-能夠被調兩個等第我已經心滿意足了。
要說這堂課的收穫就是截然不同的線性代數觀點,很多酷酷的證明手法,還有線性代數在資訊工程領域的應用。比起雙班大眾流的教法與純當計算機的考試確實是真的比較辛苦,不過相對的未來看線性代數應用的維度就會不一樣。如果有機會跳槽去雙班,我想我還是會留在單班啦,只不過學分應該要少一點,讓我可以花比較多時間在線性代數上。即便我覺得我學的沒有到很完整(比起微積分),不過這是我自己的問題,老師是真的上得很不錯。有鑑於此,為了讓自己學得更完整,我應該大三或大四會去修國榮開的線性代數導論,讓自己線性代數的底子更完備。
演算法設計與分析
- 授課教授:蕭旭君
- 學分:3
- 分數等第:B+
- 甜度:7/10
- 涼度:3/10
- 收穫:6/10
- 評分:蕭班ADA一定是頂級,重生一萬次都不會去隔壁班
- 配分:35% HW、10% mini-homework、10% quiz、20% midtern、25% final、1% bonus,會依據分布調整等第的門檻(並沒有)
演算法設計與分析(Algorithm Design and Analysis,簡稱ADA)。誠如上述,由於分班的關係,單班與雙班的教學差異甚鉅。單班有作業保障分,雙班就是三次期考決定學期成績,詳細可以參考我電神朋友的修課心得。
ADA的教學內容包括以下:divide & conquer、dp、greedy、圖論演算法、np 問題以及 Approximation Algorithms。概念上是簡單的,不過詳細分析背後的數學並實作是困難的。老師上課會用自編的精美投影片,有同步直播,也會提供錄影。老師上課會先從蠻基本的生活問題引入,之後就是介紹不同的演算法,最後就是證明其正確性,最後一個部分我認為是這門課的精髓:你要怎麼用數學去說明這個演算法是「正確的」?
由於有提供錄影和同步直播,這堂課的到課率一直都不高,大概2-3成吧,不過某幾次是例外就是了。我自己是沒缺席過任何一堂課,主要是我覺得教授講話的步調跟她的教法很合我的胃口,循序漸進的模式讓我有完整學習一個知識的感覺。也因此我願意在這三小時有效率地把這些知識吸收起來,而不是回家再多花時間看影片。
整體而言,ADA跟DSA的差別只在於實作能力跟數學分析的比例多寡。和DSA相同的是作業分成Hand-writting跟programming,同時也一樣有mini-homework,就是要實作老師上課講的經典演算法,總共6次,做其中5個就會拿滿 mini-homework 的10分。我一直都很喜歡 mini-homework 這個設計,它可以讓我確認自己是否有搞懂演算法的實作原理,並且有能力實作出來。比較不一樣的是ADA今年新增了quiz,總共四次。我也很喜歡這個設計,他會逼迫你去唸書,而且題目難度不高,上課有聽就會拿到大部分的分數,也就是在這四次考試全部人才會實體到場,堪稱ADA到課率最高的四堂課:)。
作業的形式跟DSA蠻像的,也是有HW1-HW4,每份會cap在100分,而第四次作業只會cap在50分,不過四次作業滿分都是超出 cap 5-15分左右,算是有給一點空間。與DSA相異的是,ADA作業的100分是直接包含了程式題與手寫題,通常各佔一半,程式題3題,手寫兩大題。本來HW4沒有安排程式題但好像出了點小意外,所以HW4還是有一題程式題,四次作業的具體範圍如下:
- HW1:divide & conquer
- HW2:dp+greedy
- HW3:圖論演算法
- HW4:np 問題、Approximation Algorithms (maxflow的程式題在這)
和DSA一樣,手寫的部分我依舊是手寫,但ADA作業更強調數學證明。Briefly explain the correctness of your algorithm and its time complexity.。在設計出符合規定時間複雜度的演算法後,還要證明他的正確性。不過ADA作業有一點我蠻喜歡的,他的小題很多,偏前面的小題比較簡單,結果對於最後面要設計符合規定時間複雜度的演算法還有證明正確性都很有幫助。我自己在手寫花的時間一份差不多是12-16小時,除了要想證明還要詳細的寫真的很累很麻煩,不過有學到東西就會覺得很值得。
接下來講到programming的部分,judge系統介面跟DSA設計的基本上一模一樣,只不過上傳方式不是用git了,而是一般的上傳檔案就好。ADA這門課是規定要用C++寫,終於不用手刻heap了好ㄟ,比較多東西是內建函式庫幫你寫好的,因此難點就在於你的演算法有沒有想對(基本上演算法對了不太會有bug,頂多就是跟我一樣白痴忘記開long long)。除了HW1 P3那題太空船沒搞出來(45/120的通過率,我沒那麼強😭),其他題都還好。只能說cpp真的好方便:)
AI Policy之亂:簡單來說就是,ADA在課程伊始就明講可以使用AI debug,但是上交的程式碼必須是你完全理解的。助教會人工看扣,覺得怪怪的地方就會傳喚你來面試,你必須向助教解釋你的方法是什麼。如果助教覺得過不去,意即面試沒有通過,學期總成績會-10。但第一次助教抓了可能一半以上修課的人,蠻多都是無辜被抓的(包括我)。其實助教的本意是希望我們真的理解,但就是出了點大意外。不過後來助教也有道歉ㄌ,之後我不知道是不是真的有人被抓過去,反正我是沒有。
最後是期考的部分,就期中跟期末,可以帶A4雙面的大抄。我是把老師投影片上演算法的pseudo code跟一些名詞定義貼上去而已。題目跟DSA的形式很像不過滿分是120分,比較不一樣的是ADA會有選擇題,就是考一些比較基本的東西,一題5分總共五題,這東西完全就是我考期考的拿分手段,其他就是會寫的就盡力寫。另外,最後一大題是feedback,只要有寫就會拿到4分,每頁都有寫學號跟姓名也會拿到4分,所以基本上就是25+8=33分送給你了。難度我覺得就比作業簡單一些,我期中拿63.5,期末拿66,以下有成績分佈圖(左期中右期末),供參。必須稱讚的是ADA助教真的很認真,解答出來跟改考卷的效率真的有夠好,期中甚至有錄影解題,而且助教時間去問問題他們也會很熱心的回答。Bonus分數就是從這裡來的,只要你有去問問題助教就會記下名字,你就會拿到Bonus的1分,例外是如果你總成績算出來沒過的話,Bonus會幫你加5分。
最後總成績出來之後,也公布了每個等第的門檻,只能說根本沒調,每個線下降0.5而已,在cool上面看到的分數本來就會四捨五入所以根本沒差。我的總成績是78.42,本來以為有機會被調到A-,結果還是B+,點點點。不過我認為我在這門課學習到的遠超過這個分數的價值,也對演算法有更深刻的理解,自身的coding能力也有所增長。
系統程式設計
- 授課教授:鄭卜壬
- 學分:3
- 分數等第:停修
- 甜度:-/10
- 涼度:0/10
- 收穫:-/10
- 評分:PJ教學給到頂級,作業給到拉完了(但這是助教的鍋)
- 配分:40% HW、30% midtern、30% final、1% bonus,會依據分布調整等第的門檻(本來沒這回事,按成績出來是有調)
系統程式設計(System Programming,簡稱SP),一樣有分單雙班,但我修的是雙班,雙班只要是資工系大二都能加簽到,兩班的差別在於手寫作業期考不一樣,程式作業兩班是一樣的,所以絕對跑不掉。單班的期考比較簡單,不過我比較喜歡雙班老師的教法跟投影片,因此就簽到雙班來了。
雙班的老師又稱PJ,上課就是會講他精美的ppt,主要在介紹我們寫了一支程式之後,系統是怎麼去解讀跟運作他的(後面應該還有蠻多東西,不過我還沒補到。老師很常中間休息時間很短然後講超過3小時,教不完的部分甚至會端出2021年(疫情期間)的上課錄影。我前幾週有去,不過我對這東西的專注力真的沒辦法持續三個小時,因此後來我選擇補他的上課錄影,然後SP這門課一直被我壓在我heap的最底層,於是我的進度很穩定的落後,於是期中就炸開了,權衡利弊之下我決定把這門課停掉,因為這門課目前的沉沒成本是最少的,停了會比較不心痛:(。因此上課內容請先等我在寒假補完2021的全部影片再來寫。
更:我補完課了,但我要留到大三上的修課心得:)
作業的話分成程式以及手寫作業,手寫作業一共5次,可以用打字的但是要親筆簽名並紙本繳交。手寫作業不太難,就是問一支程式跑起來會怎樣,又或者請你寫不會戳到一些bug的系統程式。期考形式很像作業,有寫code題,也有看code回答問題,還有定義回答題,不過期中平均50幾,非常恐怖(期末滿分125平均70幾,好像也沒有比較好)。期中炸掉是我停修的一個原因,第二個原因就寫在下一段了。
再來講到程式作業,程式作業分成四次,每次佔學期總成績8分。比較特別的是SP作業是後測,交作業的方式是用git push上去,然後助教在工作站跑你的code。而助教只會提供public test,因此每年SP都會有強者搞出judge,然後加一些比較強的測資讓大家跑,所以記得加大群哇各位,基本上跑過judge的都不會有太大的問題。SP作業最為人詬病的是spec,真的是又臭又長,我光第一個作業就看超久,然後搞了10幾小時吧,作業二就是超級難,助教還有限制寫法,那時候loading大到我快到死線才開始弄這份作業。我搞了大概一天沒搞出來就放棄了,這也是我停修的第二個原因。不過聽說作業三跟四比較和善,沒關係我明年再來體驗:)
總體而言,PJ教的是真的很清楚,我在有認真吸收的時候確實都有學得很清楚,不過這要投入真的大把大把的時間,也是大二上的我沒有的,也因此我要利用一整個寒假把整學期的課補完,等我明年修完會再寫一次這堂課的心得。不多說了我要去補SP了:(
計算機程式設計
- 授課教授:張傑帆
- 學分:3
- 分數等第:A+
- 甜度:7/10
- 涼度:8/10
- 收穫:2/10
- 評分:給到努力了解ADA題目的傑帆一個夯
- 配分:10% HW、20% 出題、10% 驗題、10% 學習單、20% quiz、15% midtern、15% final
aka計程重修班,大一計程停修或被當了怎麼辦?沒關係,傑帆明年依舊在204守候你。傑帆的教學理念與P教授大相逕庭,我們就從配分說起好了。
首先是傑帆最希望我們在這堂課學會的,不是上機要如何得厲害,而是透過團隊合作並出題,在出題的過程中體會一道上幾題是怎麼出出來的,然後嘗試用這個角度去破題。其實立意是好的,同時也會在過程中學會使用git,聽起來是一個可以學到很多東西的課對吧?這樣想確實是沒錯,壞就壞在,這門課在上機考開放使用AI,然後剛好今年Gemini橫空出世,然後,就沒有然後了,期末考三題上機只要10分鐘解決:)
不過還是說一下這門課的細節吧,上課會先分組,4-5人一組(因此建議抱團修)。會有6大主題,如以下:
- Bitwise operation
- Two pointer
- Sliding window
- Recursion
- DP
- File IO
每個主題約3-4組,稱為出題組。出題組要針對自己選擇的主題出一題作業題跟上機題,上機題會是作業題的加廣加深版,評分項目裡面的20分會在這,而其中的5分是題目在上機考的AC率,必須壓在50%±10%才會拿到5分滿分,由於可以使用AI,因此這項變得異常困難。有兩個算比較可以拿下這分數的方法,第一個是壓時間複雜度,就是讓runtime會快切到限制時間,第二種就是加一堆限制,讓AI疲於奔命,不過這是建立在Gemini3還沒出來的時候,因為出來的時候已經快期末考了。一個輪替會是四次上課:第一次老師講該主題,該週出題組要出完題,下一週出題組上台講自己出的作業題與解法,而該週非出題組的同學要寫作業以及學習單,學習單就是評價出題組的作業題目有沒有切合主題之類的。出題組的同學則要負責驗同一個主題其他組出的題目,並且要記得回報。沒有問題也要回報,這鬼東西佔學期總成績10分,我們因為沒有回報本來這個是0分,最後期末確認成績的時候才發現,助教看我們可憐才給我們一半分數,也因此才有A+。最後一週就是出題組上台講考試題的解法,後半段則讓老師講再下一次的主題。
期中考跟期末考差別只在於是助教出題,但一樣可以使用AI,所以其實沒有難度:(
為了拿到高分而無所不用其極的出麻煩規則刁難AI,導致真的自己下去寫會發現根本超麻煩,於是就失去了這門課培養程式能力的機會。因此我覺得與其寫這些東西,不如好好刷leetcode daily培養實力還比較實際:)
也因此這門課變得很沒有負擔(比起P教授),但同時也是真的沒學到東西。不過爽刷到A+,而且老師會很努力的跟學生互動,期末考有發歐趴糖,給到一個夯。
題外話一下,因為課程主題有DP,再加上重修計程的人也有修ADA,於是ADA的程式題就被搬來這裡當作業題,真的是殺人誅心。然後同學在台上講這題作業題的時候老師看起來不太理解題意,於是這題講了快半小時有,非常有趣,所以才有給到努力了解ADA題目的傑帆一個夯:)
計算機結構
- 授課教授:楊佳玲
- 學分:3
- 分數等第:C
- 甜度:7/10
- 涼度:3/10
- 收穫:8/10
- 評分:佳玲姐給到頂級,是學長姐太強了嗚嗚嗚嗚嗚嗚嗚
- 配分:20% HW、10% discussion+quiz、35% midtern、35% final,會依據分布調整等第的門檻(大調特調)
由於大二不能直接選這門課,因此我是開學第一堂去填加簽表單的,最後看人數是90幾人,資訊系本系要簽應該不會有太大的問題。
計算機結構聽起來會很像硬體的課(實際上電機系也真的有開),實際上,他是資訊工程領域最接近硬體設備的一門課。如果說SP探討系統的角度怎麼看一支程式,那麼計算機結構就是從硬體的角度去看一支程式。比如說int a = b + c這個在c語言中短短的程式,在硬體的角度來說要拆成很多步驟來做,也就是所謂的組合語言(assembly code)。計算機結構就是在這樣的基礎下一步一步往後延伸,探討硬體究竟該如何設計,才可以讓效率最大化,內容包括以下:
- Computing Platform
- Evaluation Metrics
- Instruction Set Architecture
- Linker-Loader
- Single-Cycle Datapath/Control
- Pipeline
- Memory Hierarchy
- Virtual Memory
- Multi-processor
由於這堂課是採用翻轉教學(對,跟DSA一樣),因此上課前要先去看老師預先錄好的影片。不過這次老師很清楚自己在教什麼,講的東西也是淺顯易懂,在比較困難的部分老師也會盡量解釋清楚,課前要花在影片上的時間約1-1.5小時。三節課的上課時間被老師切成兩半,前半段老師會go through該週要講的主題,重點以及學生容易忽略或誤解的地方會特別提醒,但因為是go through而且影片講得很詳細了,因此trace code或著細節的部分會跳過。後半部分就是discussion time,學期初會分組,然後討論時間助教會放跟該週主題相關的題目,同組要相互討論然後確認自己的觀念是正確的,我因為只跟一個朋友一起修,因此分組是被動分組的,就助教隨便分。討論時間結束是小考,是用ntucool作答,題目跟討論長得會很像,就改數字而已。disscussion的10分拆成兩個部分,5分是自己的小考成績,5分則是同組成員的小考成績,所以就是為什麼要討論了。但因為是用ntucool線上考,因此後面蠻多學長都沒來教室。有一次老師進來看討論狀況就發現人也太少,所以在那之後就週週點名了。我自己是每堂課都會到,除了第九周教授出國開會,我在補SP進度:(
作業總共有5份,前兩份是寫assembly code,後面三份則是要寫verilog,每份作業佔學期總成績4分,內容如下:
- HW1:用assembly code寫一個簡單的計算機
- HW2:用assembly code寫link-list,然後用這個資料結構實作sorting,複雜度 $O(n^2)$ 就會過了,我是用bubble sort
- Lab1:用verilog寫一個簡單的計算機
- Lab2:用verilog實作pipeline,同時要能支援forwarding和hazard detection
- Lab3:用verilog,以Lab2為基礎,在把data從disk拿到momery的中間實作cache
先說結論,我只有第三個作業沒搞出來,因為死線是期末週,權衡利弊之後我決定放棄他。不過就算是沒寫過verilog的新手應該還好,助教有一堂課有教學,再加上語法跟C語言差異不大,因此算是比較好上手。我自己一份作業差不多8-10小時就搞得出來,比SP好多了。此外作業的spec寫的清晰明瞭,提供的public test也很強,基本上過了就會拿滿分數,助教超讚。比較特別的是Lab2跟Lab3會有面試,佔該作業20%的成績,在第17週。助教會看你的code然後問為什麼這邊要這樣寫,然後也會有小題目問你,如果真正了解自己在做啥應該都不會太難。
期考的形式跟discussion題目的形式很像,但是難度完全不在同一個級別。期中考在網路上找得到兩年份的考古題,參考性蠻大的。期末就沒有考古題了,不過閱卷的時候我有拍下來:)兩次的平均分別是68跟60,標準差都是17左右。
我學習的方式就是看課前影片,然後會自己寫筆記,然後上課也是全程都有到。期中前的進度是到single cycle pipeline,截至那邊我都還聽得懂。這樣的方式讓我在前半學期都還撐得住,但是到期中考的時候,計算粗心+code的邏輯寫的有點問題就讓我噴了一堆分數,本來應該是考得到平均的,最後就是低了平均剛好一個標準差。期末的範圍就更加艱辛,我花了比期中更多的時間去做筆記跟理解,因為沒有學過OS,所以virtual memory那邊等於是從頭開始學,另外期末的東西也比較難,所以期末就真的讀得很辛苦。然後期末考我有個表的bit寫錯,然後那一個錯有6個地方,所以又噴了一次分數:( 。最後一樣是考在平均後一個標準差,我覺得我有付出足夠的努力,但無奈自己就是會粗心跟學長姐真的都好強,以往的平均都落在50幾,從來沒有及格過:(
因為兩次都低於平均一個標準差再加上少做一個作業,我最後總成績算出來是不及格的,本來要擔心會不會被當。不過老師在第一堂上課就說了,分數是依照班上分佈去給分的,我看了看作業跟discussion的成績,再看看期中期末的分布表,發現自己成績會不好看但應該不至於被當,最後也是被大調了兩個等第。雖然成績不好是早有預見的結果(學分太多+上修),不過我認為我在這門課學習到的東西遠超這個成績所能反映出來的,在學習的過程中本質上也是開心的,因此我還是很喜歡這門課的:)
最後必須稱讚這門課的三位助教,三位助教的動作都很有效率,改作業跟考卷都超級快,然後作業的spec也寫得很明確。除此之外,助教也很樂意回答學生的問題,17:30下課之後都會有當天quiz的檢討,必須給到這些助教滿滿的大拇指:)
系上選修
這學期已經CSIE×15了,再選一個課號CSIE我一定扛不住,所以我留到二下選了一個電機選修+兩個資工選修:)
更,很幸運的電機選修有選上,但資工選修還在考慮要不要。
外文領域/通識
大學國文:文學鑑賞與寫作(一)
- 授課教授:汪詩珮
- 學分:3
- 分數等第:A+
- 甜度:8/10
- 涼度:6/10
- 收穫:10/10
- 評分:上大學以來最喜歡的一堂課,必須給到夯
- 配分:25% 平時、15% 小組報告、25% 期中書寫、20% 期末展演、15% 期末書寫
終於寫到我最喜歡的一門課了!誠如前述,在選到這門課的當下是開心的,畢竟逃過了一堆奇奇怪怪的書寫自我的作文課,而且主題還是我非常有興趣的中國古典小說,肯定是要好好把握這份幸運了!
老師的主要研究領域是元曲跟戲劇的部分,因此這門國文課也會比較側重在這方面。第一週會講述課程大綱,然後老師也給我們看了一齣日劇。第二周則是自我介紹並分組。前半學期先介紹了兩篇跟「知音」相關的歷史故事,分別是〈俞伯牙摔琴謝知音〉以及史記中豫讓與趙襄子的故事,這兩篇故事主要是為了帶給學生一些不一樣的角度,讓我們得以用這些迥異於以往的觀點來看待接下來的大主題-「趙氏孤兒」的故事。先分別從兩本史書-左傳與史記的論述來看待趙氏孤兒的前因後果,再從現代諸多的改編版,看每個改編版本所展示的趙氏孤兒去感受其背後想要傳達給觀眾的價值觀。老師會播放每個現代版比較經典的片段,讓我們可以從中體察編劇想要傳達的意思。期末的主題聚焦在愛情,老師介紹了三篇明清的短篇文言小說,分別如下:
- 〈賣油郎獨占花魁〉
- 〈杜十娘怒沉百寶箱〉
- 〈蔣興哥重會珍珠衫〉
三篇通篇都是講愛情,不盡相同因此很適合拿來比較。最後本來要講白娘子永鎮雷峰塔(又是另一個愛情故事),但是由於某些原因,老師讓我們以趙氏孤兒為基礎做改編,並在期末演一齣戲作為展演。
老師在第一堂課就說了,因為大家都不是中文系的學生,因此這門國文課高機率會是我們人生中最後一堂國文課,因此她不希望繼續延續我們以往升學階段的上課方式。也正因為如此,老師不會要求我們去記憶太多國學常識,但是要看懂小說內容。每次上課前老師會要我們看該週的小說,老師會提供電子掃描檔,內容不會太多,而且也不太會有看不懂的文言文,我自己是利用通勤時間把小說看完。老師上課時不會逐句帶小說,而是用內容推進,並通過問情節的方式確認我們都有看小說。在每堂課的最後會有問題與討論,要跟自己分組的組員討論,然後派代表上台講討論的結果,同時也要派人上ntucool上傳更完整的討論,不然助教會一直催:(。由於在一開始老師講課的時候我發現,老師拋出的一些觀點跟想法是我讀小說的時候完全沒想到的(可以很自豪的說我的小說閱讀量是很高的),也因此我不會把他當podcast聽,而是會適時地做些筆記。除此之外我真的很喜歡老師上課的語調跟節奏,非常的有活力,而且老師還會分享自己之前在中正大學教書時的趣事,會讓人會心一笑的那種:)在學生上台的時候老師也總是可以叫出他的名字,老師記名字的能力真的很厲害,也因此翹課一定會被發現,我是都準時到啦。這無形間也拉近了學生跟老師的距離,雖然說不點名但實際上到課率超高。
期中書寫在第七周(完全是福音!)有兩個大題,需要寫的字數有下限,寫不夠可以跟老師多要答題卷。第一大題是針對許多趙氏孤兒的改編版,自己最喜歡哪個版本,為什麼?以及你想要怎麼改編。第二題有點忘記了,大概是在臺大給自己的改變還有對未來的期許啥的。第一題在考前會先公布,因此可以先自行擬答。我寫了大約2500字,最後拿A,感覺是還行?班平均82.多,同時老師跟助教都會給評語,讓你知道自己為什麼拿這個分數。
期末由於老師覺得期中大家寫的改編版太好,因此把原本要講白蛇傳的進度改成給我們把自己組別改編的趙氏孤兒真的“演”出來,於我而言是個超級新奇的體驗了。改編是一回事,透過肢體語言與台詞把我們的想法傳達給觀眾又是另一回事。我們改編的模板是羅密歐與茱麗葉,然後我拿了男主,因為我是組裡面唯一的男生:(。我們的劇本真的超級長,我背台詞真的背得很辛苦哇,但比較幸好的是演戲是第十五週,準備時間有兩週,我們花了第一週寫劇本,在寫劇本的時候我們塞了超級多梗,除了羅密歐與茱麗葉,還有一些歌詞,更有甄嬛傳,非常有趣。但最後我們排戲只排了一次,排戲的過程中也蠻多笑料的,非常有趣。
在我們演出前有四組演出,有些組真的挺鬧,但不得不說有些組別細節真的做得超級好,改編的思維以及方向都令人眼前為之一亮,老師在演完戲會給予評語以及提問,也會問觀眾們的心得以及提問,我在這邊就發言蠻多的。看完四組之後,我很有信心我們的演出絕對不會輸,然後一上場就出大事了,有忘詞,還有道具出了點小問題,不過還是在驚濤駭浪中謝幕了。呈現的我覺得有70%吧?這樣也夠了,想傳達的意旨以及細節都有做出來。最後在頒獎的時候我們獲得了最佳演出獎,然後男女主角都拿到了最佳演員獎,可謂是大贏家:)
期末跟期中的形式一樣,不過是帶回家寫,也一樣是第十六周的週末繳交電子檔。可以使用AI協作,但必須完全附上交流的過程。我覺得文學的東西用AI真的是玷污了國文這門神聖的科目,因此就花了半天寫了將近3000字,再掃成PDF檔給老師。
這門課只會看到自己期中考的成績,在成績系統會直接看到自己的等第,我看到A+的時候真的嚇到了本來以為不會那麼高的,真的非常謝謝老師!等第出來後A+的比例是24.24%,就是個看起來確實有在壓比例了,個人還是覺得超級甜ㄉ!
總結一下我喜歡這門課的原因好了,除了讀到了我最喜歡的小說,重點是這門國文課讓我重拾了閱讀的習慣,大一一整年忙於課業而不能做自己真正喜歡的事情,終於可以在大二上好好的為自己做回兒主了。另外老師帶給我從不同的角度解析那些看過的小說,也學會了從不同的角度去看待各式感情。此外,演戲這個新奇的體驗更是在國高中時期的國文課不曾有過的,把文學用演的演出來真的超級酷!老師真的帶給我很不一樣的人生中最後一堂國文課,真的非常謝謝老師!
毒道之處~看不見的危機!(A7)
- 授課教授:姜至剛
- 學分:2
- 分數等第:A+
- 甜度:9/10
- 涼度:9/10
- 收穫:1/10
- 評分:我只是被拉來上課的,給到npc
- 配分:15% 出席、25% 課程參與、20% 期末影片、40% 期末報告
誠如上述,我一開始真的沒填這門課,完全就是我朋友問我要不要。第一堂會開直播抽籤,只要加入zuvio就有抽籤資格,然後我就抽到了,非常神秘。
這門課程是一堆老師合授,就是講一些生活中的毒,從塑化劑、空污、黴菌、毒品等等、防腐劑等等應有盡有,講一些迷思啥的,反正我沒在聽。我不是唸自己的書就是看計結的影片,然後上課如果要回答問題上zuvio回答就好了。
每週上課都要點名,上課時點一次,課前課後都有該主題的一些問題,課前通常是一些迷思的經驗,課後則是上課學到了啥,反正都是gpt幫我回答的,要記得回答就好了。
期末影片在11月底要交,助教會隨機分組,每組挑一個主題用拍影片的方式介紹,會有範本給我們參考。我們這組的主題是毒品危機,前面是一個劇,後面就是念ppt,也可以選擇念ppt但分數感覺不會很高就是了。我演劇裡面的警官,我們就用某次上課前把小短片拍完,剩下就是剪片組的事情了。此外還有各組互評跟組內互評,要給分數還要寫評語,我想評語想到很坐牢,跟一個npc一樣。
期末報告要用自己科系的角度寫一篇跟毒理學有關的現象解析報告,期限到第十六周的週末。我做的主題是用卷積神經網絡做一個黴菌早期辨認系統,然後我就丟給Gemini生成全部的過程,再自己排版。所有成績都不是公開的,最後等第會直接出現在成績系統,根本就是個黑箱。反正出來的結果是A+我就沒想那麼多了。等到成績分布出來的時候我才發現A+只有13.37%,我原本以為這門課超級甜才跟我朋友一起來修的,幸好沒被搞:(
一般選修
個體經濟學原理與實習
- 授課教授:林明仁
- 學分:4
- 分數等第:A+
- 甜度:6/10
- 涼度:7/10
- 收穫:8/10
- 評分:老師很帥,助教很會教,夯爆了
- 配分:30% HW、30% midtern、40% final
身為國立臺灣大學的學生,你絕對不可以沒有修過經原大禮包。誠如前述,我在大一的時候就想修這門課了,但就是被普物卡到了,在大二終於有這個機會可以修了。個經原跟總經原一樣,可以當作通識或者是選修,輔系的話也只是要求要修,這8個學分可以算在本系的畢業學分裡,真的很賺。
至於為什麼想經濟學原理?其實就只是在這個全球化的時代,錢雖然不是萬能,但沒有錢萬萬不能,賺錢是其次,如何以經濟的角度去看待全球發生的事情,從而審時度勢,以利套利,方為上策。另外我認為,培育資訊以外的能力也是很重要的,而經濟又是最實用,而且我也蠻有興趣的,因此就決定要修經濟學原理。
臺大的經原有很多班,我在網路上有先查評價以及問我資管系有修過個經的朋朋,林明仁老師的經原是最強調數學的,這不就剛好打在資工系的優勢上面嗎?也因此就決定選這班了。事實證明完全沒選錯班,且聽我以下分析。
個經原一開始有點高中公民,先絕對利益然後比較利益嘛,接著就是解完全競爭的均衡會在哪,只是加入了數學要算,以及一些邊際的概念。期中前會帶一點點獨佔,期中完後就會講外部性,獨佔,以及賽局。明仁的上課方式不會只是單純的念批批踢,他會用學生比較聽得懂的生活日常舉例,讓我們能用更平易近人的角度去了解並解釋一個經濟現象。除了舉例,明仁也會把具體的計算以及背後的數學意義講出來,而不是只有單純的概念而已。在脆上有看過其他班的經原考卷,基本上都是觀念題,才沒有那麼多計算呢。我本來真的認為經原有計算是很正常的事,直到我下學期修了個體經濟學,詳見大二下的修課心得。
除了老師會上課之外,每週的助教課也是相當的重要,助教會帶大家複習該周的上課重點,同時也會把考試重點隱晦的塞進去,而且助教課是可以線上上課的,非常方便,助教課是禮拜三而上課是禮拜五,我通常會用禮拜四晚上把助教課補完,順便複習上週的重點。而同時作業跟期考都是助教出的,因此助教課根本就是超級重要,重點真的都在裡面。這裡必須credit洪啟超助教,助教的講解真的是一語中的,也讓我個經原學的蠻沒壓力的,愛超哥。
期考就是選擇加上計算題,基本上不要粗心搞到自己都會有很不錯的分數,經濟系也很仁慈的有提供考古題的網站,因此我就是單純的考前複習所有PPT以及作業,再寫三年份的考古就上場考試了。而明仁在期考後會給前幾高分的人他寫序的書,算是一種激勵?反正我是沒拿過啦:(
總的來說,禮拜五早上的經原算是聽得很開心收穫也很多的一堂課,期待下學期的總經原:)
生成式人工智慧與機器學習導論
- 授課教授:李宏毅
- 學分:3
- 分數等第:A+
- 甜度:10/10
- 涼度:9/10
- 收穫:8/10
- 評分:李弘毅幾班大金,一定要給到夯
- 配分:100% HW
在大一下的時候就想修李宏毅教授的機器學習了,當時因為某些因素就放棄了。這學期他開了比較簡單版的生成式人工智慧與機器學習導論,跟機器學習的模式一模一樣,也是有10週的影片上傳,然後10次作業。因為之前有先上一點機器學習的課,所以前幾週的內容算是相當熟悉。教授會把複雜的機器學習觀念用很平易近人的方式講的淺顯易懂,是不是好的教授都這樣啊?
作業的部分基本上就是調參,或著看code跑出來的結果回答問題,時間最長不會超過2小時,而且容錯率還蠻高的,甚至有加分作業讓滿分變成110,簡單來說就是讓你初探人工智慧與機器學習的課程,只能說大推,李宏毅教授每年都會開機器學習,下學期可能也會想要修這酷東西。
服務學習
服務學習甲
- 授課教授:鄧善元
- 學分:0
- 分數等第:通過
- 甜度:-/10
- 涼度:10/10
- 收穫:-/10
- 評分:npc
- 配分:-
臺大的服務學習在114學年度年之後才廢止,因此我們應該算服務學習的最後一屆?規定是必須修甲乙至少各一門。服甲是跟系上相關的,服乙比較偏社團?就是比較課外的。臺大資工上學期的服甲有兩種,當回高中分享的助手或掃系館12週,想當然爾我選擇了前者,畢竟回去的有自己母校這個選項,當然是義不容辭了。其實我們本來要負責發傳單,但那邊好像也有學弟妹負責接待,然後他們搶著發,所以我們就休息了:)
服務學習乙校內服務
- 授課教授:袁孝維
- 學分:0
- 分數等第:通過
- 甜度:-/10
- 涼度:10/10
- 收穫:-/10
- 評分:npc
- 配分:-
服乙的選擇就非常多了,可以選擇參加服務性社團或著國際親善大使。在暑假的時候,我朋友問我要不要報名國際志工,簡單來說就是幫助這學期到臺大交換的外國學生處理一些住宿啦交通啦等等的問題,然後我就報名了。我被分配到的有兩位,一位是馬來西亞來電機系碩士交換的,另一位是法國來資工系碩士交換的。又更巧的是我的資訊營趴呢也有國際學生接待,而且她大一就有了,所以我就跟她請教了一下,她說除了一些日常聊天之外,開學一起吃個飯就好了,所以我們就約了開學彼此找彼此的交換學生聚餐一次。在暑假的時候馬來西亞人都不回我信,倒是法國人很熱情。後面吃飯的時候才知道馬來西亞人根本7月初就自己都弄好了:)在線上聊天的過程中也可以增進自己的英文能力,算是會學到一些比較日常的口語對話吧?
結語
成績單

排名

這學期蠻想挑戰自己的極限,然後就修太多課了,所以成績講真的蠻炸掉的,喜歡的科目也不能好好學好,應該拿到好成績的線性代數也因此被犧牲了。但說真的至少知道自己修課的極限在哪裡,以及對於不喜歡的領域有明確的認知(巨討厭系統)。同時也發現其實經濟系的課比較有趣且好玩,因此未來會希望結合資工的能力跟對經濟的興趣並朝這方向發展,繼續加油!