{"id":564,"date":"2020-04-15T04:36:44","date_gmt":"2020-04-15T04:36:44","guid":{"rendered":"http:\/\/learnlearn.uk\/alevelcs\/?page_id=564"},"modified":"2020-10-08T00:36:56","modified_gmt":"2020-10-08T00:36:56","slug":"abstraction","status":"publish","type":"page","link":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/","title":{"rendered":"Abstraction"},"content":{"rendered":"<div class=\"responsive-tabs\">\n<h2 class=\"tabtitle\">Introduction<\/h2>\n<div class=\"tabcontent\">\n\n<h2>Introduction to abstraction<\/h2>\n<h3>What is abstraction?<\/h3>\n<p>Abstraction in Computer Science is the process of removing irrelevant data, so that only the data required to solve the problem is stored and processed.<\/p>\n<h3>Why do we need abstraction?<\/h3>\n<p>The real world contains an infinitely large amount of information, which means that in any system that develop we have to careful to focus on the information required. Otherwise we would end up with system that would be almost impossible to code or maintain and with data storage requirements far beyond the capacity of the system.<\/p>\n<p>&nbsp;<\/p>\n<h3>How do we abstract problems?<\/h3>\n<p>We approach abstraction in Computer Science in a different way for each project but in general terms it is a good idea to start with the end output &#8211; What do you want the end output of your program to be?<\/p>\n<p>From there you can work backwards &#8211; What processes need to take place in order to that output to be generated? What decisions will your system need to make along the way?<\/p>\n<p>What data will the system need to in order to make that decision?<\/p>\n<p>Using the answer to this question will allow you to work out what data will need to be stored, for how long (does it need to be stored persistently in a data base\/file system or can the data be discarded once processed?) and where.<\/p>\n<p>Finally this will give you an idea of how data might be input into the system(either manually or by the use of sensors) and the level of detail to which the data needs to be stored.<\/p>\n<p>Using all of this you can be up models to represent how the abstracted data will look, for example using an <a href=\"https:\/\/learnlearn.uk\/alevelcs\/entity-relationship-diagrams\/\">Entity Relationship Diagram<\/a> to model the database structure, or using a <a href=\"https:\/\/learnlearn.uk\/alevelcs\/structure-charts\/\">structure chart <\/a>to model the flow of data around a program .<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.101computing.net\/understanding-abstraction\/\">Link to abstraction page<\/a><\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Example 1<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Example 1 &#8211; School Dinners payment system<\/h3>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Example 2<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Example 2 &#8211; First Person Shooter Game<\/h3>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Activity<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Activity &#8211; Class Test Scores System<\/h3>\n\n<\/div><h2 class=\"tabtitle\">Resources<\/h2>\n<div class=\"tabcontent\">\n\n<p>https:\/\/www.tes.com\/teaching-resource\/ks3-computational-thinking-starter-quiz-11864915<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introduction to abstraction What is abstraction? Abstraction in Computer Science is the process of removing irrelevant data, so that only the data required to solve the problem is stored and processed. Why do we need abstraction? The real world contains an infinitely large amount of information, which means that in any system that develop we&hellip;&nbsp;<a href=\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Abstraction<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":70,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Abstraction - A Level Computer Science<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Abstraction - A Level Computer Science\" \/>\n<meta property=\"og:description\" content=\"Introduction to abstraction What is abstraction? Abstraction in Computer Science is the process of removing irrelevant data, so that only the data required to solve the problem is stored and processed. Why do we need abstraction? The real world contains an infinitely large amount of information, which means that in any system that develop we&hellip;&nbsp;Read More &raquo;Abstraction\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/\" \/>\n<meta property=\"og:site_name\" content=\"A Level Computer Science\" \/>\n<meta property=\"article:modified_time\" content=\"2020-10-08T00:36:56+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/\",\"url\":\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/\",\"name\":\"Abstraction - A Level Computer Science\",\"isPartOf\":{\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/#website\"},\"datePublished\":\"2020-04-15T04:36:44+00:00\",\"dateModified\":\"2020-10-08T00:36:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"A Level Computer Science Home\",\"item\":\"https:\/\/learnlearn.uk\/alevelcs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Abstraction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/#website\",\"url\":\"https:\/\/learnlearn.uk\/alevelcs\/\",\"name\":\"A Level Computer Science\",\"description\":\"CIE Specification\",\"publisher\":{\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learnlearn.uk\/alevelcs\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/#organization\",\"name\":\"A Level Computer Science\",\"url\":\"https:\/\/learnlearn.uk\/alevelcs\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2019\/09\/LearnLearnLogowhite.png\",\"contentUrl\":\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2019\/09\/LearnLearnLogowhite.png\",\"width\":710,\"height\":98,\"caption\":\"A Level Computer Science\"},\"image\":{\"@id\":\"https:\/\/learnlearn.uk\/alevelcs\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Abstraction - A Level Computer Science","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/","og_locale":"en_GB","og_type":"article","og_title":"Abstraction - A Level Computer Science","og_description":"Introduction to abstraction What is abstraction? Abstraction in Computer Science is the process of removing irrelevant data, so that only the data required to solve the problem is stored and processed. Why do we need abstraction? The real world contains an infinitely large amount of information, which means that in any system that develop we&hellip;&nbsp;Read More &raquo;Abstraction","og_url":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/","og_site_name":"A Level Computer Science","article_modified_time":"2020-10-08T00:36:56+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/","url":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/","name":"Abstraction - A Level Computer Science","isPartOf":{"@id":"https:\/\/learnlearn.uk\/alevelcs\/#website"},"datePublished":"2020-04-15T04:36:44+00:00","dateModified":"2020-10-08T00:36:56+00:00","breadcrumb":{"@id":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnlearn.uk\/alevelcs\/abstraction\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learnlearn.uk\/alevelcs\/abstraction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"A Level Computer Science Home","item":"https:\/\/learnlearn.uk\/alevelcs\/"},{"@type":"ListItem","position":2,"name":"Abstraction"}]},{"@type":"WebSite","@id":"https:\/\/learnlearn.uk\/alevelcs\/#website","url":"https:\/\/learnlearn.uk\/alevelcs\/","name":"A Level Computer Science","description":"CIE Specification","publisher":{"@id":"https:\/\/learnlearn.uk\/alevelcs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learnlearn.uk\/alevelcs\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/learnlearn.uk\/alevelcs\/#organization","name":"A Level Computer Science","url":"https:\/\/learnlearn.uk\/alevelcs\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/learnlearn.uk\/alevelcs\/#\/schema\/logo\/image\/","url":"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2019\/09\/LearnLearnLogowhite.png","contentUrl":"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2019\/09\/LearnLearnLogowhite.png","width":710,"height":98,"caption":"A Level Computer Science"},"image":{"@id":"https:\/\/learnlearn.uk\/alevelcs\/#\/schema\/logo\/image\/"}}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"learnlearnadmin","author_link":"https:\/\/learnlearn.uk\/alevelcs\/author\/learnlearnadmin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Introduction to abstraction What is abstraction? Abstraction in Computer Science is the process of removing irrelevant data, so that only the data required to solve the problem is stored and processed. Why do we need abstraction? The real world contains an infinitely large amount of information, which means that in any system that develop we&hellip;&nbsp;Read&hellip;","_links":{"self":[{"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/pages\/564"}],"collection":[{"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/comments?post=564"}],"version-history":[{"count":4,"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/pages\/564\/revisions"}],"predecessor-version":[{"id":1020,"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/pages\/564\/revisions\/1020"}],"wp:attachment":[{"href":"https:\/\/learnlearn.uk\/alevelcs\/wp-json\/wp\/v2\/media?parent=564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}