Transcript for:
Understanding the Concept of Abstraction SLR 18

This is the first in a series of four videos where we talk about thinking abstractly. In this video we discuss the nature of abstraction. So abstraction can seem like an odd concept to get your head around at first. However it's really very simple. Abstraction is the process of separating ideas from reality. In other words, hiding unnecessary detail and showing details that are important in context. Here's an abstract painting of a mountain landscape. The artist has chosen a specific approach for this painting, choosing to reveal several details while exaggerating others to achieve the desired visual style. When it comes to designing computer systems, software and interfaces, abstraction often uses similar themes, such as symbols, legends, colour coding and use of icons. These are all methods of accentuating real life features. Icons for example are a great way of using abstraction. They can be used to suggest a function or process in a simple, efficient and familiar way. We see abstraction every day, it's not confined to the world of computer science. All three of these images are clearly of a cat. The only difference is the level of abstraction used. In the middle image, some details have been removed and others highlighted to create a cartoon style abstraction. Almost all details have been removed in the rightmost version to create the black silhouette version using abstraction. For the remainder of these videos, we're going to be using an example of London and various different map styles to cover abstraction in more detail. Maps are a great example of abstraction, but remember the concept has far wider reaching uses. Having watched this video you should be able to answer the following key question. What do we mean by the term abstraction? To help get your head around everything to do with computational thinking we have a freely available downloadable cheat sheet. It's got two sides to it. There's a basic poster that reminds you at a top level what the five different strands are. And on the back there's a much more detailed explanation. This resource is completely free from student.craiganddave.org. Just scroll down and select the section that says A Level Revision. You'll then see a section called OCR, AS and A Level and there's a number of cheat sheets in there. including two versions of the computation one. Just click download to get the zip file. So that was a brief intro to abstraction. Now the next section is going to go slightly beyond the specs. You don't need to take any notes but if you've got just a minute extra we suggest you watch it. So as we discussed, abstraction is the process of separating ideas from reality and this is all OCR requires you to know for the exam. However in the field of computer science There are more specific subcategories of abstraction, each with its own purpose, within the context of computer science. We have procedural, functional, data and problem extraction. We're just very briefly going to look at them now. So if we start with procedural abstraction, this is abstracting the actual data values used in any particular given computation as part of a computational pattern or method. So we end it with a procedure. So instead of example for having 1 plus 2 equals 3, we'd now have A plus B equals C. That's a procedural abstraction. Now the result of a procedural abstraction is a procedure. It's not a function. With many procedures, as we know, we can supply them with inputs and then they provide an output. We've now become a function. Functions therefore require a further abstraction. which now disregards the internal computational method. This is functional abstraction, where we only care about what goes in and what comes out, not what happens in the middle. Data abstraction is a methodology that isolates how a compound data object is used from the actual details and internal workings of how it's really constructed under the hood. And finally, we have what's known as problem abstraction or reduction. This is removing details from a problem until you can represent that problem in a way that is possible to solve. effectively because the problem has now been reduced to one which has already been solved in the past. Now a lot of this may seem a little bit wishy-washy and obviously we're not going into huge amounts of detail here, we're just making you aware of these different forms of abstraction in computer science. If you do have some interest in them, we have a series of videos that go into these in more detail in our AQA series. Thank you.