4.1.1 Programming challenges.