# 給資訊社的各位 {%hackmd BJrTq20hE %} 回首學程式的初衷,全由從想要做自己的遊戲開始。 在高中階段,碰觸兩次學科能力競賽、數次APCS、幾次ITSA、跑過一次TOI選拔營,也結交不少全國的朋友,開了不少眼界。 至於,如何精進自己的程式能力,別無他法,就自己多買書、多刷題,或是多去參加營隊,如果有錢有時間的話。更重要的是熱情,才是維持前進的動力。 簡單入門的話,建議從E-tutor的Mathematicsc題庫開始,然後往Array、Sorting、String、Recursion努力。或往進階的Zerojudge、CodeForce、Uva、Leetcode等刷題平臺。有些題目我們資訊社有收集。 這裡還是強調熱情與自發的部分,還有不要一直當伸手牌、連自己Google、Debug都不會。至於入門前有一道門檻,跨過之後,基本上IO、Loop、Selection Statement、Function、String、Primitive Data Type等概念都會,已經可以解很多題目了。 再來又是一道門檻,Data Structure、Algorithm橫空出世,你還要懂Time Complexity、Big-oh等數學的觀念。你也可能因此接觸除了$C++$外的神奇語言,例如Java、python,雖然你C++的STL用得好,就很厲害了。 舉一些我學習過程印象較為深刻的事,在自己剛自學時,面對Greed Method、Dynamic Programming等名詞時,確實只得其名未得其意,甚至有些退縮。在學習Abstract Date Type,舉凡Stack、Linked List、Deck、HashMap等,都花相當多時間實作、找題目來應用;而在學Graph時是比較沉迷的時候,當時對我而言Dijkstra、Floyd、BFS等演算法都是藝術般的存在,每次寫對一題,都會癡癡看著程式碼好久,並分享給LMcps的大家。 大概就是如此,也許你在學習程式的路上,就是一直在執行D&C,將大問題分解成小問題,逐一擊破,你的實力也日益增強。而你的人生應該也到執行DFS的時候了,請讓自己長期維持在Flow之中,找到自己所熱愛的事。最後歡迎加入我們社團、我和許多學長已經為你們堆積許多資源與經驗在裡頭,那都是我們一步一步走來的,以上。 高三忠 曾俊翔 程式設計研究社第二任社長 2021/5/20 > [time=Tue, May 25, 2021 2:00 PM] ###### tags: `心得`