Learn to Program? Program to Learn!