AQA A level Computer Science Teaching and Learning Resources Chapter 17 – Abstraction and automation TASK QUESTIONS (WITH ANSWERS) 1 From the following facts, use logical reasoning to determine further facts that you know to be true: a) every cat eats mice b) some animals that eat mice are fat c) all mice carry diseases d) mice can run fast. Cats are able to catch mice Cats are not necessarily fat Some cats are fat. Cats can run fast. 2 You are asked to work out the timetable for all the students in the sixth form. a) What factors do you need to take into account in order to solve this problem? The number of students, the number of teachers, how many students have selected each subject, how many teachers there are for that subject, how many students there can be in one group, what combination of subjects each student has taken, how long lessons last, what rooms are available. b) Give an example of representational abstraction and abstraction by category/generalisation in this scenario. An example of representational abstraction would be to look at the problem from the human perspective. In this case what we need appears quite simple: put students into classes, allocate a teacher and a room. An example of abstraction by category would be to look at the main groups or entities in the problem: Students, teachers, subjects and rooms. c) Explain how you might decompose the problem. You would then need to break each of these down into ever smaller units. For example, with students you could then look at their individual choices, how many hours a week they are in lessons. For teachers, you could look at what they teach, how many hours they have each week. For subjects, you can look at how many students have opted for that choice, and what teachers are available to teach it. 3 Define the following terms: a) Procedural abstraction Procedural abstraction is the concept that all solutions can be broken down into a series of procedures or subroutines. AQA A level Computer Science © Hodder & Stoughton Limited 2015 AQA A level Computer Science Teaching and Learning Resources b) c) d) Functional abstraction Similar to procedural abstraction, functional abstraction focuses on common functions that can be used to solve problems. Data abstraction Data abstraction is the process of organising and structuring data in a way that effectively hides the complexity of the data. Problem abstraction Problem abstraction is the process of reducing a problem down to its simplest components until you find a way of solving it. 4 Define information hiding and give an example of where it might be used. Information hiding is similar to the concept of data abstraction, where the complexity of how a system works and how data is stored are hidden. The Satnav example shows how complex data requirements are hidden from the user who is simply presented with a list of directions. 5 Create a specification for a model to simulate any or all of the following scenarios: a) the likelihood of a particular team winning a competition b) the speed at which a concert hall could be evacuated in the event of a fire alarm c) how many people and households there will be in the UK in 2050. You could approach this in a number of ways, but you need to think about what the main factors are that define the problem and how these can be broken down using abstraction to enable you to create a solution. For example, with part a) you could look at who the team members are and what their performance has been recently, how the team performed last year, their current form; where the games are being played, what other competitions the team is taking part in that might affect their performance, availability of key players, how many games they play at home or away, their record against other teams, the sequence in which the games take place, and so on. AQA A level Computer Science © Hodder & Stoughton Limited 2015
© Copyright 2025 Paperzz