Follow a Suggested Path

You can use any of the guide's resources, in any order. If you’re not sure where to start, why not follow one of these paths curated by university computer science faculty and Google engineers?

  • Foundations of Programming

    If you've already taken a class or two, try this selection of resources to supplement and expand what you're learning. This resource set is great for general practice and gets into topics like mastering lists, strings, objects and references, values and pointers, and testing and debugging.

  • Advanced Programming

    If you're beyond introductory university courses, or are an experienced coder, these resources may help refine your skills and technical know-how as you prepare for a career in the tech industry.

  • Machine Learning

    Want to move beyond traditional programming and explore the world of machine learning? Start here with Google’s crash course, then move on to further resources on data science, neural networks, and deep learning. Once you’re confident in your ML toolkit, you can practice with real world problems in Kaggle competitions.

  • Cloud Computing

    The cloud has opened new, exciting dimensions and possibilities for building amazing tools and products. These paths enable you to explore key aspects of software engineering in the cloud, including developing apps, getting the most from infrastructure, and working with big data and machine learning.