Google publishes Programmer's Guide

Source: Internet
Author: User

4 tips on how to use this Learning guide:

    • Please consider your own actual situation to learn.

    • If you still want to learn about other courses outside the guide, go ahead!

    • This guide is for informational purposes only, and there is no guarantee that you will be able to enter Google work even after you have completed all of the courses.

    • This guide is not updated regularly. You can follow Google for Students +page on Google + for more information at any time.

The recommendation of a preparatory style
    • Introduction to Computer Science

Description: A computer science introduction is the basic content of the introduction of coding.

Online resources: Udacity–intro to CS Course, Coursera–computer Science 101

    • Learn at least one object-oriented programming language: C + +, Java, or Python

Beginner Online Resources: Learn to Program:the Fundamentals, MIT Intro to programming in Java, Google ' s Python Class, coursera–introduction To Python, Python Open Source E-book

Intermediate Online resources: Udacity ' s Design of computer Programs, Coursera–learn to program:crafting quality Code, coursera–programming Lan Guages, Brown university–introduction to programming Languages

    • Learn other programming languages:

Tip: You can choose one or more of these languages--java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp, Scheme.

Online resources:–html Tutorial,

    • Test your code

Tip: Learn how to track bugs, create tests, and breakpoints.

Online resources: Udacity–software testing Methods, Udacity–software debugging

    • Develop logical thinking and learn discrete mathematics

Online resources: MIT Mathematics for Computer Science, coursera–introduction to Logic, coursera–linear and discrete optimization, Cou Rsera–probabilistic graphical Models, coursera–game theory

    • Deep understanding of algorithms and data structures

Tip: Learn the basic data types (stacks, queues, and backpacks), sorting algorithms (Quick sort, merge sort, heap sort), data structures (binary search tree, red black tree, hash list), large O notation.

Online resources: MIT Introduction to Algorithms, Coursera Introduction to algorithms part 1& Part 2, List of algorithms, List of Data Structures, book:the algorithm Design Manual

    • Gain insight into operating system knowledge

Online resources: UC Berkeley Computer Science 162

    • Learn AI

Online resources: Stanford university–introduction to robotics, Natural Language processing, machine learning

    • Learn how to build a compiler

Online resources: Coursera–compilers

    • Learning Cryptography

Online resources: coursera–cryptography, udacity–applied cryptography

    • Learn Parallel programming

Online resources:coursera–heterogeneous Parallel Programming

Online resources: coursera–heterogeneous Parallel Programming

Non-study advice
    • Access to projects outside the classroom

Tip: Create and maintain a Web site, build your own server, or build a robot.

Online resources: Apache List of Projects, Google Summer of Code, Google Developer Group

    • Handle a small part of a very large system (code base), read and understand existing code, documentation, and Debug.

Tip: GitHub can be used to read the source code and contribute to a project.

Online resources: Github, Kiln

    • Working together with other developers

Tip: This will help you improve your team's ability to work and learn new things from others.

    • Targeted learning algorithm knowledge and improved coding capabilities

Tip: You can practice algorithmic knowledge in the Codejam or ACM programming contests.

Online resources: Codejam, ACM ICPC

    • Be a teaching assistant to help others

Tip: Helping others can deepen your understanding of the field.

    • Internship experience in software engineering

Note: The internship application should be applied in advance before the commencement of the internship. In the United States, the internship is in the summer (May to September), the application will generally be several months in advance.

Online resources:

Google publishes Programmer's Guide

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

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.