[大學推甄]我適不適合讀資工?

Posted by John on 2018-03-29
Words 3k and Reading Time 10 Minutes
Viewed Times

懶人包:這篇是寫給要準備升大學想填資工系的高中生們,簡介一下資工系到底在幹嘛。

又到了這個高中生要面臨大學面試的時期,這幾天主任找我討論面試當天的流程的時候才突然想到我居然已經要畢業了,四年的時光一下子就過去了阿,大一剛進來的生活我還歷歷在目呢…(感嘆)

好啦這篇不是要講廢話的,這幾年資訊相關科系越來越夯,就連教育部都把程式設計納入課綱裡面了,相信未來會有越來越多人想往這方面就讀(不要再來跟我搶飯碗了)。不過我一直覺的行行出狀元,有些人天生就是念財經的料,有些人對於設計、美術就很有底子……,希望大家能夠想清楚自己到底想不想往這個領域邁進,不要只是一昧的覺得這個很夯就往這裡走(沒錯,真的別來跟我搶飯碗),或是父母覺得你該讀資工就選填資工系。

“如果你進資工系只是因為分數到就填了,那你有很大的機率會遇到這個網站所說的情況(用十分鐘決定要不要念大學《資訊工程系》)”

因為擔任系上程式助教的關係,我看過不少學弟妹因為進來後發現自己不適合而萌生轉系或轉學考的念頭了,如果傻楞楞的什麼都不知道就進來了或許你也會有這種情形,所以打算寫一篇來介紹一下資工系都在幹嘛,希望可以幫助還在困惑的小高三xD

讀資工需要具備什麼特質

首先來談談我認為讀資工需要具備什麼特質呢?

  • 具有耐心
  • 不怕挫折
  • 不懼怕英文
  • 能夠接受長時間待在電腦
  • 有自律性(能夠主動學習)

具有耐心、不怕挫折

進資工後,隨著你在寫得程式規模越大,你越會遇到一些無從解決的問題產生,這些問題常常令你豆頁痛,甚至令你想要走出房間去便利商店買一包綠色乖乖回來放在電腦前,祈禱問體從此不再發生……,我要說的是這種情況在資工很常發生,但如果你沒有辦法沉住氣去面對問題而是很容易放棄,那麼或許你不太適合這門科系。

不懼怕英文

資工系的書都是原文書,雖然大部分教授都是中文授課,但是你還是要有基本的英文閱讀能力,並且你不能畏懼讀英文(像我以前如果看到滿滿的一篇英文文章我就會懶得看,這是不對的!),因為未來在Google(後面會說到)的時候你的解答都會從英文網站上得到。

大家都說英文要好,到底要到什麼程度呢?來個例子吧!請Google “Stackoverflow”,進去裡面隨便點一個問題,能大致理解問題的意思就足夠了(程式碼不懂沒關係),這個網站是資工系會很常用到的網站,大家對於程式有任何的問題都會在這上面發問,如果有問題很多都可以在這上面找到解答。

P.s 如果你點進去發現問題完全看不懂有兩個情況:

  1. 可以趁還沒升大學前把握時間稍微加強一下英文,對於未來會很有幫助的
  2. 你點到的問題太難了QQ請換一篇點點看吧

能夠接受長時間待在電腦前

來來來想一下進入資工後妳的大學生活:你有很多的系上課程都會使用電腦去完成作業(畢竟要寫程式嘛),資工系有很多課程期末會要求所謂的”期末專題”,舉個例子:如果你修了一堂”java程式語言設計”,老師說期末請用java程式語言撰寫一個程式來發表,然後你可能期末前就會花很多時間在做專題,甚至做完發現窗外天亮了也是常有的事情。

(在這裡順便幫資工系平反一下~常常有人說資工系很宅,不過就像設計系很辛苦常常要在工作室做作品那樣,我們很大的時間都必須使用電腦來完成事情,所以有時候不是我們不想出門,而是真的沒時間出門阿xD)

寫程式是一個需要長時間保持集中力的事情,所以你可能會花很多時間坐在電腦前面執行這件事,更別提當你的休閒娛樂是建立在使用電腦上(玩遊戲、看韓劇、滑臉書、聊賴……),你一天24小時除了睡覺時間都在使用電腦也不是沒有可能,所以如果你很抗拒長時間使用電腦這件事,或許可以考慮考慮別的科系。

有自律性(能夠主動學習)

講個很現實的,這或許是最重要也是最基本的條件,如果你辦不到那還是不要讀資工吧。

來講個生活層面的例子:今天安C教練教了櫻木花道打籃球的基本技巧(運球、投球姿勢……),好那學完後櫻木變成高中第一的籃球員了嗎?根本不會。他得運用這些基礎做出進一步的技術(胯下過人、卡位搶籃板……),花道的籃球技術才會不斷進步。

回到資工的領域,學校教授教的都只是基本的東西,當你學完這些東西後呢?你得要有自學的能力去學習課外的知識,比方說老師教的內容我可以如何去應用。資訊不斷在推陳出新,大學教授一堂課只有18週*3小時,他連一本原文書的1/3能不能上完都是個問題了,如果你沒有辦法自主學習吸收新知,那你很快就會落後其他人一大截。

想一下小明每天比你多了一小時的自主學習(也就是你打一場LOL的時候他在看書),四年後你們的差距到底會多大?大概有大象那麼大吧。


資工系四年都在幹嘛

接下來談談資工系四年都在幹嘛?

  • 學習計算機概論、程式語言
  • 學習網路架構、作業系統架構
  • 學習資料結構、演算法
  • 學習應用層面

學習計算機概論、程式語言

這是大一大二會接觸到的課程,讓你對資訊方面的知識有更深的了解(Ex:二進位、十六進位…),通常學校會教的程式語言不會很多,不過當你學透一種語言後便轉換到另一種語言上時會輕鬆很多。

學習網路架構、作業系統架構

網路大家都在用、電腦大家都在用,但到底是什麼樣的原理能夠讓你的裝置上網?什麼樣的流程能夠讓你執行電腦中的程式?在資工系會讓你理解這些原理,而不是像其他人只是單純的能用就好。了解這些原理之後有助於你去對相關的應用進行開發(例如現在網路架構學得好的話或許可以朝5G的開發有進一步的深造)。

學習資料結構、演算法

這跟程式語言是有關係的,當你會寫程式後,如何讓你的程式有更好的執行效能就是藉著資料結構和演算法來改善。舉個白話的例子同樣從高雄到台北,你可以選擇翻山越嶺,但你也可以選擇做飛機,這兩種方式所造成時間的差別可以想成兩種不同效率的程式造成的差別。

學習應用層面

這是我覺得最有意義的事情,學了知識總是要拿出來用。系上會有些課教你如何利用你所學的知識去做出進一步的應用,例如修完影像處理你可以使用程式寫出類似修圖軟體的功能;修完網路程式設計可以寫出線上聊天室;修了網頁程式設計你可以自己寫出一個自己的網站…… 如果想讀某間學校的資工系或許可以去看看他們系上的課程地圖,你可以看到未來會學到什麼課程。


如果你已經決定要念資工系了,你可以做什麼

最後,在高三下到大學的這段期間,如果你已經決定要念資工系了,你可以做什麼事情呢?(不要騙我很忙了,我那時根本無聊到每天都在教室滑神魔看漫畫)

  • 自學程式語言
  • 學Google
  • 練英文

自學一點程式語言

建議可以自己上網先學C或Java,這兩個語言的中文資源很多,可以找到很多學習的資訊,如果不知道如何學習,最快速的方法就是去買一本書把他K完,因為書本會循序漸進地告訴你要學哪些東西。

如果你在進大學之前學過一些程式語言了,代表你具備了一定的邏輯思維,(通常)這會讓你在大一的時候比其他同學輕鬆很多。如果沒有也沒關係,但是相對的在剛接觸大學相關程式語言課程的時候,你或許會有一定程度的挫折感,因為剛開始你沒辦法把一些想法轉換成程式碼,不過這是可以克服的,你只是需要比其他同學更多的耐心跟毅力,當你發現你寫的程式有錯誤(BUG)的時候不能放棄,而是不斷的去尋找解決問題的方法。

學會、學好Google

我每次教學弟妹的時候第一堂課我總是跟他們說“資工的第一必備技能不是程式設計,而是學會如何Google”,至今我仍然這麼覺得。Google看似簡單,但要如何使用正確的關鍵字(keyword)去表達你的問題?在資工系未來你會遇到無數的問題,有些問題甚至沒有人可以問,在只能問Google的狀況下你有辦法找到解答嗎?

舉個現實的例子,如果有在玩遊戲的在社群中看到有網友發文問一些很基本的遊戲問題,底下就會嗆說請先爬文,然後你就會看到發問的人說他爬過了可是根本找不到資料,問題出在哪裡呢?他根本找錯了關鍵字,所以如何正確的利用關鍵字去找出你想要的解答是很重要的技能。

網路上有一篇文章詳細介紹了學習資源多寡對於學習的影響(為什麼成為一名工程師這麼難 —— 從程式新手到準工程師的必經之路),如這篇所述,如果你的google技能不好,到了中期階段學習資源急速下降的時候,你根本無法找到正確的資訊。

學好英文

前面提到了,英文很重要的,大學很多學校也都有英文多益畢業門檻,你如果進大學前分數夠甚至可以直接抵免大一的英文課程,好處多多啊。

打了這麼多,希望或多或少可以幫助到一些還在對你的未來充滿困惑的人~~


>