Helps students undertaking their first computer-programming course to develop sound programming skills. Teaches students how properly to define the problem, how to design a solution algorithm, how to divide the algorithm into modules, and how to prove the algorithm's correctness…