Problem Solving with Data Structures & Algorithms http://interactivepython.org/runestone/static/pythonds/index.html Exercises from Interactive Python