• 計算機概論(先有全面的概念性認識) • 學習撰寫任何一種物件導向程式語言 • 再學其他語言來作比較 • 學會進行軟體測試(除錯、測試、拆解) • 學習程式設計會用到的數學 • 加強演算法與資料結構(資料形態、排序、資料結構等) • 對作業系統有所了解 • 學習使用者經驗設計 • 了解人工智慧 • 了解編譯器如何運作 • 了解密碼學 • 了解平行運算 • 實作一個真實的專案 • 試著在一個大的專案中擔任一個角色,能夠看得懂別人寫的程式、讀懂別人寫的文件,並能夠除錯 • 訓練自己加入別人的專案,學習團隊合作 • 反覆練習建構自己的演算邏輯以及程式撰寫技巧 • 擔任課程助教或時常幫助別人 • 到軟體研發公司中實習 20 http://mobiledev.tw/10thingsaboutlearnprogramming/