Note that your final mark will not be saved in the system.
5 - Abstraction and Automation GapFill
You must fill all the gaps before clicking ‘Check Answers!’
Certain key components make up the building blocks of any computer program, as well as many solutions beyond the world of computer science. There's , which specifies the order in which steps of a task need to be performed. Then there's , which indicates that one of two or more paths can be taken between where we are and where we want to be. is the means by which a set of steps occurs more than once, perhaps modified slightly each time it runs.
In terms of understanding the domain in which a computer solution will operate, abstraction is a key principle, and there are several types.
- entails specifically defining a section of code to perform a specific task. We provide that section of code with data, and the task that we have defined is performed on or with the data.
- goes a step further. Some other programmer using the section of code would know nothing about its implementation - only how to interact with it and what to expect from it.
- is apparent in obvious ways that go beyond fields of computer science. When you look at a map, you might see a triangle to indicate the peak of a mountain. There's no triangle there, and its inclusion is to make the map more intelligible to those reading it.
- hides us from the complexity of how information is managed by a system. A binary tree is a useful construct, and the fact that it is made up of a series of nodes, pointers and null references is not something we always consider when we use a binary tree
- is a way in which we can group similar items together and refer to the group rather than its individual components. We might create a simulation that deals with just 'vehicles', rather than cars, buses, vans, lorries, motorbikes, etc. individually.