Computational Thinking
Abstraction pays off because a solution that carries only the details it needs is quicker to work with at every stage. Take a program that lets people book a swimming session at a leisure centre. The programmer keeps the swimmer's name, the session time and whether the swimmer has paid, and ignores details such as how many lengths the swimmer swam last week or what they ate for lunch.
Simpler to understand and solve. With only those three pieces of data to think about, you can describe the booking problem in a sentence: find the session, take the payment and record the swimmer. There are fewer things to hold in your head, so it is easier to see what the program must do and to work out how to do it.
Less to design and program. Every detail you keep has to be stored, checked and displayed. Ignoring how many lengths the swimmer swam last week means there is no field for it on the input screen, no validation rule for it and no column for it in the saved data. The program has fewer variables, fewer decisions and fewer lines to write and test, so it is finished sooner.
Concentrates on what the user actually needs. The receptionist booking a swimmer needs to know that the session is paid for. They do not need to know how many lengths the swimmer managed last week or the temperature of the pool water. Leaving those details out keeps the screens and the stored records focused on the job the user is doing.
The benefit comes from the particular detail that is left out and the work it saves. Saying that the booking program ignores how many lengths the swimmer swam last week shows why the program is simpler; a general statement about removing detail does not.
OCR GCSE Computer Science · Computational Thinking