學術學習的推薦
CS課程入門
電腦科學課程導論,介紹編碼的基本知識。
線上資源:Udacity – intro to CS course, Coursera – Computer Science 101
至少要會一種物件導向的程式語言:C ++、Java或Python
初級線上資源: 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
瞭解其他的程式語言
注:新增到你的知識庫中——JavaScript、CSS & HTML、Ruby、PHP、C、Perl、shell script、Lisp和Scheme
線上資源: w3school.com – HTML Tutorial, Codecademy, Udacity – Mobile Web Development, Udacity – HTML5 Game Development
測試程式碼
注:學習如何捕捉bug,建立測試,破壞軟體
線上資源: Udacity – Software Testing Methods, Udacity – Software Debugging
培養邏輯推理和學習數學離散知識
線上資源: 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, 書籍: The Algorithm Design Manual
深刻理解作業系統
線上資源:UC Berkeley Computer Science 162
學習UX設計
線上資源: Udacity – UX Design for Mobile Developers
學習人工智慧
線上資源: Stanford University - Introduction to Robotics, Natural Language Processing, Machine Learning
學習如何構建編譯器
線上資源:Coursera – Compilers
瞭解密碼學
線上資源:Coursera – Cryptography, Udacity – Applied Cryptography
瞭解並行程式設計
線上資源: Coursera – Heterogeneous Parallel Programming
嘗試課外專案
注:可以是建立和維護網站,構建伺服器,或打造機器人。
線上資源: Apache List of Projects, Google Summer of Code, Google Developer Group
閱讀和理解來自於一個大型系統(程式碼庫)的程式碼,追蹤文件並除錯。
注:可以在GitHub上閱讀他人的程式碼,研究他們的專案。
線上資源:GitHub, Kiln
與其他程式設計師一起開發專案
注:這能有助於你提高團隊合作能力,同時還可以取長補短。
實踐演算法知識和編碼技能
注:通過類似於CodeJam和ACM國際大學生程式設計競賽的方式來實踐自己的演算法知識。
線上資源:CodeJam, ACM ICPC
成為助教
這有利於增強和鞏固自我的學科知識。
相關閱讀
評論(1)