2018年7月15日 星期日

開始刷題庫

一陣子沒來更新,並不是因為荒廢,而是發現電腦程式語言的世界太廣大,摸索的有點暈頭轉向。

6月時報名了資工系開設的python應用課程「Python 與資料分析」,課程內容以教授 Python 大量運用於商管領域的幾種重要函式庫- Numpy, Pandas,也有帶到一點資料視覺化的部份。開課老師是商管背景,程設底子明顯不夠紮實,上課內容偏向資料統計和處理,解題的方式也不是引導如何去拆解一個問題,而是不斷的上網估狗各種函式。整體來說我並不是太喜歡這堂課,但對於python在資料統計與篩選的實際應用方面有了基本的概念。

總之,發現去資工系補習班上應用課程,並不是我喜歡的學習方式。

正在苦惱下一步怎麼走之際,剛好有機會和資工的學生接觸,閒聊之際講到我自學程式語言的瓶頸,同學很熱心的給予我幾個建議,大致可分為兩個方向:1. 多刷題庫 2. 學習資料結構與演算法。

這兩個建議看來很籠統,說穿了就是程式設計的基本功訓練。學生推薦了我幾個知名的題庫網站,加上我後來查到的幾個:
(1)UVA
自學程式的人都會知道的題海庫,成千上萬的習題大概沒有練完的一天,各種難度應有盡有,還有線上批改系統幫忙,唯一的缺點是全英文介面。

(2) Lucky貓的UVA
國內善心人士製作的 UVA 中文化網站,題目都有題號,可以一邊看一邊去對照原本的UVA內容,促進對英文題式的理解,缺點是畢竟是挑題翻譯的,題庫不全,而且可能有翻譯不到位的問題。

(3) 高中生程式解題系統
國內自行開發的題庫,也有線上批改(但為了配合系統需求,答題前都得先帶入一個前提迴圈語法),題目分等級,也有競賽型的題目,題目設計感不如 UVA 巧妙,但對初學者來說算是不錯的入門。(目前我自己正在刷這個部份,覺的雖然名為給高中生的,實際上難度也是很高)

先講完刷題庫的部份,資料結構和演算法的學習,留到下一篇再作分享。