Learning to Learn: Algorithmic Inspirations from Human Problem Solving