原文:LifeHacker.com 圖片:takito 翻譯:Ryan Chung
程式設計(Programming)是當前最有價值的技能之一,不論是就業考量或是結合創意激盪腦力,都是相當好的投資。如果你正想開始做這件事,以下提供給你一些可以參考的技巧與資源:
1. 先想清楚為什麼要學程式設計?
在開始之前,請先問自己:
- 為什麼要學習程式設計?
- 我有多少時間可以投入?
如果你想要成為一位專業的程式設計師,除了真的到大學去念資工系之外,你也可以參考Google的學習清單:
- 計算機概論(先有全面的概念性認識)
- 學習撰寫任何一種物件導向程式語言
- Coursera – Learn to Program: The Fundamentals
- MIT Intro to Programming in Java
- Google’s Python Class
- Coursera – Introduction to Python
- Python Open Source E-Book(以下為進階)
- Udacity’s Design of Computer Programs
- Coursera – Learn to Program: Crafting Quality Code
- Coursera – Programming Languages
- Brown University – Introduction to Programming Languages
- 再學其他語言來作比較
- 學會進行軟體測試(除錯、測試、拆解)
- 學習程式設計會用到的數學
- MIT Mathematics for Computer Science
- Coursera – Introduction to Logic
- Coursera – Linear and Discrete Optimization
- Coursera – Probabilistic Graphical Models
- Coursera – Game Theory
- 加強演算法與資料結構(資料形態、排序、資料結構等)
- MIT Introduction to Algorithms
- Coursera Introduction to Algorithms Part 1 & Part 2
- List of Algorithms
- List of Data Structures
- Book:The Algorithm Design Manual
- 對作業系統有所了解
- 學習使用者經驗設計
- 了解人工智慧
- Stanford University – Introduction to Robotics
- Natural Language Processing
- Machine Learning
- 了解編譯器如何運作
- 了解密碼學
- 了解平行運算
- 實作一個真實的專案
- 試著在一個大的專案中擔任一個角色,能夠看得懂別人寫的程式、讀懂別人寫的文件,並能夠除錯
- 訓練自己加入別人的專案,學習團隊合作
- 反覆練習建構自己的演算邏輯以及程式撰寫技巧
- 擔任課程助教或時常幫助別人
- 教學相長
- 到軟體研發公司中實習
而如果你想要的,是在閒暇之餘把程式設計當成娛樂,來做一些有趣的網站或遊戲,那麼一些線上的互動教學應該會更適合你。
2. 挑一個程式語言下手
這個世界上沒有所謂”最好的”程式語言,每一種語言都會有它的優點與缺點,重點在於你如何善用它們來達到你的目的。所以問題又回到同一件事,你的目標會決定你要先學什麼語言,要做APP還是做網站?要能快速上手還是想要紮實進修?
3. 耐心、勇敢地踏出你的第一小步
不論你選擇了哪一種語言,就著手開始吧!在了解了一陣子之後,試著將書上的範例檔案挖空,自己寫一次試試看。把整個演算的步驟條列出來,稍微做一些修改。第一個方法不行就試試還有沒有別的方法,不要急著放棄。
4. 還是下不了手?試著玩玩設計給小朋友的程式開發軟體吧
別在乎年紀,能學到東西最重要。試著玩玩這些設計給小朋友的開發環境(如Scratch),慢慢地把自己的”邏輯腦”召喚出來,想上課這邊也有(edX-Programming in Scratch)。
5. 善用線上學習資源
跟著線上學習資源,開始撰寫你的第一支程式,不論只是讓畫面上的一個物體移動,或是重新呈現資料,一旦開始就有機會讓你欲罷不能。
6. 選修一門課
認真地上完一門線上課程跟做一些小練習是不同的。透過幾個月完整、堅持地學習,你能夠獲得更多。
7. 找些書來看
書的陳述方式能讓你對理論有更深刻的認識與思考。不論是電子書或是書本都好,找一些相關的參考書籍來看。
8. 從遊戲中學習
現在有許多學習資源都做得跟遊戲一樣好玩!你也可以試試!
9. 向前輩請教
在學習程式開發的路上你並不孤獨!試著把你的問題丟到討論區上,或是寫封信給你的前輩,請他們給你一些建議,有時候你會發現,這個世界上熱心的人還是很多的!
10. 瀏覽、修改、再分享
透過瀏覽別人的程式碼來學習不同的思維方式以及技巧。並試著分析相同的功能怎麼撰寫更有效率。當你能創造出你覺得更棒的撰寫方式時,記得也分享回社群,貢獻出自己的程式碼。