標籤:des blog http io ar os 使用 sp for
原文來自於:http://blog.jobbole.com/80621/
技術開發指南
想要成為成功的軟體工程師,必須擁有堅實的電腦科學的基礎。本指南針對大學生,給出一條自學途徑,讓學生以科班和非科班方式提高技術技能。讀者可以學習本指南中介紹的課程,但是為了能正常畢業,還是請側重於自己本身的專業。本指南中介紹的線上課程無法代替你在大學中的課程。但可以作為其補充,或者作為電腦方面的介紹。
使用說明:
- 請自行決定如何使用本指南
- 除了本指南中介紹的內容,如果你有其他想學的,盡情去學吧!
- 即使學習了本指南中所有內容,也不能一定保證你能獲得Google的工作。
- 本指南會隨時更新或修改,記得隨時回來看看。
- 關注我們的Google+上的Google for Student帳號可以獲得進一步的提示、資源,並認識其他對開發感興趣的學生。
科班式建議
說明:電腦科學簡介是介紹編碼相關的基礎內容。
線上資源:Udacity – intro to CS course、Coursera – Computer Science 101
- 至少學習一門物件導向程式設計語言:C++、Java或Python
初學者線上資源: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
提示:你可以選擇這些語言中的一種或多種——Java Script、CSS、HTML、Ruby、PHP、C、Perl、Shell、Lisp、 Scheme。
線上資源:w3school.com – HTML Tutorial、CodeAcademy.com
提示:學習如何追蹤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
提示:學習基本的資料類型(棧、隊列和背包)、排序演算法(快速排序、歸併排序、堆排序)、資料結構(二叉搜尋樹、紅/黑樹狀結構、散列表)、大O標記法。
線上資源:MIT Introduction to Algorithms、Coursera Introduction to Algorithms Part 1& Part 2、List of Algorithms、List of Data Structures、Book: The Algorithm Design Manual
線上資源:UC Berkeley Computer Science 162
線上資源:Stanford University – Introduction to Robotics、Natural Language Processing、Machine Learning
線上資源:Coursera – Compilers
線上資源:Coursera – Cryptography、Udacity – Applied Cryptography
Online Resources: Coursera – Heterogeneous Parallel Programming
線上資源:Coursera – Heterogeneous Parallel Programming
非科班的學習建議
提示:建立並維護一個網站、構建自己的伺服器、或構建一個機器人。
線上資源:Apache List of Projects、Google Summer of Code、Google Developer Group
- 處理一個非常大的系統(程式碼程式庫)中的一小部分,閱讀並理解已有的代碼、文檔,並進行調試。
提示:Github可以用來閱讀源碼並為某個項目做貢獻。
線上資源:Github、Kiln
提示:這將幫你提升團隊工作工作的能力,同時從他人那可以學到新東西。
提示:可以在CodeJam或ACM 這些編程競賽上練習演算法知識。
線上資源:CodeJam、ACM ICPC
提示:協助他人可以加深你對該領域的理解。
提示:實習申請要在實習開始前提前申請。在美國,實習期是在夏季(5月到9月),申請一般會提前幾個月。
線上資源:google.com/jobs
轉:Google技術開發指南:給大學生自學的建議