{"id":54,"date":"2023-06-11T11:15:47","date_gmt":"2023-06-11T11:15:47","guid":{"rendered":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/?page_id=54"},"modified":"2023-06-11T15:02:08","modified_gmt":"2023-06-11T15:02:08","slug":"decomposition","status":"publish","type":"page","link":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/","title":{"rendered":"Decomposition"},"content":{"rendered":"<div class=\"responsive-tabs\">\n<h2 class=\"tabtitle\">Introduction<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Decomposition of programming problems<\/h3>\n<p>Decomposition of programming programming problems is about breaking the program down into smaller component parts. The process consists of the following components\/steps:<\/p>\n<p><strong>1. Understand the problem<\/strong><\/p>\n<p>Identify the main problem or task that needs to be addressed. This is the high-level objective that the program should achieve.<\/p>\n<p><strong>2. Break down the primary problem<\/strong><\/p>\n<p>Break down the primary problem into smaller, more manageable subproblems. Identify the key components or functionalities that need to be implemented to solve the primary problem.<\/p>\n<p><strong>3. Break down the subproblems<\/strong><\/p>\n<p>For each subproblem identified in the previous step, further break it down into smaller subproblems. Continue this process until you reach a level where each subproblem is easily solvable.<\/p>\n<p><strong>4. Solve the subproblems<\/strong><\/p>\n<p>Start solving the subproblems one by one, beginning with the lowest-level subproblems. Implement the necessary logic, algorithms, or functions to address each subproblem individually.<\/p>\n<p><strong>5. Integrate and test<\/strong><\/p>\n<p>As you solve the subproblems, gradually integrate the solutions together. Test the program as a whole to ensure that the subproblems work together correctly and achieve the desired outcome.<\/p>\n\n<\/div><h2 class=\"tabtitle\">Stepwise Refinement<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Stepwise Refinement<\/h3>\n<p>One method of decomposition is the method known as stepwise refinement, a problem-solving technique that involves progressively breaking down a complex problem into simpler and more manageable subproblems. Each subproblem is further refined and detailed until it can be easily solved or implemented.<\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/LcjGW9SUuV0\" width=\"900\" height=\"600\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span><\/iframe><\/p>\n\n<\/div><h2 class=\"tabtitle\">Structure Diagrams<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Structure Diagrams<\/h3>\n<p>When breaking down problems using stepwise refinement it is often useful to use a structure diagram during the process.<\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/F6f6W7S9Y6k\" width=\"900\" height=\"600\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n\n<\/div><h2 class=\"tabtitle\">Resources<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Resources<\/h3>\n<p><a href=\"https:\/\/www.aicurriculum.co.uk\/resources\/4d6083d3-dcea-4b9d-8624-cfb4c0723c72\">Teaching, Learning &amp; Revision Resources<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Decomposition of programming problems Decomposition of programming programming problems is about breaking the program down into smaller component parts. The process consists of the following components\/steps: 1. Understand the problem Identify the main problem or task that needs to be addressed. This is the high-level objective that the program should achieve. 2. Break down the&hellip;&nbsp;<a href=\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Decomposition<\/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>Decomposition - 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\/decomposition\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Decomposition - Edexcel iGCSE Computer Science\" \/>\n<meta property=\"og:description\" content=\"Decomposition of programming problems Decomposition of programming programming problems is about breaking the program down into smaller component parts. The process consists of the following components\/steps: 1. Understand the problem Identify the main problem or task that needs to be addressed. This is the high-level objective that the program should achieve. 2. Break down the&hellip;&nbsp;Read More &raquo;Decomposition\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/\" \/>\n<meta property=\"og:site_name\" content=\"Edexcel iGCSE Computer Science\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-11T15:02:08+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\/edexcel-igcse-computer-science\/decomposition\/\",\"url\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/\",\"name\":\"Decomposition - Edexcel iGCSE Computer Science\",\"isPartOf\":{\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/#website\"},\"datePublished\":\"2023-06-11T11:15:47+00:00\",\"dateModified\":\"2023-06-11T15:02:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Decomposition\"}]},{\"@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":"Decomposition - 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\/decomposition\/","og_locale":"en_GB","og_type":"article","og_title":"Decomposition - Edexcel iGCSE Computer Science","og_description":"Decomposition of programming problems Decomposition of programming programming problems is about breaking the program down into smaller component parts. The process consists of the following components\/steps: 1. Understand the problem Identify the main problem or task that needs to be addressed. This is the high-level objective that the program should achieve. 2. Break down the&hellip;&nbsp;Read More &raquo;Decomposition","og_url":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/","og_site_name":"Edexcel iGCSE Computer Science","article_modified_time":"2023-06-11T15:02:08+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\/edexcel-igcse-computer-science\/decomposition\/","url":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/","name":"Decomposition - Edexcel iGCSE Computer Science","isPartOf":{"@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/#website"},"datePublished":"2023-06-11T11:15:47+00:00","dateModified":"2023-06-11T15:02:08+00:00","breadcrumb":{"@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/decomposition\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/"},{"@type":"ListItem","position":2,"name":"Decomposition"}]},{"@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":"Decomposition of programming problems Decomposition of programming programming problems is about breaking the program down into smaller component parts. The process consists of the following components\/steps: 1. Understand the problem Identify the main problem or task that needs to be addressed. This is the high-level objective that the program should achieve. 2. Break down the&hellip;&nbsp;Read&hellip;","_links":{"self":[{"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages\/54"}],"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=54"}],"version-history":[{"count":5,"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages\/54\/revisions"}],"predecessor-version":[{"id":60,"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/pages\/54\/revisions\/60"}],"wp:attachment":[{"href":"https:\/\/learnlearn.uk\/edexcel-igcse-computer-science\/wp-json\/wp\/v2\/media?parent=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}