國立中央大學軟體工程研究所推甄心得

| Comments

國立中央大學軟體工程研究所推甄心得

本文採用CC授權 姓名標示─非商業性─禁止改作 3.0 台灣 http://goo.gl/TwbVOk

Introduction

國立中央大學軟體工程研究所(簡稱軟工所)今年第一次嘗試以上機考為主的推甄方式,且不看重課業成績,這不但意味這造福原本是資工系會Programming但課業成績不佳的同學,更為大學讀非本科系卻對資訊有濃厚興趣的學生開拓的一條路,敝人就是此次考試的受惠者,因為要感謝的人太多,所以只好藉由發心得文給未來想參加此考試的同學參考,作為回報。

關於本次考試說明可以參考:

強者的心得文參考:

以上強者有敘述過的部分我就儘量不重複了,他們心得寫的很好,已經不需重新闡述,所以我會著重在從實務經驗較多的同學的角度去做心得分享。

About Me

  • 國立中興大學歷史系,系排85.5%,無輔系雙主修,修過資工系幾堂課。
  • 國立文華高中 中區資訊能力競賽(無得名) / BBS校站NF創站長 / 電研社社長 *
  • 國立中興大學 學生會資訊長 / 圖書館網頁工讀生
  • 2013全國⼤大專校院開放軟體創作競賽 佳作 / Indie Speed Run 2013 / g0v.tw hackath5n

  • 報考 40 名,取 11 名,正取10

Who is Object?

正如pioneerlike(後簡稱p9e)所言:『「只寫過網站」的同學不太適合參加本次推甄』,但不必沮喪,這不代表這類人要放棄參加推甄,反而要利用這項經驗去發展。像是敝人就是偏向網站開發的類型,與P大比起來,敝人在程式競賽(ACM-like)的經驗是比較缺乏的,比較常觸碰的是專案開發與維護的部分,也算是比較偏向網站開發的同學,但仰賴高中維護過BBS站(Maple-Itoc,純C寫成)與簡單的資訊競賽的經驗,對於C語言有所了解,但和競賽比起來,走的是不太一樣的方向。

也就是說,你不一定需要透過ACM、CPE等資訊競賽的路線,只要是對專案開發有興趣的同學,可以嘗試用C、C++、Java等,開發一項專案,去了解軟體程式設計和網頁程式 設計的不同,以及其中的思考邏輯,會對你幫助很大。比起一般人,你們擁有網頁開發的基礎,要跳入這塊應該是比較容易的。

The First Stage

正如p9e和0w0所說,成績在這個階段不是重點。他們系排都在50%左右,而敝人甚至是非相關科系的,備審資料要求填寫的科目分數,一概沒有修過,但這階段的分數仍然有8X,可以做在校成績所占比重不高的最大驗證。

和p9e不同的,我想強調這階段的重點是代表作。

雖然敝人在高中曾在校內資訊競賽拿到第一名,但到了中區後仍然慘當炮灰。在大學時也未曾參加過CPE,所以我認為CPE應該不是唯一重點。而我走的正是另一條路,我寫過許多小作品,雖然不是很強大,但至少都是一個可以獨立運作的(網頁)程式,且都附在備審資料中。

而為了這次推甄,我把以前的思考已久的想法用網頁程式實作出來,當作代表作與備審資料共同交出去。而在第二階段考試開始前,考試老師也說他們有請研究生幫忙把每個報考生的作品試跑過,看能不能正常運作。所以我想只要寫個能正常運作的作品,附上安裝或使用說明,這階段的分數都能有80上下。

複習並總結一下,因為本次推甄的重點是上機考,所以這階段是不會刷掉任何人,只有分數的差異(大概10~15分),如果你有上傳能正常運作的代表作,分數應該都會有不錯的表現。

The Second Stage

今年上機考考了七題,題型說明,p9e和0w0都說得差不多了,我一樣儘量不重複他們所說過的部分。想要了解詳細的同學,可參考p9e的心得,他寫的很清楚。

而我把它分為四題簡單題(1,2,3,5)與三題複雜題。但這是根據敝人的實力所做的判斷啦XD。搞不好有人覺得全部都很簡單之類的。但我會這麼做憑據的是,四題簡單題只要了解key point時,不用十五分鐘就可以解決(甚至不用三分鐘),敝人在四題簡單題所花的時間大概占整個考試時間的1/3左右。

建議習慣開發專案的同學,在上機考前,至少在兩個禮拜之前,能到比較著名的Online Judge系統去做練習。或許有同學會問,前面不有大大說是偏向考資訊科學、業界實作而不是ACM嗎?Indeed~但在這邊的練習是去熟悉online judge的模式,還有怎麼在限定時間內去解出最多的題數,這會在你上機考時讓你較為從容,比較知道怎麼掌握節奏。

而練習這類題目有一個好處,就是每題通常會有一個需要你去解決的key answer,透過解題能讓你快速熟悉許多技巧。當解題完成後,可以在思考有什麼更好的寫法。如果經濟允許,可以去買些競賽相關的書籍,去理解有哪些技巧是常被題目所用到的。敝人考前就買了一本對岸出版的《ACM程序設計》,對我這次考試幫助很大。

最後,在程式語言的部分,會希望你能至少掌握C與C++的基本技巧,尤其是C++物件導向和STL的部分,敝人原本是只會C語言而已,但認為這種競賽會重視物件導項相關概念,所以在考試前兩個禮拜之前開始研讀C++,結果很幸運的,幾乎所有題目都可以用C++去解,這也是讓敝人得以正取的關鍵之一。當然,你也可以靠Java打遍所有題目,但仍然建議你,至少要能讀懂C++的語法,這樣若題目規定你必須要用C++編寫時,才不會愣在那裡。至於在使用Java參加上機考的相關問題與經驗,可以私下詢問p9e,我想他會很樂意分享的。

Ending

很幸運的能在今年考研究所的時候,中央大學軟工所開放了這樣考試方式。讓敝人得以從歷史系的身份,成功考取資訊相關的研究所,在以前相關系所只要看到文學院,90%都會直接刷掉的。 當然這不代表說資工系廉價,連歷史系都能考上相關研究所的意思。敝人在大學四年中,也花了許多時間在資訊上的研讀,包括程式語言的練習、接案子,參加有興趣的Conference,把握機會參加競賽與社群,這都是讓一個非本科系的學生能夠累積基礎的管道。

我想要說的是,如果身在非資訊相關科系卻對資訊有著濃厚興趣的夥伴(很多原因會產生這種結果,不多贅述),不要放棄你對資訊的渴望,好好在課餘時間去多結交資訊背景的朋友,大家一起討論、分享相關訊息、參加活動,接個案子、多寫專案,慢慢累積實力,到了大四,就來嘗試中央軟工所吧!我想這是對我們這類人,敞開的另一扇大門與歸途。

最後,資訊科學的基本學科,還是要在入學前儘量掌握。敝人已經打算在下學期只有九學分的生活,好好研讀作業系統、資料結構、演算法等,展開另一趟有趣的學習之路。

我的分享大概就是這樣。也在漢敝校系主任討論過後, 之後可能會再寫一篇鼓勵學弟妹多多實作的心得延伸,到時候會再分享出來。 有什麼問題,也歡迎寫信給我:systorier+ptt[at]gmail.com

祝所有對資訊領域有興趣的夥伴,皆能在這類考試中得到肯定。 Just Do It, Funny Hacking.

Comments