Learning To Solve Problems Using Charles