※ 引述《Herodote (Herodote)》之銘言:
: 主要是想用MOOC有系統性的學完python,之後完成Udacity的Machine learning的
: Narodegree
: 版上爬文學python是說要以完成project為主
: 但感覺自己還缺一些概念,而且也不知道到底要先完成什麼project好
: 也不知道如果要實做能做出展示給別人看的project要到什麼程度
: 以及是否有那種手把手的影片帶?
: 不知道有沒有用Mooc自學成功的?
: 目前上了幾門課程
[恕刪]
其實不用想得太複雜
就想 end user 會收到的程式種類
從裡面挑一種出來實作即可
- 終端機程式:其實是最簡單的,因為 UI 很固定 (stdin/stdout/stderr)
但是現在沒什麼人在用終端機程式,寫起來也沒有很大的成就感
如果願意打基本功的話,還是可以考慮一下
- GUI 程式:稍微複雜一點,但會有一些成就感
一開始用 Tkinter 就好了,比較好上手
可以考慮計算機、電子時鐘、Tic Tac Toe、黑白棋等基本的來入門
- 遊戲程式:新手很喜歡寫這個,但其實不推
因為遊戲要大量美工和音樂素材,一個人會比較吃力
如果想從這個入門,同樣建議從棋類遊戲開始
因為棋類遊戲比較不吃美工,還可以練習寫 AI
- 網頁程式:這個也是會有成就感,但比較辛苦
因為網頁全端程式要學四到五種語言,還要有網頁運作的概念
但是學網頁程式很實用,建議投資時間學一下
- 手機程式:雖然有 Kivy,但不推薦,因為 Kivy 相關資料太少,會很辛苦
寫手機第一還是推原生程式 Java/Kotlin、Swift/ObjC
次一等可以考慮 Xamarin,至少 C# 體質還不錯,而且背後有微軟推動
或者是其他領域的主題,如下:
- 資料探勘:在 Python 裡蠻熱門的項目,但比較吃觀念
除了資料處理和建模的步驟外,也要一些領域知識 (domain knowledge)
新手容易落入不知自己在跑什麼的冏境
- 文字探勘:其實文字探勘的函式庫 Java 比較多,但 Python 也有一些
這個也比較吃觀念,新手可能也會不知道自己在跑什麼
- 網路爬蟲:這個有點類似網頁程式,也是要學網頁相關的概念
蠻實用的項目,學會之後可以自己撈資料,建議投資時間學習
- 自動化:算是雜項,就是見招拆招
細節可參考 Automate the Boring Stuff with Python
初學者可先從 text processing 開始,像是處理 CSV 或 JSON 等
這些只是小弟比較有印象的部分
可能還有漏掉不少東西
通常建議從自己有興趣的東西入手
比較有學下去的動力
Good Luck!