Explore a Collection

Below are collections of resources curated by Google engineers and university faculty. Explore any collection that aligns with your goals.

  • New to Computer Science?

    Completely new to programming and not sure where to start? These resources will help set you on the right path.

    Suggested prerequisites: No experience needed!

  • Foundations of Programming

    Learn about basic programming concepts like functions, operators, variables, control flow, strings, and arrays — some of the building blocks of programming.

    Suggested prerequisites: No experience needed!

  • Data Structures & Algorithms

    Familiarize yourself with common data structures and algorithms such as lists, trees, maps, graphs, Big-O analysis, and more!

    Suggested prerequisites: Familiarity with basics programming concepts (e.g. if statements, loops, functions)

  • Interview Prep

    Familiarize yourself with the ins and outs of software engineering interviews. These resources will help students and professionals prepare and practice.

    Suggested prerequisites: Familiarity with data structures and algorithms.

  • Software Engineering Principles

    Practice important skills you'll need to be a successful software developer — testing, debugging, design, documentation, and open source.

    Suggested prerequisites: Familiarity with basic programming concepts.

  • Cloud Computing

    This collection will allow you to explore topics such as Google Cloud, the Firebase mobile platform, how to deploy applications, storage and databases, and more.

    Suggested prerequisites: No prior experience is required!

  • Machine Learning

    Explore ML techniques and innovative ML approaches like deep learning and neural networks as well.

    Suggested prerequisites: A curiosity of machine learning tools and technologies.