谷歌推薦的大學生技術學習指南

看到一篇對大學生學習技術頗有幫助的指南,翻譯一下,供你們參考:html


有一個紮實的計算機科學的基礎,是成爲成功的軟件工程師的重要條件。這是一個引導大學生自學技術和非技術技能的建議。你能夠經過這個指南決定選修的課程,可是請確保這個課程符合你專業要求,以保證順利畢業。本指南提供的網上資源並非要取代大學提供的課程。它們可能會給你所學的內容進行補充或提供一個主題的介紹。java

閱讀須知:python

  • 請謹慎使用本指南
  • 可能還有其餘你想學習的東西不在本指南里,請不要侷限於此,大膽去作。
  • 完成了這些項目並不能保證能獲得谷歌的工做機會
  • 本指南有可能更新或改變,請關注更新

歡迎關注 Google for Students +Page 獲取更多小貼士和認識更多學生開發者。程序員

學術化的建議算法

CS課程介紹

提供基礎編程知識的計算機科學課程spring

在線資源:Udacity - intro to CS course, Coursera - Computer Science 101apache

至少學習一種面向對象的編程語言: C++, Java, or 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 Languagessegmentfault

學習其餘編程語言

註釋: 把這些語言加入你將來的學習列表中 - Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp 和 Scheme.服務器

網上資源: w3school.com - HTML Tutorial, CodeAcademy.com,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

深刻理解算法和數據結構

註釋: 學習基本的數據類型(棧,隊列,和包),排序算法(快速排序,歸併排序,堆排序),數據結構(二進制搜索樹,紅黑樹,哈希表),和Big O。

在線資源: MIT Introduction to Algorithms, Coursera Introduction to Algorithms Part 1& Part 2, List ofAlgorithms, List of Data Structures, Book:The Algorithm Design Manual

紮實的的操做系統知識

在線資源: UC Berkeley Computer Science 162

瞭解用戶體驗設計

在線資源: 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

成爲一個教學助理

幫助教其餘學生將有助於提升你的專業知識。

軟件工程實習經驗

註釋: 在實習期前一段時間就要尋找實習機會。 在美國,實習在夏季和九月。 公司一般是提早幾個月開始接收實習生申請。

原文 Guide for Technical Development
SegmentFault 整理編譯

相關文章
相關標籤/搜索