程式員養成指南,程式員指南

來源:互聯網
上載者:User

程式員養成指南,程式員指南

        堅實的電腦科學基礎是成為一名成功軟體工程師的重要條件,該指南為那些想進入學術研究和非學術研究領域的學生們提供了編程知識學習路徑。你可能會使用該指南來選擇課程,但為了能圓滿畢業,請保證你對專業課程的學習。該指南中提供的線上資源並不能取代你在大學中的課程...

        指南使用須知:

        1.請根據自己的具體情況使用該指南。

        2.在指南之外,可能仍有很多其他需要學習的內容。

        3.學完本指南的內容並不能保證你能獲得Google的某項工作。

        4.該指南會依情況更新或者更改。

        你可以在Google +上關注“Google Students”學習額外的技巧、資源或者其他學生感興趣的開發內容。

        學術研究方向課程推薦

        CS Course入門

        線上資源:Udacity - intro to CS course 和 Coursera - Computer Science 101.

        至少使用一門物件導向程式設計語言編碼: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 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

        不僅要會測試代碼,還要會測試自己開發的應用的漏洞,學會利用工具http://t.cn/8F3RM1V

        學習邏輯推理和離散數學內容

        線上資源: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 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, http://t.cn/zQ6JvmN

        學習並行編程

        線上資源: Coursera - Heterogeneous Parallel Programming


        非學術方向課程推薦

        課堂之外的項目工作

        建立並維護網站、搭建自己的伺服器以及構建機器人。

        線上資源: Apache List of Projects, Google Summer of Code, Google Developer Group

        操作大型系統中的一小部分

        比如程式碼程式庫,閱讀和理解現有的代碼,跟蹤文檔以及進行調試。Github是一個閱讀學習其他人代碼或者提交項目的好地方。

        線上資源: Github, Kiln

        和其他程式員合作項目

        可幫你提升團隊工作中的溝通合作能力,並從其他團隊成員身上學到自己不具備的東西。

         練習演算法知識和編程技巧

         通過編程競賽來聯絡你的演算法知識,比如CodeJam或者ACM的International Collegiate Programming Contest.

         線上資源: CodeJam, ACM ICPC

         學會10大編碼原則:http://t.cn/RzSNLMo

        成為助教

        通過教授學生來鞏固自己的知識。

        軟體工程實習經曆

        要在實習開始前就申請實習。在美國,學生的實習時間是夏季的5-9月,但會提前幾個月開放申請。

        線上資源: google.com/jobs

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.