113年台大資工轉系經驗分享+資訊整理
[!TIP]
09/25/2024 更:批改娘已經不開放外系申請
文長注意!
資工系轉系文在板上應該已經有3、4個了,個人看了這幾篇文覺得幫助很大,因此參考前面幾篇後寫下這篇文記錄自己的經驗,希望藉此幫助未來也想轉系,或是情況跟我接近的人。這篇也會稍微整理一下網上的資訊,方便各位參考使用。
要注意的是資工系轉系評分標準有異動過數次,有發現的話我會盡可能更新上來!
連結相關全部附在文末。
Why轉系?
我是冷門科系的學生(不願透露詳細),但從高中到現在志願一直都是資工系,可惜應屆學測與分科成績都不理想。而我非常明白我再花個好幾年也絕對不可能用重考的方式上資工系(應屆學測數學才6級,其他科目也不突出),在網上看了一些文章後決定選擇轉系這條路。
個人是有程式底子,並且對程式有很大熱誠,從國中就一直有在寫程式,有接觸過LeetCode, CodeForce,寫過很多project,一直主要語言都是Python。但說到底也就是當個興趣,對於解題真的就是沾個邊而已。在去年沒有太多準備的情況下參加了一次轉系考試,不幸的被電爆,在此可以看見擁有程式底子幫助有限,重點還是待會會介紹的上機考考古題。
轉系資格及佔分比例
引用雙轉輔網站資料:
資格:
- 符合本校學生轉系辦法第三條規定。
- 前一學年每學期等第績分平均(GPA)均達3.38(含)以上。
- 曾修習並通過與本系必修等同之微積分1、2、3、4(含數學系微積分一、二)。
- 以本系為轉系第一志願。
佔分:
- 計算機程式設計考試成績佔50%。
- 書面審查佔50%。
在109年的時候是前一學年GPA 40%、微積分考試 30%、計程(上機考) 30%。
資格
資格1、4點應該不需多說,這邊就補充一下2、3點。
GPA:從以往的文章可以推定GPA在審查中不佔太大的部分,只要達到3.38以上就不會有太大的問題,個人是4.09/4.3。
微積分:只要是課號一樣就沒問題,aka MATH4006到MATH4009修完然後通過就好,微4不能用商管微,個人123都是修農院,4修5班的。
審查資料
格式不拘,但文字以3頁A4為限,請勿超過,證明資料可另計。
從以往的資料可以推定審查資料對錄取分數影響不大,引用去年文章說的:「在轉系考上多對三個測資的的幫助可能多於你花了好幾個月做project,然後在個人資料上寫半頁的分數。」
個人是直接丟了我實習工作的CV,內容大概就是寫過的一些project,一些比較好看的修課成績,後面加一頁申請動機+就讀計畫,總共兩頁。
原系轉出資格
這個與轉入資格是同樣重要的!資訊同樣是在雙轉輔網站查得到,舉敝系當例子,只要有修完到當學年度為止的系定必修,就不會有問題。
上機轉系考
這真的是最最最最重要的部分,每年考的方式基本上一樣,都是從JudgeGirl批改娘(待會會介紹)上面選三題考古出,並且只能用C語言。考試時間在雙轉輔申請結束後會在資工系網站公告上公布,應該都會在七月初的某天下午,今年的話是在7/4下午,去年是7/1X,若是有想邊準備轉系邊重考的要注意一下卡到分科時間的風險。
考試時間會寫2小時30分鐘,但前30分鐘會是系統測試,實際考試時間為2小時整,會有三題,每題佔100分,有些題目會分段給分。最多可以上傳15次,其中會取最高分的那次,而不是最後上傳的那次。
考試設備
地點會在資工系館的某個電腦教室,現場設備非常簡單但有點老舊,在去年考的時候我的螢幕有出現突然暗掉的情況。轉系考說明(會在轉系考公告裡)有提到電腦可以選擇Ubuntu或Windows系統,都是中文系統,我在去年使用的是Windows。Windows系統會提供Dev C++、CodeBlocks、Notepad++、VSCode、Vim,Ubuntu上好像只有Vim跟Gedit,我平時是使用MacOS搭配Vim,但因為真的對Ubuntu不熟所以選擇Windows+VSCode(現在看覺得我傻傻的,在怎麼樣也得選Ubuntu吧,Linux跟Mac還比較接近…),而因為操作不熟悉在考試中浪費非常非常多的時間,這點真的值得注意!
而去年考完我就決定下載VirtualBox(一個虛擬機器程式),在平常就改用完全原廠的Ubuntu+Vim(真的離不開Vim的keybinding)來寫程式,持續一整年,這樣我進考場用的就會是我最習慣的軟體。所以今年選擇了Ubuntu,讓我在時間上有了很多優勢。唯一不習慣只有鍵盤手感非常差,會有點小影響。
VirtualBox和Ubuntu官網我就也一律放在文後,有興趣可以參考!
考試過程
進考場後會給大家30分鐘的時間測試設備、網路,覺得有任何問題就可以趕快提出並且換位置。還會發一張C語言的cheat sheet,忘記某些function參數有什麼或忘記參數型態的時候就可以看,像今年有用到qsort我就有偷看一下(ㄏ。考前5分鐘會要求大家重開機,所以說這30分鐘你想打小抄是完全沒有用的。唯一麻煩的是你編輯器的設定也都會跑掉,所以你平常練題的時候設定能多陽春就多陽春,省掉考試的時候浪費很多時間設定。我個人是把自己只有18行的.vimrc直接背下來,有興趣參考的話我放在文末!
今年的題目沒記錯的話分別是50205. Secret Expression, Again、50172. Stairs、50190. Set Sorting and Searching。
跟去年、前年做一下對比的話
去年是50201. Origami、235. Pachinko、50111. Hamiltonian Cycle
前年是七言律詩QYLS(找不到題目編號)、50085. Tank Simulation、50032. N-pieces (special judge)
去年前年都有考2d-array、recursion,今年卻都沒有出現,而是考了parsing、sorting、binary-search,個人其實覺得蠻意外的!
Secret Expression非常幸運的前一天晚上才在複習(因為我對parsing這塊不太順手),因此我選擇先寫他,並且很順利的大約10分鐘就AC(全部測資通過);至於其他兩題我是看都沒看過,但Stairs這題看了一下發現其實就是for loop跟string而已,這題我花了18分鐘;再來就是最後一題Set Sorting and Searching,這題我一開始的理解是array+sorting而已,先花了50分鐘才拿到50分,Debug了半小時後再多拿30分。直到最後剩約20分鐘我才想到這題是要binary-search才會AC,但我沒有練到什麼相關的題目,所以就決定休息了,最後就是280/300。
最後考完是可以看scoreboard的,印象中成績分布是300/300兩人,280/300三人,2XX/300一人,200/300一人,總共有30出頭個人考。也就是說今年分數門檻可以說是200分。與去年300x2,270x1,210x1,200x2,180x1,總共21人比較的話,今年題目是比較簡單並且競爭比較激烈。
考古題
JudgeGirl批改娘 (已經不開放外系申請)
所有的考古都會在JudgeGirl批改娘上面,這是資工系大一必修計程的批改網站,同時也是轉系考試時用的批改系統。平時需要掛台大的VPN或是資工系VPN才能連進去,若是連台大網路的話也可以,台大VPN網址放在文末。進去後可以去登入那邊申請帳號,填一個表單後大約幾天就會收到帳號密碼的信,有聽說也可以直接問資工系的老師。
要注意的是,這個批改娘和通識課(C/C++程式設計、Python計算機程式設計)的批改娘並不是一樣的,通識課的批改娘的考古就只有到2015年而已,我在去年的時候有修C的通識並拿到帳號,但並不知道這個,因此考古就只練了2015年,那當然的就是被電爆了。
但在此還是會推薦沒有C語言底子的去修傑帆老師C/C++程式設計這堂課,老師會從基礎開始教到基本的一些資料結構,上課方式是自己看影片,實體課堂講解題目,大約每個月有功課20題,最後線上上機考,今年好像加了小組專案?若是能在通識課的批改娘上解題得心應手,對資工系批改娘的題目一定會有一些幫助。
另外過往也有人推薦買資工系劉邦峰教授的「由片語學習C程式設計」這本書,網路上買得到,台大書店不確定有沒有?劉邦峰教授同時也就是資工系大一計程的老師,買這本書幫助絕對大。
至於直接去修資工系計程的話,是沒辦法的,邦峰教授的班是直接拒絕外系加簽,所以不用白跑了。下學期傑帆老師也有開計程,這堂我不確定能不能外系加簽,有資訊的可以下面留言一下!我自己是只有旁聽DSA(時間卡到原系上必修),DSA也有一個批改系統,但旁聽不會幫你開帳號,只能看課程影片。
關於練題
目前批改娘上面有2015-now的考古題,共有約300題,若加上其他C的練習題的話,會有大概400題。這些題目都是有機會出現在考試的,例如去年就出現了235. Pachinko並不是考古題。去年上榜的強者在文中有附上直到2022年的題目解答(真的超感謝!),在文末我也一並附上。
但最後我在批改娘上刷了170幾題而已QQ,因為下學期的課不小心修太多,所以會推薦下學期把學分數控在20以下,並且盡量不要選有專案報告的課,別像我一樣有四堂要報告,結果學期末根本沒在練題,點點點。學期結束之後我才開始爆刷一波,最後是2015-2017幾乎都有刷完,2018-2019選重要的題刷,2021後則是只寫了幾題。我自己的習慣是練完題就會上傳code到習慣的筆記軟體,然後每題都會重點整理、檢討錯誤,最後幫他們上標籤方便複習的時候找主題。如果對我的筆記or解答有興趣的,我也會附在文末,但因為我移植過筆記軟體的關係,目前那裡只有72題。
可以注意的是,編譯器環境能多接近批改娘就多接近,防止一些系統不一樣導致error不一樣的情況,這是我在初期練題浪費很多時間的地方。據我所知批改娘是Linux系統,complie指令是gcc -std=c99 -O2,這也是我選擇Ubuntu來練習的其中一個原因。
還有可以創出自己的練題SOP和workflow,其實這個寫久了就會慢慢養成,例如我喜歡把螢幕分成兩半,題目放在左邊,code/console放在右邊。Complie指令永遠都是gcc -O2 main.c -o main(我發現-std=c99加不加沒什麼差),並且習慣用方向鍵上下來選擇以前打過的指令,這樣在編譯跟debug就可以省很多時間。盡量讓你的workflow能跟考場相容,免除掉考場環境的不確定性。
再來是實體的環境,由於考試是在下午,所以可以養成下午來個模擬轉系考的習慣,並且可以限個時,我並沒有這個習慣,但要是能重來,我會選擇這麼做。
一直到考前一天,我整理出個人覺得前幾個重要的主題:
- array, recursion
- simulation, parsing
- pointer
這點就是每個人不一樣了,個人是覺得array、recursion、simulation至少會考一個,parsing、pointer則是自己很不熟的,所以考前特別練了這些題目,而parsing也確實在考試上送了我一整題的分數。
最後
考古一定要練!
考古一定要練!
考古一定要練!
真的太重要了所以講三次,能刷完最好,能二刷就二刷,能三刷就三刷,咱們的目的就是要練到在巨大壓力或是失常的情況下,都可以穩穩寫完三題。
結語
能在這今年考上是真的很幸運,在考試前我只有練170題的情況下,其實已經準備好要再一年了,但幸好有去年的經驗+今年一整年養成的好習慣,心態完完全全的有穩住。
文中可能會有很多地方打的很細、很流水,但我就是希望整理出最全面的資訊。大一的我若能看到這篇的話,可以省掉很多不必要的焦慮和不確定性,在同樣路上奮鬥的同學們,希望你們看到這篇會覺得有幫助。最後,不要miss掉任何細節,不要低估任何事情,下定決定、制定計劃後,就執行它吧!
最後一些特別感謝
去年的強者,沒有你的解答我真的不會上
往年發過心得文的人
所有支持我、給我建議的朋友,你們真的牛B
老媽,完全沒給我壓力,牛B
女朋友,感謝妳的陪伴,然後妳也真的牛B
所有連結資訊:
112年台大資工轉系心路歷程
111 台大資工轉系心得
111年 臺大資工 轉系心得
109轉資工心得
台大雙轉輔網站
我的.vimrc
VirtualBox官網
Ubuntu官網
JudgeGirl批改娘
批改娘題目解答by 去年強者
我的批改娘題目解答
台大VPN

