This project helps students practice computational thinking. Computational Thinking refers to use of a computer to perform an action or solve a problem. Three important aspects of computational thinking involve algorithms, abstraction, and analysis.

  1. Algorithms. Development of an algorithm involves identification of a pattern.
  • Abstraction. Once an algorithm has been identified for an activity, it can be implemented as a function – a named routine or block of code using parameters to specify different instances of the activity.
  • Analysis. Execution of a solution is followed by assessment and analysis of the result. Analysis and assessment can include correctness of the solution, elegance, and efficiency. In many instances, more than one solution will achieve the desired outcome, but solutions that are both efficient and easy to understand are more desirable.

The ability to build a library of functions in this way is a skill that contributes significantly to productivity and makes maintenance of code more efficient in the long term.