exploring the challenges through learn to program book by chris pine