Below is a list of Computational Concepts that students were exposed to while working on the Random Number Guessing "Game":
One of the major skills necessary for writing good code, is the ability to break a problem down into smaller parts and to then translate it into commands that the computer can follow. This important 21st Century Skill is known as Computational Thinking.
CSTA and ISTE define Computational Thinking as:
- Formulating problems in a way that enables us to use a computer and other tools to help solve them.
- Logically organizing and analyzing data
- Representing data through abstractions such as models and simulations
- Automating solutions through algorithmic thinking (a series of ordered steps)
- Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
- Generalizing and transferring this problem solving process to a wide variety of problems
For the purposes of this assignment (program) students had to focus on developing a solution that not only solved the problem, but solved it in the most efficient and effective way possible. To this end, we created a rubric to help them identify the varying levels of completion (for their finished program). To help them internalize these levels, the students had to evaluate their own programs as well as the program of one of their classmates.