Foundations of Programming

Reach beyond the basics of coding with these curated resources for programmers who have completed 1-2 computing courses. You’ll find three sample paths: a basic (and recommended) one, a problems first path, and one that focuses on testing and debugging. You can also plot your own sequence to suit however and wherever you’re learning.

View all paths

Practice testing and debugging first

Writing a simple interpreter in Python that understands the "+", "-", and "*" operations -- and then applying them -- is no piece of cake. Solve this challenging, Google-designed problem and victory will feel ever so sweet.

Open link

CodingBat