這題我會 I Knew It

Article

無基礎怎麼學程式?資工系到底在學什麼?

高中從沒寫過一行程式,考上資工系會不會活不下去?這篇文章破解多數人對「資工系(資訊工程學系)」的迷思,並告訴你無基礎的你該如何快速上手。

每逢考完學測或分科測驗,Ptt 和 Dcard 就會充滿這樣的恐慌求救文:「我高中三年都在算物理化學和考英文,從來沒寫過一行程式 (無基礎),我不小心考上(或填了)資工系,我會被當到退學嗎?

答案是:不會,但前提是你不能排斥抽象邏輯思考。 如果你是一名即將進入大學的新生,或是對資工系充滿嚮往的高中生,我們強烈建議你上 search.know.tw 註冊搜尋高中生營隊(特別是資工營),親身去感受一下學長姐們每天都在做些什麼!

資工系到底在學什麼?「寫程式」只是最末端的工具

許多人以為資工系大學四年都在教你「怎麼寫出一個很潮的手機 APP(詳見 iOS App 教學入門)」或是「怎麼做出一個精美的網頁」。 大錯特錯。在台灣多數的大學中,這些「實務面的軟體開發技術」通常只佔少數的選修課。

資工系真正的三大核心支柱:

1. 數學與邏輯基礎

資工系其實是應用數學系的分支。大一到大二,你會迎來微積分、普通物理、線性代數、離散數學與機率統計的洗禮。特別是「離散數學」,這門探討「不連續概念(如圖論、邏輯閘)」的科目,是演算法的親生父母。

2. 電腦科學的底層架構

「電腦為什麼懂 0 和 1?程式如何指揮硬體?」 為了回答這點,你會必修三門神聖的課程:計算機結構、作業系統 (OS) 以及編譯器 (Compiler)。你也一定會經歷用 C 語言去配置記憶體並面對 Segmentation Fault (記憶體區段錯誤) 的痛苦。這就是為什麼我們在最適合資工系的筆電中強烈推薦採用 UNIX 環境的 macOS。

3. 演算法與資料結構

這是資工系的靈魂。同一道題目,普通人寫的程式可能要跑 1 萬年,資工系優化過的演算法可能只需要 0.01 秒。如果你想考個人申請 APCS 組,這也是必考的核心。

無基礎怎麼學程式?大一該如何準備?

如果你完全無基礎,不要害怕,因為資工系的大一生有七成也是拿著全新、剛買的筆電(如果不清楚怎麼挑選,請參閱我們的這篇:該買哪台電腦?)發呆。

1. 忘掉語法,學習「計算思維 (Computational Thinking)」

不要把目標設定在「我要背下 Python 所有的語法」。學習程式是一門「把複雜的現實問題,拆解成電腦看得懂的 IF/ELSE 步驟」的藝術。

2. 參加優質的新生營隊與社團

search.know.tw 搜尋「程式設計入門活動」、「新手黑客松」或是大學課外的程式教學工坊。找到一群戰友,比自己對著電腦找 Bug 快樂一百倍。

3. 動手做,不要只聽課

寫程式就像騎腳踏車,光看書是學不會的。給自己設定一個極度簡單的小目標(例如:寫一個會自動幫你計算 GPA 的小網頁)。就算程式碼寫得很醜也沒關係,重點是「跑得動」。

資工系 vs 電機系,差別到底在哪?

這是另一個百年大戰的問題。簡單來說,資工系專注於「抽象的資源管理與軟體邏輯」,而電機系則需要大量接觸到「實體的電路與物理極限」。詳細的比較,強烈推薦你閱讀我們的專文:資工系和電機系有什麼差別?

結論

無基礎絕對不是考資工系的死穴,你的「邏輯推理能力」才是你在資工系能不能存活的關鍵。現在就準備好你的大腦,打開 know.tw 學習平台 吸收新知,開始迎接由終端機構成的黑底綠字世界吧!

嗨!我是糯米,陪你一起閱讀!🍌
Nomie Mascot