Strengthening IT Curriculum by Improving Problem Solving Skills with Programming