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.
What is computer science?
Are you curious about computer science? Check out this video to learn about what computer science is, the different ways it's used to solve problems, and why it's such a valuable skill to learn. (YouTube)
ESTIMATED TIME: UNDER 10 MINSHistory of computer science
Interested in the history of CS? This CrashCourse video explains how programming started and developed long before electronic devices existed. (YouTube)
ESTIMATED TIME: 10-20 MINSHow to start studying programming
Are you interested in studying computer science, but unsure where to start? Check out this video for some useful study tips! (YouTube)
ESTIMATED TIME: UNDER 10 MINSWhich programming language should you learn first?
Not sure which programming language you should learn first? Check out this video to gain insights on what languages may be good to learn for a beginner! (YouTube)
ESTIMATED TIME: UNDER 10 MINSList of online CS courses and resources
Looking for more resources to improve your CS skills? This GitHub page list links to online courses and other resources you can use to learn a variety of programming languages. (GitHub)
ESTIMATED TIME: 20-30 MINSReddit's Learn Programming Community
Check out the learnprogramming community on Reddit where you can find read posts by other folks new to programming or create post of your own.
Google's Intro to JavaScript course
Grasshopper is a free online app where you'll learn the basics of coding in fun, quick lessons. No prior experience is needed. Feel free to use their website, iOS app, or Android app. (Grasshopper)
Intro to Python course (Free)
Are you a Python beginner? Check out this free online course offered by Udacity, which covers the fundamentals of Python as well as programming best practices. No prior experience is needed. (Udacity)
Intro to Java course (Free)
Are you a Java beginner? Check out this free online course offered by edX to learn about basic programming fundamentals related to Java, such as primitive data types and object-oriented design. (edX)
Intro to iOS App Development with Swift
Curious about how to build an iPhone app? Check out this online course where you'll do just that while also learning about Swift, a new programming language by Apple. No prior experience needed. (Udacity)
Create your own adventure game (Python)
Learn about the fundamentals of object-oriented programming, such as how to create objects and define functions, by creating your own text-based experience game in Python! No prior experience needed. (FutureLearn)