Flashcards
2.1 and 2.2.2 Computational Thinking and Computational Method
Cards in this deck (12)
- 1Wh are the 5 elements of computational thinking?Thinking abstractly, Thinking ahead, Thinking procedurally, thinking logically and thinking concurrently.
- 2What is abstraction?Abstraction is working out the important things and working with them. However sometimes in coding what you think is the important part will not be the important part and a part you thought was not important was.
- 3What is thinking ahead and give an example in a computer system where this is used?It is literally planning out the program you are going to write each step of the way.
Think of the input, process, output cycle, an excellent example of thinking ahead. The data needed by a program is dumped in the RAM before any work gets started, because that’s a good way of making everything happen smoothly. This is caching, and it’s different from pre-fetching which is when the instruction is put into the RAM before it is needed so that delays in fetching the next instruction are minimised.
The process of caching also puts the data required by an app into the RAM in advance so that the web server isn’t called upon so frequently and the response time is again reduced. - 4What is thinking procedurally?This is where you think in order that the program is going to run adnd what the different steps will be each of the way to achieve your final goal such as a well tested effective software syustem. If we do not think procedurally then the system will not necessarily do what it needs to do and will not have been tested properely.
- 5What does thinking logically include?If you are writing a program, or planning anything, you need to work out what decisions need to be made and when they need to be made. Thinking logically using flowcharts and giving boolean responses helps us to get a clear indication of what exactly the program at each point or what exactly when planning will occur if an incident arrives.
- 6What is thinking concurrently?Concurrency is when more than one calculation is going at any one time so thinking concurrently is how we would program computers so that they can make use of multi core processors and complete more than one task at the same time in the most efficient way possible.
- 7Name some computational methods and what they are?Problem recognition - allows you to see the problem meaning that it is identified and then you can act on it.
Decomposition - This is where you break up a large problem into many smaller problems which are easier to understand and generally therefore easier to solve. If the small problems are too hard to solve create even smaller problems until they can be solved.
Divide and conquer - Divide and conquer is based on recursion (which you will come across later in 2.2.1) but is essentially using thinking abstractly to decompose (divide) the problem into smaller steps and then doing this again and again until there are such small problems that each one can be solved (conquered) and the solutions combined to solve the original big problem .
Use of abstraction - already covered. - 8What is backtracking?Think of this like planning a route the old fashioned way using a map, knowing that you have a choice of routes.
You start from your base and you work towards your destination. You may have several stopping places. At some point you check your route on the internet and discover that things have gone wrong (road works, collapsed bridge, closed motorway due to crash). You have to go back to the last successful point on the route and start from there.
Sometimes that point will not give you any choices and you have to go further back to the point where you can re-route.
This can be applied to problems such as printer not working, expert systems etc etc. - 9What is data mining?The algorithms of data mining look for patterns and match them (see the weather above) and anomaly detection (used by banks to detect fraudulent activity). They are possible because of the huge databases run by the big organisations and the fast processing and because we give our data away. Loyalty cards and windows 10 now are good examples of data mining however it happends every day all around us.
- 10What is heuristics?Solving a problem which may not give a 100% accurate answer but it will give one that is accurate enough. This is used when a 100% efficient answer may to time consuming.
- 11What is performance modelling?Performance modelling is used when you have too larger a program for a test plan and it's not realistic because of time, money and safety.
You have to model it first and test the models. These do not have to be real 3D models that you can physically move around, a computer model is often used and has become part of computational thinking.
But Performance Modelling relies on the data being fed into it, and that needs to be accurate for the outcome to be accurate. - 12What is pipelining?This, very simply, is where input moves through process to become output and output can be input into the next process.
Information
- Description
- AS - Level Computer Science Flashcards on 2.1 and 2.2.2 Computational Thinking and Computational Method, created by James Middleton on 23/11/2015.
- Created by
- James Middleton
- Views
- 5
- Rating