Resource Library
Below you can find all of the different resources in the Guide: practice problems, former Google interview questions, online courses, videos, and more.
Tutorial: Variables (Python)
Variables act as "storage locations" for data in a program. Practice using variables with this guided Python tutorial from the University of Waterloo. (CSCircles)
Tutorial: Operators
An operator is a symbol that tells your program to perform logical operations. For example, a plus sign operator is used to add numbers! Learn about available operators and how they're used in coding. (TutorialsPoint)
If statements tutorial (Python)
If statements' allow you to perform actions only when certain conditions are met. Learn more about if statements and control flow in programming from this tutorial with examples to guide you. (CSCircles)
Else statements & boolean operators (Python)
Learn about else statements and boolean operators, such as and, or, or not, from this interactive lesson! While this lesson highlights Python, the concepts can be applied to any programming language. (CSCircles)
Loops tutorial (Python)
Want to brush up on the basics of loops? Check out this tutorial that includes interactive examples and a practice problem at the end to test your knowledge. (LearnPython)
Loops tutorial (Java)
Want to brush up on the basics of loops in Java? Check out this tutorial to learn about different types of loops, such as for and while loops, and complete an exercise to test your understanding. (LearnJava)
Strings (Java, C++)
In computer science, a string is an array of characters. Learn more about strings and the unique operations that can be applied to them in this LeetCode tutorial with examples to help guide you. (LeetCode)
Arrays tutorial (Java)
What are arrays and what are they used for? Find out from this LeetCode tutorial, which is divided into chapters each covering an aspect of arrays. It also includes practice problems for you to solve. (LeetCode)
Hash map tutorial (Java, C++)
Check out this interactive tutorial offered by LeetCode to learn about what hash tables are, how they should be implemented, and when they should be used. Examples and practice problems are included! (LeetCode)
Linked list tutorial
Check out this interactive tutorial offered by LeetCode to learn about what linked lists are and how they can be used to solve problems. Practice questions are included! (LeetCode)
Stack and queues (Java, C++)
How are stacks and queues used and what's the difference between them? Check out this interactive tutorial by LeetCode to learn more. Examples included! (LeetCode)
Sorting Algorithm visualizations
Sorting is an essential concept in programming. Learn about the most commonly use sorting algorithms in computer science through this interactive tutorial with examples included. (VisualGo)