{"id":166,"date":"2022-05-18T11:36:30","date_gmt":"2022-05-18T10:36:30","guid":{"rendered":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/?page_id=166"},"modified":"2022-05-20T20:09:44","modified_gmt":"2022-05-20T19:09:44","slug":"design","status":"publish","type":"page","link":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/design\/","title":{"rendered":"Design"},"content":{"rendered":"<p><span data-contrast=\"auto\">A good design makes implementation easier<\/span><\/p>\n<p><span data-contrast=\"auto\">The design should consider the three factors below:<\/span><\/p>\n<ol>\n<li data-aria-posinset=\"1\" data-aria-level=\"2\"><strong>Design of the user interface\u00a0<\/strong><\/li>\n<li data-aria-posinset=\"2\" data-aria-level=\"2\"><strong>Design of the structure of the software\u00a0<\/strong><\/li>\n<li data-aria-posinset=\"3\" data-aria-level=\"2\"><strong>Design of data flow of variables moving in\/out of sub programs\u00a0<\/strong><\/li>\n<\/ol>\n<h2 style=\"color: red\">Modular<\/h2>\n<p><span data-contrast=\"none\">When a problem is broken down into smaller sub-problems\/components, the task becomes more manageable because each part can be worked on separately. This is called\u202f<\/span><b><span data-contrast=\"none\">modular design<\/span><\/b><span data-contrast=\"none\">.\u202f\u202f<\/span><\/p>\n<p>There are several other advantages to this system:<\/p>\n<ul>\n<li><b><span data-contrast=\"none\">Different components can be worked on simultaneously by separate programmers.<\/span><\/b><span data-contrast=\"none\">\u202f<\/span><\/li>\n<li><b><\/b><b><span data-contrast=\"none\">Components can be tested independently as the software is being built.<\/span><\/b><span data-contrast=\"none\">\u202f<\/span><\/li>\n<li><b><\/b><b><span data-contrast=\"none\">Aids code re-use within a program and\/or other programs.<\/span><\/b><span data-contrast=\"none\">\u202f<\/span><\/li>\n<\/ul>\n<h2 style=\"color: red\">Top Level Design<\/h2>\n<p><span data-contrast=\"auto\">Top level Design should be modular\u00a0<\/span><span data-contrast=\"auto\">\u2013<\/span><span data-contrast=\"auto\">\u00a0allows us to break a bigger program into smaller parts.\u00a0 This allows different modules to be programmed by different people<\/span><\/p>\n<p><span data-contrast=\"auto\">Top level design involves looking at the main problem and breaking it down into smaller more manageable modules<\/span><\/p>\n<p><span data-contrast=\"auto\">This process is repeated, breaking the problems into smaller steps.\u00a0 This is known as\u00a0<\/span><span data-contrast=\"none\"><strong>stepwise refinement<\/strong>.<\/span><\/p>\n<p><strong>Top Level Design<\/strong><\/p>\n<ol>\n<li>\u00a0<span data-contrast=\"auto\">read scores file into arrays<\/span> <span data-contrast=\"auto\">\u00a0 <\/span> <span data-contrast=\"auto\">\u00a0 \u00a0 \u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">get valid username\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">search for user &amp; display score<\/span> <span data-contrast=\"auto\">\u00a0 \u00a0\u00a0<\/span><\/li>\n<\/ol>\n<p><strong>Stepwise Refinements<\/strong><\/p>\n<p><span data-contrast=\"auto\">1.1<\/span> \u00a0<span data-contrast=\"auto\">Open highscores file<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">1.2\u00a0 <\/span><span data-contrast=\"auto\">Start fixed loop for each record<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">1.3\u00a0 \u00a0 \u00a0<\/span> \u00a0<span data-contrast=\"auto\">Get userName\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">1.4<\/span>\u00a0 \u00a0 \u00a0 \u00a0<span data-contrast=\"auto\">Get bestScores\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">1.5<\/span> \u00a0<span data-contrast=\"auto\">End fixed loop<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">1.6<\/span> \u00a0<span data-contrast=\"auto\">Close highscores file<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">2.1<\/span> \u00a0<span data-contrast=\"auto\">Get targetUser from user\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">2.2<\/span> \u00a0<span data-contrast=\"auto\">Start conditional loop while length of targetUser is not between 3 and 8<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">2.3<\/span>\u00a0 \u00a0 \u00a0 \u00a0 <span data-contrast=\"auto\">Display error message<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">2.4<\/span>\u00a0 \u00a0 \u00a0 \u00a0 <span data-contrast=\"auto\">Get targetUser from user<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">2.5\u00a0<\/span> <span data-contrast=\"auto\">End loop<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">3.1<\/span> \u00a0<span data-contrast=\"auto\">found = False<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.2<\/span> \u00a0<span data-contrast=\"auto\">position = 0<\/span> <span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.3<\/span> \u00a0<span data-contrast=\"auto\">Start conditional loop<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.4<\/span>\u00a0 \u00a0 \u00a0 \u00a0 <span data-contrast=\"auto\">If userNames(position) = targetUser Then<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.5\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<\/span> <span data-contrast=\"auto\">found = True<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.6<\/span>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<span data-contrast=\"auto\">Display targetUser(position), bestscores(position)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.7\u00a0 \u00a0 \u00a0 \u00a0<\/span> <span data-contrast=\"auto\">End If<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.8\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span data-contrast=\"auto\">add 1 to position<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.9\u00a0 <\/span><span data-contrast=\"auto\">Repeat until found=true or end of file<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.10<\/span> <span data-contrast=\"auto\">If found=false Then<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.11<\/span>\u00a0 \u00a0 \u00a0 \u00a0 <span data-contrast=\"auto\">display not found message<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><br \/>\n<span data-contrast=\"auto\">3.12<\/span> <span data-contrast=\"auto\">end if<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h2 style=\"color: red\">A Structured Diagram<\/h2>\n<p><span class=\"TextRun SCXW110368631 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW110368631 BCX8\">A <\/span><\/span><span class=\"TextRun SCXW110368631 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW110368631 BCX8\">structure diagram<\/span><\/span><span class=\"TextRun SCXW110368631 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW110368631 BCX8\"> is one notation that can be used to represent the top down design of the software specification.\u00a0 It is a highly visual way of representing the <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW110368631 BCX8\">top level<\/span><span class=\"NormalTextRun SCXW110368631 BCX8\"> components and their subsequent refinement &#8211; making the structure and hierarchy of the program components very clear.\u00a0<\/span><\/span><span class=\"EOP SCXW110368631 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-169\" src=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/18144046\/Screenshot-2022-05-18-143954-300x278.png\" alt=\"\" width=\"519\" height=\"481\" srcset=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/18144046\/Screenshot-2022-05-18-143954-300x278.png 300w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/18144046\/Screenshot-2022-05-18-143954.png 484w\" sizes=\"auto, (max-width: 519px) 100vw, 519px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-172\" src=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/18144606\/strucured-diagram-220x300.png\" alt=\"\" width=\"517\" height=\"705\" srcset=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/18144606\/strucured-diagram-220x300.png 220w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/18144606\/strucured-diagram.png 385w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/p>\n<h2 style=\"color: red\">Data Flow<\/h2>\n<p><span data-contrast=\"none\">The\u202fdata flow is\u202frequired\u202fin the design to:\u200b<\/span><\/p>\n<ul style=\"font-weight: 400\">\n<li data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">work\u202fout how the parameters should be passed between\u202fthe main program and any sub-programs\u202f\u200b<\/span><\/li>\n<li data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"none\">and\u202fbetween\u202fthe sub-programs themselves<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\"><strong>Dataflow<\/strong> shows the information that must flow In or Out from the sub-programs.<\/span><\/p>\n<p><strong>The top level design identifies the main components required as well as the data flow in and out of components.<\/strong> Notice how arrays are denoted with brackets ().<\/p>\n<ol>\n<li><span data-contrast=\"none\"> Get results\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<strong>\u00a0<\/strong><\/span><strong>(OUT: pupil name(), prelim mark(), course mark())<\/strong><\/li>\n<li><span data-contrast=\"none\"> Calculate percentage\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><strong>(IN: prelim mark(), course mark())\u00a0 \u00a0<span style=\"font-size: 1rem\" data-contrast=\"none\">(OUT: percentage)<\/span><span style=\"font-size: 1rem\">\u00a0<\/span><\/strong><\/li>\n<li><span data-contrast=\"none\">Find position of pupil with top mark\u00a0\u00a0\u00a0<strong>\u00a0<\/strong><\/span><strong>(IN: percentage) (Out: Top position)<\/strong><\/li>\n<li><span style=\"font-size: 1rem\" data-contrast=\"none\">Display pupil with top mark\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>\u00a0\u00a0<\/strong><\/span><strong style=\"font-size: 1rem\">(IN: pupil name(), Top position)\u00a0<\/strong><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-180\" src=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200520\/Screenshot-2022-05-20-200215-300x139.jpg\" alt=\"\" width=\"665\" height=\"308\" srcset=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200520\/Screenshot-2022-05-20-200215-300x139.jpg 300w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200520\/Screenshot-2022-05-20-200215-1024x475.jpg 1024w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200520\/Screenshot-2022-05-20-200215-768x356.jpg 768w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200520\/Screenshot-2022-05-20-200215-624x289.jpg 624w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200520\/Screenshot-2022-05-20-200215.jpg 1066w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/p>\n<p><strong><span class=\"TextRun SCXW124689801 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW124689801 BCX8\">Note:\u00a0 The structured diagram illustrated the flow of data in and out of each procedure\/function<\/span><\/span><span class=\"EOP SCXW124689801 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/strong><\/p>\n<h2 style=\"color: red\">Wireframe<\/h2>\n<p><span data-contrast=\"auto\">The <\/span><b><span data-contrast=\"auto\">user interface<\/span><\/b> <b><span data-contrast=\"auto\">(UI)<\/span><\/b><span data-contrast=\"auto\"> provides the means by which the user can <\/span><b><span data-contrast=\"auto\">interact<\/span><\/b><span data-contrast=\"auto\"> any computer system.\u00a0 A key selling point of software is its UI since it determines its <\/span><b><span data-contrast=\"auto\">usability<\/span><\/b><span data-contrast=\"auto\">.\u00a0 If the UI is poor, then it is more difficult for a user to access the software&#8217;s features and use it to its full potential.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Wireframes are one of the techniques used for UI design. A <\/span><b><span data-contrast=\"auto\">wireframe<\/span><\/b><span data-contrast=\"auto\"> is a visual outline that represents a program or website interface.\u00a0 It is created at an early stage in the development of an application to give the client and developers a clear idea of how the finished product will look and function. It should show how users will interact with the program in terms of input and output.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-186\" src=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200913\/Screenshot-2022-05-20-200855-211x300.png\" alt=\"\" width=\"474\" height=\"674\" srcset=\"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200913\/Screenshot-2022-05-20-200855-211x300.png 211w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200913\/Screenshot-2022-05-20-200855-721x1024.png 721w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200913\/Screenshot-2022-05-20-200855-768x1091.png 768w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200913\/Screenshot-2022-05-20-200855-624x887.png 624w, https:\/\/blogs.glowscotland.org.uk\/glowblogs\/public\/phshighercomputingscience\/uploads\/sites\/10042\/2022\/05\/20200913\/Screenshot-2022-05-20-200855.png 808w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/p>\n<p><span class=\"TextRun SCXW13990074 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW13990074 BCX8\">Wireframes can be as simple as a rough sketch or can be a detailed design showing colour combinations and images.\u00a0\u00a0\u00a0<\/span><\/span><span class=\"EOP SCXW13990074 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A good design makes implementation easier The design should consider the three factors below: Design of the user interface\u00a0 Design of the structure of the software\u00a0 Design of data flow of variables moving in\/out of sub programs\u00a0 Modular When a problem is broken down into smaller sub-problems\/components, the task becomes more manageable because each part [&hellip;]<\/p>\n","protected":false},"author":79984,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-166","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/users\/79984"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/comments?post=166"}],"version-history":[{"count":10,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/166\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/166\/revisions\/187"}],"wp:attachment":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/media?parent=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}