{"id":61,"date":"2023-06-11T15:10:16","date_gmt":"2023-06-11T15:10:16","guid":{"rendered":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/?page_id=61"},"modified":"2023-06-11T15:56:15","modified_gmt":"2023-06-11T15:56:15","slug":"abstraction","status":"publish","type":"page","link":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/","title":{"rendered":"Abstraction"},"content":{"rendered":"<div class=\"responsive-tabs\">\n<h2 class=\"tabtitle\">Introduction<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Introduction to Abstraction<\/h3>\n<p>Abstraction is the process of simplifying complex concepts or systems by focusing on the most important aspects while hiding unnecessary details. It involves creating higher-level representations or models that capture the essential elements or behaviors, allowing for easier understanding, communication, and problem-solving.<\/p>\n<p>Abstraction in programming can be achieved through a number of techniques including:<\/p>\n<ul>\n<li>Data Abstraction<\/li>\n<li>Encapsulation<\/li>\n<li>Function Abstraction<\/li>\n<li>Modularisation<\/li>\n<\/ul>\n\n<\/div><h2 class=\"tabtitle\">Data Abstraction<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Data Abstraction<\/h3>\n<p>Data abstraction involves representing complex data structures or entities in a simplified manner by encapsulating them into classes or objects. It allows programmers to define abstract data types (ADTs) that hide the implementation details and expose only essential operations or behaviors.<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>Python contains a number of in-built data structures, such as lists and dictionaries, that abstract away the unnecessary details and complexity. In the example below we are only storing the name of the animal, because all other details are irrelevant.<\/p>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff; overflow: auto; width: auto; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\">animals <span style=\"color: #333333;\">=<\/span> []\r\nanimals<span style=\"color: #333333;\">.<\/span>append(<span style=\"background-color: #fff0f0;\">\"dog\"<\/span>)\r\nanimals<span style=\"color: #333333;\">.<\/span>append(<span style=\"background-color: #fff0f0;\">\"cat\"<\/span>)\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(animals)\r\n<\/pre>\n<\/div>\n<p>The specific details of the implementation are hidden &#8211; for example we don&#8217;t know (and don&#8217;t care) where in memory the data is stored, or how it is encoded.<\/p>\n\n<\/div><h2 class=\"tabtitle\">Encapsulation<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Encapsulation<\/h3>\n<p>Encapsulation is the practice of bundling data and related operations together into a single unit, typically known as a class. It allows for information hiding, where the internal details of an object or module are inaccessible to external entities, promoting modularity and preventing unintended dependencies.<\/p>\n<p><strong>Example<\/strong><\/p>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff; overflow: auto; width: auto; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #008800; font-weight: bold;\">class<\/span> <span style=\"color: #bb0066; font-weight: bold;\">Animal<\/span>:\r\n    <span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">__init__<\/span>(<span style=\"color: #007020;\">self<\/span>, name):\r\n        <span style=\"color: #007020;\">self<\/span><span style=\"color: #333333;\">.<\/span>name <span style=\"color: #333333;\">=<\/span> name\r\n    \r\n    <span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">make_sound<\/span>(<span style=\"color: #007020;\">self<\/span>):\r\n        <span style=\"color: #008800; font-weight: bold;\">pass<\/span>\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">class<\/span> <span style=\"color: #bb0066; font-weight: bold;\">Dog<\/span>(Animal):\r\n    <span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">make_sound<\/span>(<span style=\"color: #007020;\">self<\/span>):\r\n        <span style=\"color: #008800; font-weight: bold;\">return<\/span> <span style=\"background-color: #fff0f0;\">\"Woof!\"<\/span>\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">class<\/span> <span style=\"color: #bb0066; font-weight: bold;\">Cat<\/span>(Animal):\r\n    <span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">make_sound<\/span>(<span style=\"color: #007020;\">self<\/span>):\r\n        <span style=\"color: #008800; font-weight: bold;\">return<\/span> <span style=\"background-color: #fff0f0;\">\"Meow!\"<\/span>\r\n\r\n<span style=\"color: #888888;\"># Creating objects of the Dog and Cat classes<\/span>\r\ndog <span style=\"color: #333333;\">=<\/span> Dog(<span style=\"background-color: #fff0f0;\">\"Buddy\"<\/span>)\r\ncat <span style=\"color: #333333;\">=<\/span> Cat(<span style=\"background-color: #fff0f0;\">\"Whiskers\"<\/span>)\r\n\r\n<span style=\"color: #888888;\"># Accessing the make_sound method of the objects<\/span>\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(dog<span style=\"color: #333333;\">.<\/span>name <span style=\"color: #333333;\">+<\/span> <span style=\"background-color: #fff0f0;\">\": \"<\/span> <span style=\"color: #333333;\">+<\/span> dog<span style=\"color: #333333;\">.<\/span>make_sound())\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(cat<span style=\"color: #333333;\">.<\/span>name <span style=\"color: #333333;\">+<\/span> <span style=\"background-color: #fff0f0;\">\": \"<\/span> <span style=\"color: #333333;\">+<\/span> cat<span style=\"color: #333333;\">.<\/span>make_sound())\r\n<\/pre>\n<\/div>\n\n<\/div><h2 class=\"tabtitle\">Functions<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Function Abstraction<\/h3>\n<p>Function abstraction involves encapsulating a set of instructions or operations into a function or method. It allows for code reuse, improved readability, and separation of concerns by providing a named abstraction for a specific task or behavior.<br \/>\n<!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff; overflow: auto; width: auto; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #008800; font-weight: bold;\">import<\/span> <span style=\"color: #0e84b5; font-weight: bold;\">math<\/span>\r\n\r\n<span style=\"color: #888888;\"># Abstraction for calculating the area of different shapes<\/span>\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">calculate_area<\/span>(shape, <span style=\"color: #333333;\">*<\/span>args):\r\n    <span style=\"color: #008800; font-weight: bold;\">if<\/span> shape <span style=\"color: #333333;\">==<\/span> <span style=\"background-color: #fff0f0;\">\"circle\"<\/span>:\r\n        radius <span style=\"color: #333333;\">=<\/span> args[<span style=\"color: #0000dd; font-weight: bold;\">0<\/span>]\r\n        area <span style=\"color: #333333;\">=<\/span> math<span style=\"color: #333333;\">.<\/span>pi <span style=\"color: #333333;\">*<\/span> radius <span style=\"color: #333333;\">**<\/span> <span style=\"color: #0000dd; font-weight: bold;\">2<\/span>\r\n        <span style=\"color: #008800; font-weight: bold;\">return<\/span> area\r\n    <span style=\"color: #008800; font-weight: bold;\">elif<\/span> shape <span style=\"color: #333333;\">==<\/span> <span style=\"background-color: #fff0f0;\">\"rectangle\"<\/span>:\r\n        length <span style=\"color: #333333;\">=<\/span> args[<span style=\"color: #0000dd; font-weight: bold;\">0<\/span>]\r\n        width <span style=\"color: #333333;\">=<\/span> args[<span style=\"color: #0000dd; font-weight: bold;\">1<\/span>]\r\n        area <span style=\"color: #333333;\">=<\/span> length <span style=\"color: #333333;\">*<\/span> width\r\n        <span style=\"color: #008800; font-weight: bold;\">return<\/span> area\r\n    <span style=\"color: #008800; font-weight: bold;\">elif<\/span> shape <span style=\"color: #333333;\">==<\/span> <span style=\"background-color: #fff0f0;\">\"triangle\"<\/span>:\r\n        base <span style=\"color: #333333;\">=<\/span> args[<span style=\"color: #0000dd; font-weight: bold;\">0<\/span>]\r\n        height <span style=\"color: #333333;\">=<\/span> args[<span style=\"color: #0000dd; font-weight: bold;\">1<\/span>]\r\n        area <span style=\"color: #333333;\">=<\/span> <span style=\"color: #6600ee; font-weight: bold;\">0.5<\/span> <span style=\"color: #333333;\">*<\/span> base <span style=\"color: #333333;\">*<\/span> height\r\n        <span style=\"color: #008800; font-weight: bold;\">return<\/span> area\r\n    <span style=\"color: #008800; font-weight: bold;\">else<\/span>:\r\n        <span style=\"color: #008800; font-weight: bold;\">return<\/span> <span style=\"color: #007020;\">None<\/span>\r\n\r\n<span style=\"color: #888888;\"># Calculating the areas of different shapes<\/span>\r\n\r\ncircle_area <span style=\"color: #333333;\">=<\/span> calculate_area(<span style=\"background-color: #fff0f0;\">\"circle\"<\/span>, <span style=\"color: #0000dd; font-weight: bold;\">5<\/span>)\r\nrectangle_area <span style=\"color: #333333;\">=<\/span> calculate_area(<span style=\"background-color: #fff0f0;\">\"rectangle\"<\/span>, <span style=\"color: #0000dd; font-weight: bold;\">4<\/span>, <span style=\"color: #0000dd; font-weight: bold;\">6<\/span>)\r\ntriangle_area <span style=\"color: #333333;\">=<\/span> calculate_area(<span style=\"background-color: #fff0f0;\">\"triangle\"<\/span>, <span style=\"color: #0000dd; font-weight: bold;\">3<\/span>, <span style=\"color: #0000dd; font-weight: bold;\">8<\/span>)\r\n\r\n<span style=\"color: #888888;\"># Displaying the areas<\/span>\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(<span style=\"background-color: #fff0f0;\">\"Circle area:\"<\/span>, circle_area)\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(<span style=\"background-color: #fff0f0;\">\"Rectangle area:\"<\/span>, rectangle_area)\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(<span style=\"background-color: #fff0f0;\">\"Triangle area:\"<\/span>, triangle_area)\r\n<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Modularisation<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Abstraction through Modularisation<\/h3>\n<p>Modularization involves breaking down a program into smaller, independent modules or components. Each module focuses on a specific task or responsibility, hiding the internal details and providing well-defined interfaces for interaction with other modules. This promotes code reusability, maintainability, and scalability.<\/p>\n<p><em>circle.py<\/em><\/p>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff; overflow: auto; width: auto; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #008800; font-weight: bold;\">import<\/span> <span style=\"color: #0e84b5; font-weight: bold;\">math<\/span>\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">calculate_area<\/span>(radius):\r\n    <span style=\"color: #008800; font-weight: bold;\">return<\/span> math<span style=\"color: #333333;\">.<\/span>pi <span style=\"color: #333333;\">*<\/span> radius <span style=\"color: #333333;\">**<\/span> <span style=\"color: #0000dd; font-weight: bold;\">2<\/span>\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">def<\/span> <span style=\"color: #0066bb; font-weight: bold;\">calculate_circumference<\/span>(radius):\r\n    <span style=\"color: #008800; font-weight: bold;\">return<\/span> <span style=\"color: #0000dd; font-weight: bold;\">2<\/span> <span style=\"color: #333333;\">*<\/span> math<span style=\"color: #333333;\">.<\/span>pi <span style=\"color: #333333;\">*<\/span> radius\r\n<\/pre>\n<\/div>\n<p><em>main.py<\/em><\/p>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff; overflow: auto; width: auto; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #008800; font-weight: bold;\">from<\/span> <span style=\"color: #0e84b5; font-weight: bold;\">circle<\/span> <span style=\"color: #008800; font-weight: bold;\">import<\/span> calculate_area, calculate_circumference\r\n\r\nradius <span style=\"color: #333333;\">=<\/span> <span style=\"color: #007020;\">float<\/span>(<span style=\"color: #007020;\">input<\/span>(<span style=\"background-color: #fff0f0;\">\"Enter the radius of the circle: \"<\/span>))\r\n\r\narea <span style=\"color: #333333;\">=<\/span> calculate_area(radius)\r\ncircumference <span style=\"color: #333333;\">=<\/span> calculate_circumference(radius)\r\n\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(<span style=\"background-color: #fff0f0;\">\"Area of the circle:\"<\/span>, area)\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(<span style=\"background-color: #fff0f0;\">\"Circumference of the circle:\"<\/span>, circumference)\r\n<\/pre>\n<\/div>\n<p>In the example above the code responsible for calculating the area and circumference of a circle is moved to its own module. This makes the main.py code more readable as well as providing other benefits.<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introduction to Abstraction Abstraction is the process of simplifying complex concepts or systems by focusing on the most important aspects while hiding unnecessary details. It involves creating higher-level representations or models that capture the essential elements or behaviors, allowing for easier understanding, communication, and problem-solving. Abstraction in programming can be achieved through a number of&hellip;&nbsp;<a href=\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/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":"off","neve_meta_content_width":100,"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 - Edexcel iGCSE 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\/edexcel-igcse-computer-science\/abstraction\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Abstraction - Edexcel iGCSE Computer Science\" \/>\n<meta property=\"og:description\" content=\"Introduction to Abstraction Abstraction is the process of simplifying complex concepts or systems by focusing on the most important aspects while hiding unnecessary details. It involves creating higher-level representations or models that capture the essential elements or behaviors, allowing for easier understanding, communication, and problem-solving. Abstraction in programming can be achieved through a number of&hellip;&nbsp;Read More &raquo;Abstraction\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/\" \/>\n<meta property=\"og:site_name\" content=\"Edexcel iGCSE Computer Science\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-11T15:56:15+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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/\",\"url\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/\",\"name\":\"Abstraction - Edexcel iGCSE Computer Science\",\"isPartOf\":{\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/#website\"},\"datePublished\":\"2023-06-11T15:10:16+00:00\",\"dateModified\":\"2023-06-11T15:56:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Abstraction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/#website\",\"url\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/\",\"name\":\"Edexcel iGCSE Computer Science\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Abstraction - Edexcel iGCSE 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\/edexcel-igcse-computer-science\/abstraction\/","og_locale":"en_GB","og_type":"article","og_title":"Abstraction - Edexcel iGCSE Computer Science","og_description":"Introduction to Abstraction Abstraction is the process of simplifying complex concepts or systems by focusing on the most important aspects while hiding unnecessary details. It involves creating higher-level representations or models that capture the essential elements or behaviors, allowing for easier understanding, communication, and problem-solving. Abstraction in programming can be achieved through a number of&hellip;&nbsp;Read More &raquo;Abstraction","og_url":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/","og_site_name":"Edexcel iGCSE Computer Science","article_modified_time":"2023-06-11T15:56:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/","url":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/","name":"Abstraction - Edexcel iGCSE Computer Science","isPartOf":{"@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/#website"},"datePublished":"2023-06-11T15:10:16+00:00","dateModified":"2023-06-11T15:56:15+00:00","breadcrumb":{"@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/abstraction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/"},{"@type":"ListItem","position":2,"name":"Abstraction"}]},{"@type":"WebSite","@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/#website","url":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/","name":"Edexcel iGCSE Computer Science","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"learnlearnadmin","author_link":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/author\/learnlearnadmin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Introduction to Abstraction Abstraction is the process of simplifying complex concepts or systems by focusing on the most important aspects while hiding unnecessary details. It involves creating higher-level representations or models that capture the essential elements or behaviors, allowing for easier understanding, communication, and problem-solving. Abstraction in programming can be achieved through a number of&hellip;&nbsp;Read&hellip;","_links":{"self":[{"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages\/61"}],"collection":[{"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":3,"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages\/61\/revisions"}],"predecessor-version":[{"id":65,"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages\/61\/revisions\/65"}],"wp:attachment":[{"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/media?parent=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}