轉:Google技術開發指南:給大學生自學的建議

來源:互聯網
上載者:User

標籤: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技術開發指南:給大學生自學的建議

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.