Advanced Programming

On the cusp of graduating? Self-taught to a high level? These resources will let you integrate what you've learned and polish your software engineering skills. Follow our suggested paths or use them in any order you’d like. Along the way you’ll learn tricks of the trade that will help you program more efficiently, and gain experience using open source code and other industry tools.

View all paths

Practice problems first

Trot out everything you know about recursion, graphs and arrays as you formulate a travel schedule that maximizes an employee's number of vacation days as she travels the world collecting algorithm problems. To raise the difficulty level of this exercise, practice it in a programming language you're not as fluent in. (login required)

Open link

LeetCode