python解題學習地圖

Step 0. 開始之前

    1. 編輯軟體

      • (線上) Google Colaboratory ,可以直接結合雲端硬碟存程式。

      • (線上) repl.it 程式可以保留在帳號中。

      • (軟體) spyder,屬於anaconda 軟件包,學校有預設安裝。

      • (軟體) pycharm ,學校有預設安裝。

      • (軟體) VS code 微軟免費,學校有預設安裝。

Step 1.Python語法,基本資料結構

必需

    • kids coding school 紙本講義,請向老師拿。

    • repl.it(老師開的classroom,請優先以github或是google 帳號註冊以便追蹤進度)。

選擇

參考課程

Step 2. 線上解題

基本語法掌握之後,開始用線上解題系統來練習解題思考,目前請用 ZeroJudge(高中生解題系統,附上常用python解題骨架程式碼)

進入註冊後從 高通過率 的開始解。請務必把每題的思路都仔細思考過,千萬不要上網找到答案之後直接複製貼上!

解題到達一定程度之後,你會發現有些問題再怎麼改都不會過,大部分是因為需要用到特化的演算法或是資料結構,可以上網查詢相關的資料來學習。

但是如果問題很簡單,寫法思路也都沒錯,可是常常出現TLE(超時錯誤),這是因為 Python 先天上I/O慢的限制,建議

    1. 把程式改寫用 Python 內建的函式來取代自己寫的,例如要把字串裡面的 'A' 改成 'a' ,用 replace() 比自己繞一遍字串進行取代快很多。

    2. 可以學更進階的語言 C/C++ ,學習曲線比較陡,可是投資報酬率很高,C/C++ 是電腦的基礎語言!

競賽/檢定/線上解題網站

刷題網站

演算法參考網站

線上課程

營隊

純軟體專題:

    • 慧燈學長累積下來的專案,有興趣可以找學長傳承學習:

    • 遊戲類(打磚塊,踩地雷...),延伸學習到 pygame及其他python模組。

    • 工具軟體 小算盤,抓youtube檔案...

    • AI類,用Python玩AI很方便,不需要鑽研高深的數學一樣能做出成品,目前常見的有 機器學習(Machine Learning)的Scikit-Learn ,深度學習(Deep learning)的 google tensorflow

    • 電腦視覺 opencv

    • 視覺藝術類: P5.js(有Python版本)

跨軟/硬體專題:

大學入學

通常跑到專題之後,在這方面的性向就很明顯了,請依照自己的興趣準備考大學相關的科系吧!

不過如果學到一半發現這不是你的真愛也沒關係,畢竟工程師不是唯一的職業,再多去探索其他領域也不錯。