在 2025-05-28 這天,回到影響我很深的母校壢中,很開心學校給我這個機會和學弟妹分享過去四年我所處所見的資工系,這篇是答應要放上來的重點整理,雖然當時說兩天內放上來,但因為期末週太忙了就一延再延,總之歡迎參與分享的同學以及無意間看到這篇文章的讀者服用。可以放心,內容只會有增無減,我是一個很喜歡浪費時間做筆記的人,所以任何細節都不會 miss 掉,好啦除了廢話!
這篇文章主要 for 一個不太懂資訊、但想接觸資訊的高中生,因為筆者就是從這個立場進到資工系,想藉由我看到的資工系,分享給需要的讀者
資工系是什麼#
高三的我將資工系定義為學習 用電腦的角度看整個世界 的一個科系。舉個抽象的例子,當人類想要了解 B-612 行星上的生物,首先可能需要一個共同的語言進行溝通,方便理解 B-612 行星上生物的行為、思維;能夠溝通之後,下一步是有系統的模擬 B-612 行星上生物的思考方式,怎麼看待一件事情、怎麼分門別類不同問題、怎麼有效率的解決問題,也就是學習這些習慣和經驗談;以生物學的角度,會想理解這些生物和人類有什麼構造上的不同之處,以及這些構造帶來什麼好壞、甚至怎麼進化到現在看到的模樣等等;有了這些基礎,最後就能觀察文明的部分:這些生物是怎麼就他們所擁有的東西開創出現在有的一切,社會發展、職業發展、文明發展等
用資工系修課的角度來看,這一切幾乎都有所對應,不如就用一張簡單的表格 map 看看:
資工系課程 | 世界的常理 |
---|---|
程式設計 | 語言 |
資料結構 & 演算法 | 有系統的模擬思考方式、問題處理的能力、習慣、價值觀、經驗談 |
計算機結構 & 作業系統 | 生物學 |
計算機網路 | 互動 & 人際 |
語音處理 | 聲音 |
影像處理 | 影像、畫面 |
資訊安全 | 社會治安 |
軟體工程 | 入職潛規則 |
所以資工系充其量就是一個族群的生涯寫照、歷史發展而已
在進到下個章節前,我想先分享一個觀念:不在資工系的人習慣稱資工系手邊那台機器叫電腦,進到資工系的人會開始稱他叫計算機,英文 computer 翻成計算機非常合理,畢竟電腦一開始就是幫助人類做運算,很有效率很快速的進行許多運算。在 SITCON 2024 的 keynote 「AI 時代 未來人才」中,前 Google 臺灣董事總經理簡立峰博士提到現在的時代「電腦」這個稱謂反而比計算機更為適合,因為現在的 computer 在 AI 時代下開始有類似思考的行為,就像是人腦一樣,而電腦這個詞彙生動地描繪了這個景象。
註記:以防有人不知道 B-612 行星是什麼,請去讀《小王子》這本經典讀物
那些讓資工系痛不欲生的課#
從修課地圖認識一個系再適合不過了,所以接著來看看資工系的修課地圖長什麼樣子吧!這邊就以師大資工系的課程作為範例,雖然大多數資工系應該都差不多
入系第一堂就是程式設計,這門課目標不是學會一個程式語言或知道條件判斷、迴圈語法怎麼寫而已,而是藉由完整的學習一個程式語言來
- 熟悉 coding 環境:架設環境永遠都是對新手而言最困難的一關,在哪裡寫程式(文字編輯器)、怎麼編譯、直譯、執行,如果可以請嘗試在這個階段理解每一步驟的目的性,並找出自己習慣的一套作風
- 理解程式執行邏輯:也就是要知道每一行程式、每一個敘述的目的,並能清楚的指出什麼情況下程式會跳到什麼地方
- 訓練撰寫複雜的程式:一般來說初學程式的練習都是簡單的競程類題目,但在這個階段讓自己撰寫複雜的程式,也是訓練自己又系統的處理大問題的好方法。當你看到問題覺得很複雜很煩很亂,那你要想能不能將這個問題拆成簡單的數個小問題逐一擊破,這個過程恰好就是演算法中提到的 divide and conquer,是個很重要的人生哲理
- 看懂程式設計的美感:資工系的程式設計重點不在程式,而是設計,可以看到一段程式設計的美感,那就代表真正學會了,這個道理在各種課程都成立,例如資料結構演算法的設計、網路 protocol 的制定
- 閱讀各種資源:程式卡關比起問人,第一件事情更應該自己查查手冊、上網 stack overflow 爬一下,基本上應該都能解決(畢竟是程式設計這門課,不一定會出現太複雜的問題),尤其現在 AI 那麼聰明,debug 交給他更方便了
某種程度上來說,如果入系前已經對程式語法不陌生的話,那在程式設計上會輕鬆很多,另外就是要有花時間在寫 bug debug 無窮迴圈的認知,畢竟這就是入系的第一門重點課程
接著是資料結構與演算法,如果說程式設計是學會寫程式,那資結演算法就是學習寫出好的程式、在時間與空間的效率上表現良好的程式。
計算機結構和作業系統 是硬體相關,了解這方面的知識應該能回答很多以往撰寫程式上的考量,還有出現過的 bug,比如說學會記憶體配置所以懂 segmentation fault 是一句不負責任的錯誤訊息
學會上面這些必修、基礎課程之後,應該就能探索各種領域,並找出自己有興趣領域的方向,比如本人因為誤入歧途所以踏上資安這條不歸路、或是對影像辨識很有興趣,那就會學習影像處理和一些人工智慧的課程、又或是對資料、數據科學感興趣,那資料開頭的課程就不可或缺,比如資料庫、資料探勘等等(講完才發現自己 資料*
的課程都沒修過ㄟ)
以上粗淺的介紹基本資工系會碰到的課程,但似乎少了什麼?沒錯,資工系怎麼能缺少數學!
資工系的數學有四大項,微積分、離散數學、線性代數、機率和統計
- 微積分:接近半數同學上道學都會碰到的課程,是連續的數學,也是我認為資工系最簡單的數學課
- 離散數學:
叫數學就有點小瞧了,離散不是數學,是玄學。離散數學的定義是不連續的數學,資工系的離散比較像是除了其他四個數學以外其他需要的數學集合體,內容包含數論、模運算、集合、圖論等 - 線性代數:跟高中最相關的就是二年級學的向量矩陣,如果想往機器學習這種顯學發展那這是必須的技能
- 機率 && 統計:兩個是互補的概念,無論如何未來做研究時,統計也都是必備的技能
我眼中的資工系生態#
這段的內容大概就是被資工人看到會出事的言論
心路歷程#
認真說起來,正式進入資工系前(aka 高中)的我認資工系都是怪人,沒辦法理解他們的笑點、沒辦法理解為什麼話不好好講,對資工系生態卻步的形容就滿貼切的

就我的經驗,資工系學生學習經歷了四個階段
- 困惑迷惘期
- 症狀:自我懷疑、不理解為什麼大家這麼厲害、不懂如何切入群體、覺得身邊的人好恐怖
- 成因:自身知識含量極低,但同儕都很厲害,嘴裡嚷嚷著一些自己聽不懂的知識,玩笑可能也和這些 domain knowledge 有關係
- 常見問題:封閉起來,想要自己解決所有問題、趕上他人進度
- 建議:讓自己適應快步調、盡可能補上缺失的 domain knowledge。從塗上可以發現這個階段要晉升下一階段是比較漫長的,必須具有耐心面對這段路程遭遇的挫折
- 自我思考期
- 症狀:根據逐漸學習到的知識,嘗試解釋看到的新知,嘗試主動思考問題必解決
- 成因:已獲取基本背景知識,開始具有思考能力,會主動思考問題
- 常見問題:學習速度緩慢,有時候會一個人卡住、鬼打牆
- 建議:跟同儕一起討論,有伴學習可以更快看到問題點,也能觸發不同看待事物的面向,會進步得很快
- 同儕討論期
- 症狀:跟能力相近的同儕共同成長
- 成因:背景知識充足,聽得懂同儕說的話、開的玩笑
- 常見問題:形成固定群體,活在舒適圈
- 建議:盡可能參加社群、汲取新知,擴展自己的知識廣度
- 功成名就期
- 症狀:以自身能力解決問題,做出貢獻
- 成因:補全基本知識,也累積一定經驗,成為具有解決問題能力的工程師
這段心路歷程其實就是一段社會化的過程,從踏進一個不熟悉的圈子開始學習圈內人的術語、習慣、文化,到能理解、內話、溝通,甚至應用、貢獻。我會說資工系並不適合資訊能力為 0 的人進入,也不適合慢郎中,因為資工系要學習的知識很多,有更多是在課堂不會碰到,看著其他人再用才慢慢學起來的,一個資訊能力為 0 的人進到資工系要熟悉這些文化會很辛苦。比如說師大資工的大刀程式設計,就有學姐說過如果高中寫過程式,對這堂課的看法應該就會視還可以應付,但完全沒接觸過程式的人,可能連語法就卡住了,根本沒辦法顧及程式邏輯或設計美感
請記住:不適合不代表不行,只是會很辛苦而已
生態圈#
在大一大二這兩年,針對所在的生態圈不斷卡著的幾個問題提出來跟讀者分享
- 身邊的人都厲害,我都追不上他們
其實這就是心路歷程提到的困惑迷惘期,追上是不可能的,因為當我在進步的同時,其他人也在進步,別人懂的東西還是很多,但要記得適時回過頭看看相比一開始的自己進步了多少,當發現自己的心路歷程逐漸轉換到可以聽懂別人談話的內容、可以切入討論、可以進行反思,那其實就進步很多了 - 我有問題想問,但只換來一句 STFG
相較於國高中,大學(maybe 這是理工科的氛圍)更強調聰明的問題,有時候問問題遇到對方不願意直接告訴答案或給了一句 search the f****** google 是覺得當事人應該要且有能力自己去發掘,一個好的問題應該是在背後有事先分析與嘗試過才提出的 - 資訊一直變,學什麼才是正確的投資?
這是在一次與國中老師聚餐被點出來的問題。我的國中老師提到的是要我「不要太貪心」,有些現階段不會但很努力追求的新東西,沒辦法保證會不會在出社會之後被貶得一文不值,或許把時間投資在將來大成功的產品上會更值得。經過四年的大學學業,我認為這個問題背後應該思考的是「我是不是習慣學習」,或許一個習慣學習的人在看到新東西時不會抱著怎麼那麼多東西需要了解,腦袋記憶體不夠用的問題,而是發自內心感興趣的去了解。硬要講也只是學習順序的問題,但那就取決於當前的需求,有需求就會投資了
關於跨領域這檔事#
這部分就是學校希望我提到的,確實在大學「跨領域」這檔事很常見
我的跨領域大多在教育上,花了大半時間在教程打滾,嘗試很多實踐教育的管道,不過畢竟教育並不是所有人感興趣的話題,因此我從這些經歷上整理了一些看待跨領域的心態
- 如果不做會後悔,那就去做
針對跨領域第一個猶豫可能是「會不會影響到我的主業」,不否認這是一定要衡量的成本,但也要注意有時候保守的估算會讓自己錯失很多機會。跨領域是一個很好的管道透過第二、第三條路看見自己,甚至是和自己的主業做結合,在成本允許的情況下,選擇去做一定會有很多收穫 - 記得為所有做出的選擇負責
前面提到的立場是偏向嘗試接觸跨領域,但這邊也要給一個提醒是要為自己的選擇負責,選擇一定是經過成本衡量,但這個估算有時候也會失準,即便是失準了,沒辦法做到估算時預期的成效,也要做到最低限度的完成,這才是負責
在輔導原理與實務這門課,老師給了一個很重要的觀念是建立個人品牌,每一個行為都是在建立個人品牌,比如出席、作業的完成、課堂表現,個人品牌隨時都亮在外面給所有人看,而負責其實就是維持個人品牌的信度 - Either you win or you learn
這句話是在大三下找實習時,看見身邊同樣在找實習的同學常常提到的話。每一個行為做出來了可能會成功可能會失敗,失敗了你也會從中得到一些經歷,所以不要害怕去嘗試,以當時在面試為例,好的結果就是面試上了找到實習,不好結過就是被 reject,但從履歷到面試的過程,那間公司都不斷告訴你可以進步的方向,或點出已經做很好的部分,這就是可以學習到的地方
小建議#
建議的章節,我想分享幾個在資工系經歷了四年,回首高中時期,我希望我能先擁有或進入大學後盡快培養的能力,而這就是想分享給讀者的建議,這些建議不限於想成為資工系一員的人,而是任何讀者
- How To Ask Questions The Smart Way?
這是在先前章節提到的概念,有興趣的讀者可以去讀連結附的文章,網路上也有中文版可以找到,這篇文章會說明應該如何提出一個好的問題、聰明的問題。 - 學一個程式語言
畢竟程式語言是在資工這個圈子和電腦溝通的工具,熟悉一套語言是不可或缺的能力,熟悉語言也是學習程式語言應該有的架構,在之後學習其他程式語言會更快速。
如果是未來想往資工系發展的同學,我還是建議學習 C family,比如 C/C++,因為可以看到更多電腦底層的設計,比如 pointer 會對記憶體更熟悉;如果是純粹想要應用或開發功能的同學,那 Python 應該是比較好的選擇,畢竟好上手又常見;那已經學會程式語言想挑戰自我的,可以跟我一起學習 Rust ! - Markdown
Markdown 是一種語法,可以快速幫文本進行排版,打字的人不需要像使用 word 一樣選取要調整的文字在選擇調整樣式,可以透過語法直接做到。學習 markdown 的好處是在紀錄文件時可以很方便很快速地完成,比如課堂筆記、會議記錄,我的部落格文章就是以 markdown 語法撰寫,缺點則是沒辦法像 word 這種文書軟體一樣有這麼齊全的排版,簡單的條列式文本倒是可以完成的。HackMD 是不錯的工具 - Latex
Latex 也是語法,通常用於撰寫論文或正式文件上,比較常見的用途也包含撰寫數學式子,比如說分數會以\frac{分子}{分母}
表示。這個工具比較後期才會用到,但一旦要用享上手繪有一段陣痛期,所以有時間提前適應一下語法。Overleaf 應該是最常見的線上 Latex 編輯工具 - 文字編輯器
雖然大多數人開發城市的環境會是像 VS Code 這種 IDE,但學習一款文字編輯器也是不可或缺的,在某些古老或簡單的系統上,並沒有那麼大的空間可以安裝 IDE 或是其他文字編輯器,有些 terminal-based 的文字編輯器就滿重要的,Vim, Nano, Joe 這些就是,可以嘗試去習慣透過他們提供的快捷鍵完成文字編輯,會習得打字時解放滑鼠的技能(快速編輯文字,完全不需要滑鼠) - Linux
從 Windows 這種 user friendly 的系統跳到像 Linux 這種給予比較多自由度的系統都會需要一段時間適應,尤其 Linux 的 terminal 一打開很多人就嚇跑了,所以提前熟悉 terminal 操作、Linux command 使用是很基礎的技能 - 版本控制
版控是專案合作上的必要工具,可以記錄每次更新的版本,以便還原或比對,最常見的就是 git,花一些時間在 git 的基本術語和操作是很棒的投資,這也是逛就業博覽會或各種公司經理來校演講常常提及希望學生擁有的技能 - 機器學習
機器學習是這幾年的顯學,臺大李宏毅老師的 YouTube 頻道 裡面放了很多深入淺出的線上課程,想入門或了解完全可以從他的影片開始 - Blog
雖然說現在有學習歷程,但 blog 是比起 social media 更好展現個人品牌的媒介,因為 blog 有客製化的特質,介面、內容、功能都是。現在的 static site generator (Astro , Hugo , Hexo , etc) 都提供很好的範本可以直接做使用,稍微更新裡面的設定基本上就能直接使用,GitHub 也有提供 pages 的功能,就可以把網站 deploy 到<username>.github.io
上,域名和 server 問題都免費解決了,非常方便 - 享受高中生活
最後一個跟技術導向沒關係,也是所有高中生現階段能做到的。高中階段的生活一半有人規定、一半是自主,比起國中生自由,又不像大學生要不斷花時間規劃自己的行程,加上升學制度的關係,身邊同學相近度很高。同樣都是高中三年,記得不要讓自己只埋首在課業裡面,國中會考已經經歷過一次準備大考的感受,高中升大學應該會有更有效率的方式準備,而不是一直讀書。和同學一起參加活動、主持活動都是高中很值得嘗試的經歷,我認為好好享受高中生活是這個階段很重要的
大三後的我會說資工系是魔法學系,「想像是魔法的基礎,魔法沒有辦法做到你想像不到的事,而你要是想像得到,那魔法就做得到」,這是《葬送的芙莉蓮》對魔法的詮釋,資工系所學確實能讓學生具有解決許多問題的能力,比如說怕校網系網發公告沒注意到,所以寫一個小機器人定期上去爬新公告,一有公告就可以發通知給我,雖然是很簡單很無聊的例子,但確實多數資工系學生會寫程式都做得到,甚至現在 vibe coding 就可以完成,隨著學經歷越來越豐富,會發現自己能做到的事情越來越多,「貢獻」這個詞也會發生在自己身上
Slido 遺留的問題#
當天沒辦法好好回應 slido 留下來的問題,所以在這邊盡可能做些詳細的回覆
建議翹幾節課(一學期)?
這個問題就要看你對上課的認知和需求了,可以先想想如果不想上課為什麼選修這堂課?大學不像國高中,所有選修的課都是出於自身意願,撇除為了學分必須修習的課程,既然是出於自己意願,表示這門課應該可以提供你想學到的知識。我不否認有些大學老師認為如果課堂上的內容都學會了,那把時間放在自己認為有意義的事情上是比較好的,不然不會有抵免的制度出現。能夠把時間花在有意義的事情上,確實比沉悶的坐在課堂好很多,如果確定課堂上所教授的東西都會了,也很清楚知道自己想做什麼事情,在老師允許的情況下,我認為不待在課堂沒什麼問題
再次重申:得到老師允許以及能夠為自己負責是離開課堂的兩個前提
再說,大學課堂有些根本沒有實體到教室的需求,課堂不一定是實體的,就算是線上,也不見得是待在一個 meeting room 聽老師上課
學長覺得資工系在求職最大的問題在哪裡
說實話,如果你逛一圈就業博覽會,你會發現資工系超吃香的,從頭到尾走一趟很多公司都會需要工程師,想要有一份工作是絕對不會有問題。
不過可以針對資工系求職給出幾個粗淺的建議:
- 大二那年我逛過師大的就業博覽會,當時 MSI 的人跟我說學硬體會賺比較多錢,以現今臺灣市場而言這是事實,半導體賺的錢和一個純軟的工程師相比多很多
- 工程師滿吃經歷的,高中並不早,一路上可以多累積自己的 side projects,開源專案會是很好切入的點
- 工程師求職除了硬實力還有軟實力,可能會被問到的問題一定包含團隊合作上的眉眉角角,看看別人軟體工程常見的術語,親身體驗過一次應該會懂
資工系女生多嗎
呃我們系上差不多 4:1 吧給你參考,4 是男生
不過因為發文時已經進入研究所實驗室,也可以跟你分享目前實驗室性別比:1:0,1 是男生
如何解決分組很雷(或不做事)的組員?
我想先分享 G0V 零時政府 的座右銘:「不要問為何沒有人做這個,先承認你就是『沒有人』」
如果狀況是全組沒人要出來做事,那可以先拿 G0V 的座右銘思考看看;如果狀況是有特定組員不做事,這個問題並沒有標準答案,溝通是必須的,但會有這個問題一定是溝通無效,那正是大學階段很適合學習的難題,有人會選擇姑息自己做完,有人會選擇開噴那位組員,這都是方法,也都能從中學習到那個方法的好壞,或許你要實際嘗試適合你的方法
資工系會很常要上台報告嗎?
以資工系本系而言,如果是指一學期要上台很多次的話,那我們絕對不會比文學院或教育學院來的多,比較常見的是一學期一兩次期末的大專題 demo 而已 但大學一定會碰到必修、通識這類課程,上台、小組合作的頻率就高了
推甄需要準備什麼?
為什麼高中生會想要問到這麼遙遠的事情?還是其實你想表示的是個申?如果真的是推甄那可以看看我之前寫的研究所 推甄整理 X 經驗分享
這篇文章
個申的部分我沒辦法給予太多的建議,因為我不是親身經歷過的,能給的建議只能是我想像出來的。以個申來說,能力導向我覺得沒有問題,如果一個人的能力特質上就滿足了所有要求,那在沒有任何出格行為的前提下,沒有不選擇的道理,所以如果是有一些經歷的同學,或許可以嘗試拿出自己做過的專題作品或競賽經歷,但注意不是有就放,要分清楚放上這個經歷對你是加分還是扣分,如果是後者那就考慮一下吧!舉個例子,一個要申請資工系的同學經歷端出 scratch 專題作品,那我就會有點納悶為什麼是 scratch。再來專題經歷並不只是你做過什麼,成果固然重要,但過程中學到的事情會是被提問的面向,包含技術問題上和非技術問題的考量,所以確保你所表達出來的東西是你能回答的。不過若是資質平庸、初接觸資工相關的同學,我想大學教授心裡會有一個標準衡量這個人的特質是不是適合這個系,所謂特質倒不完全指人格特質,對事情的看法、對問題的解決方式等等都是,那在大學甚至資工系或許就是解決問題的深入程度。大學是學術研究機關,可以主動提出問題、解決問題的人比較容易被看見
師大出來除了當老師和公務人員還有哪些出路?
是一句話惹怒師範大學語錄出來的嗎
師大有在轉型,確實還是有一群人想當老師志向也就是老師,但教程不是我們的必修
如果以資工來說,就更不成立了,資工系的出路應該取決於你的志向和你的能力,志向是自己找的,能力也是自己花時間養成的,或許跟所處環境在哪沒關係,或許只是影響你有沒有機會聽到一些前所未聞的關鍵字而打開開關而已
會用到 5090 嗎?
是不會,但出於私心可以的話更好
學長是學測就上還是考分科?
很抱歉本人繁星 3% 被刷,個申一階被刷,所以是指考仔
跟當屆想填交大二類的朋友們說聲抱歉,我占了一個位置
打程式會打到爆肝嗎?
怎麼會?但總是要體驗一下的,也一定會有機會體驗到的
但還是呼籲身體健康優先於一切,請好好愛護您的小心肝
大學生活都在做什麼?
這個問題很看人,沒有人規定你什麼時間要做什麼,就算不想去上課,也不會有老師真的打電話給你說怎麼沒來教室(撇除某些類似實習的課)
我的立場是身為準大學生,應該要有能力規劃自己一學期的行程,包含排課、包含課餘時間的活動,能給的建議一樣是不要只有修課,多去看看課外的世界,甚至是校外的世界,大學並沒有綁死一定的範圍,能讓自己接觸的越廣,學到的就會越多
資工系是研究資工的嗎?
可能可以先問問看自己「資訊是什麼、工程又是什麼」?「研究資工」的定義或許有些廣了,可以嘗試定義看看你的資工是什麼
可以跟我說資工在說什麼嗎
我在那邊口沫橫飛講了這麼久你還問這題我要哭了
小心得#
- 沒想到今天回去是做商業洽談的,謝謝電腦科學社社長的邀請,其實不僅僅是分享,經歷上、專業上能幫助到學弟妹就是我期待的,畢竟以前就期待教學實習可以回壢中當個半資訊老師帶學生做專題或討論一些酷技術,但教程沒修完這條路也是越來越遠了
- 資工系也是有很會穿搭的,只是我今天剛好穿到體制內的格子襯衫而已,啊好險頭髮剪了,不然 slido 中兩個
- 很抱歉這個學長聽到可以講好講滿就沒注意時間,在台前一次輸出 40 分鐘,直到最後才看到原來有時鐘,所以辛苦學弟妹也辛苦後面的講者了
- 我不是電神,我只是希望能在我更認識這個領域時,回到原本迷茫的地方,給真的想往這條路走但還不知道這個領域怎麼運作的人一些方向
- Slido 很好玩,但下次請把我的名字寫對各位孩子們!
致謝#
最後再次謝謝壢中給我回校分享的機會,也很謝謝來參加的學弟妹,這算得上是我的第一場 talk,希望這場分享能給所有與會觀眾帶來啟發與方向