[{"data":1,"prerenderedAt":2084},["ShallowReactive",2],{"i-kinnu:logo":3,"i-kinnu:origami-folding":8,"pathway-technology-how-computers-work":12,"i-lucide:chevron-right":2079,"i-lucide:tag":2082},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,27,false,"\u003Cg fill=\"none\">\u003Cpath d=\"M0.046875 1.05555C0.046875 1.03541 0.048197 1.01579 0.0507438 0.996728C0.0987149 0.438619 0.586845 0 1.18194 0H25.4398C26.451 0 26.9575 1.171 26.2424 1.85585L15.7301 11.9243L1.31574 0.903476C1.17475 0.79568 1.01137 0.761884 0.859586 0.784111L26.2936 25.1441C27.0086 25.829 26.5022 27 25.4909 27H1.18194C0.555061 27 0.046875 26.5133 0.046875 25.9129V1.05555Z\" fill=\"currentColor\"/>\u003C/g>",{"left":4,"top":4,"width":9,"height":10,"rotate":4,"vFlip":6,"hFlip":6,"body":11},1000,236,"\u003Cg fill=\"none\">\u003Cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n    d=\"M193.68 38.2238C195.994 38.2238 197.87 40.0989 197.87 42.412V231.812C197.87 234.125 195.994 236 193.68 236H4.19013C1.87603 236 2.02305e-07 234.125 0 231.812V42.412C-2.02305e-07 40.0989 1.87603 38.2238 4.19013 38.2238H193.68ZM111.76 89.0072C111.685 87.9474 110.572 87.2905 109.608 87.7376L96.8872 93.641C95.7786 94.1554 95.702 95.7016 96.7545 96.3225L101.579 99.167C94.7045 109.365 90.5733 122.892 90.5732 137.642C90.5733 154.323 95.8569 169.439 104.416 179.945C105.301 181.032 106.9 181.196 107.987 180.311C109.075 179.426 109.238 177.828 108.353 176.741C100.621 167.25 95.6522 153.305 95.6521 137.642C95.6522 123.661 99.6138 111.051 105.963 101.754L110.456 104.403C111.508 105.024 112.826 104.21 112.74 102.991L111.76 89.0072ZM9.63194 136.286C9.14864 136.286 8.75684 136.678 8.75684 137.161C8.7569 137.644 9.14868 138.035 9.63194 138.035H17.2161C17.6993 138.035 18.0912 137.644 18.0912 137.161C18.0912 136.678 17.6994 136.286 17.2161 136.286H9.63194ZM22.6813 136.286C22.198 136.286 21.8062 136.678 21.8062 137.161C21.8063 137.644 22.1981 138.035 22.6813 138.035H30.2655C30.7487 138.035 31.1406 137.644 31.1406 137.161C31.1406 136.678 30.7488 136.286 30.2655 136.286H22.6813ZM35.7464 136.286C35.2631 136.286 34.8713 136.678 34.8713 137.161C34.8713 137.644 35.2631 138.035 35.7464 138.035H44.4973C44.9805 138.035 45.3724 137.644 45.3724 137.161C45.3724 136.678 44.9806 136.286 44.4973 136.286H35.7464ZM49.9977 136.286C49.5144 136.286 49.1226 136.678 49.1226 137.161C49.1226 137.644 49.5144 138.035 49.9977 138.035H57.5819C58.0651 138.035 58.4569 137.644 58.457 137.161C58.457 136.678 58.0651 136.286 57.5819 136.286H49.9977ZM63.0783 136.286C62.595 136.286 62.2032 136.678 62.2032 137.161C62.2033 137.644 62.5951 138.035 63.0783 138.035H70.6625C71.1457 138.035 71.5375 137.644 71.5376 137.161C71.5376 136.678 71.1457 136.286 70.6625 136.286H63.0783ZM76.1277 136.286C75.6444 136.286 75.2526 136.678 75.2526 137.161C75.2527 137.644 75.6445 138.035 76.1277 138.035H83.7119C84.1951 138.035 84.5869 137.644 84.587 137.161C84.587 136.678 84.1951 136.286 83.7119 136.286H76.1277ZM102.266 136.286C101.782 136.286 101.39 136.678 101.39 137.161C101.391 137.644 101.782 138.035 102.266 138.035H109.85C110.333 138.035 110.725 137.644 110.725 137.161C110.725 136.678 110.333 136.286 109.85 136.286H102.266ZM115.338 136.286C114.855 136.286 114.463 136.678 114.463 137.161C114.463 137.644 114.855 138.035 115.338 138.035H122.923C123.406 138.035 123.798 137.644 123.798 137.161C123.798 136.678 123.406 136.286 122.923 136.286H115.338ZM128.403 136.286C127.92 136.286 127.528 136.678 127.528 137.161C127.528 137.644 127.92 138.035 128.403 138.035H135.988C136.471 138.035 136.863 137.644 136.863 137.161C136.863 136.678 136.471 136.286 135.988 136.286H128.403ZM141.468 136.286C140.985 136.286 140.593 136.678 140.593 137.161C140.593 137.644 140.985 138.035 141.468 138.035H149.053C149.536 138.035 149.928 137.644 149.928 137.161C149.928 136.678 149.536 136.286 149.053 136.286H141.468ZM154.541 136.286C154.058 136.286 153.666 136.678 153.666 137.161C153.666 137.644 154.058 138.035 154.541 138.035H162.125C162.609 138.035 163 137.644 163.001 137.161C163.001 136.678 162.609 136.286 162.125 136.286H154.541ZM167.614 136.286C167.131 136.286 166.739 136.678 166.739 137.161C166.739 137.644 167.131 138.035 167.614 138.035H175.198C175.681 138.035 176.073 137.644 176.073 137.161C176.073 136.678 175.681 136.286 175.198 136.286H167.614ZM180.671 136.286C180.188 136.286 179.796 136.678 179.796 137.161C179.796 137.644 180.188 138.035 180.671 138.035H188.255C188.739 138.035 189.13 137.644 189.131 137.161C189.131 136.678 188.739 136.286 188.255 136.286H180.671Z\"\n    fill=\"currentColor\" />\n  \u003Cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n    d=\"M444.85 38.2277C447.164 38.2277 449.04 40.1028 449.04 42.4159V132.928C449.04 135.241 447.164 137.116 444.85 137.116H255.36C253.046 137.116 251.17 135.241 251.17 132.928V42.4159C251.17 40.1028 253.046 38.2277 255.36 38.2277H444.85ZM361.96 125.388C361.618 125.046 361.064 125.046 360.722 125.388L354.534 131.572C354.192 131.914 354.192 132.468 354.534 132.81C354.876 133.151 355.43 133.151 355.772 132.81L361.96 126.624C362.301 126.283 362.301 125.73 361.96 125.388ZM371.047 116.311C370.705 115.969 370.15 115.969 369.809 116.311L364.446 121.671C364.104 122.012 364.104 122.567 364.446 122.908C364.788 123.249 365.342 123.25 365.684 122.908L371.047 117.548C371.388 117.207 371.388 116.652 371.047 116.311ZM380.124 107.246C379.782 106.904 379.227 106.904 378.885 107.246L373.523 112.606C373.181 112.948 373.181 113.502 373.523 113.844C373.864 114.185 374.419 114.185 374.761 113.844L380.124 108.483C380.465 108.142 380.465 107.587 380.124 107.246ZM385.736 65.8841C385.891 64.6727 384.622 63.7845 383.536 64.3434L371.069 70.7636C370.124 71.2504 369.96 72.5334 370.752 73.2424L381.2 82.5938C382.11 83.4081 383.561 82.8672 383.717 81.6557L384.393 76.3725C391.143 77.1933 398.567 80.7709 404.771 86.9711C411.124 93.3213 414.726 100.952 415.43 107.827C415.573 109.221 416.819 110.236 418.214 110.093C419.609 109.95 420.624 108.703 420.481 107.309C419.644 99.1317 415.435 90.4514 408.362 83.3817C401.466 76.489 393.038 72.3185 385.038 71.338L385.736 65.8841ZM389.2 98.1733C388.859 97.8319 388.304 97.8318 387.962 98.1733L382.6 103.534C382.258 103.875 382.258 104.429 382.6 104.771C382.941 105.112 383.496 105.112 383.838 104.771L389.2 99.4108C389.542 99.0693 389.542 98.5149 389.2 98.1733ZM398.262 89.1047C397.92 88.7633 397.365 88.7632 397.024 89.1047L391.661 94.4649C391.319 94.8065 391.319 95.3608 391.661 95.7024C392.002 96.0436 392.557 96.0438 392.899 95.7024L398.262 90.3421C398.603 90.0007 398.603 89.4463 398.262 89.1047ZM416.431 70.9616C416.089 70.6202 415.534 70.6201 415.193 70.9616L409.83 76.3218C409.488 76.6634 409.488 77.2177 409.83 77.5592C410.172 77.9005 410.726 77.9007 411.068 77.5592L416.431 72.199C416.772 71.8575 416.772 71.3032 416.431 70.9616ZM425.508 61.891C425.166 61.5496 424.611 61.5495 424.27 61.891L418.907 67.2512C418.565 67.5928 418.565 68.1471 418.907 68.4887C419.249 68.8299 419.803 68.8301 420.145 68.4887L425.508 63.1284C425.849 62.787 425.849 62.2326 425.508 61.891ZM434.569 52.8146C434.227 52.4731 433.673 52.4731 433.331 52.8146L427.968 58.1748C427.626 58.5163 427.627 59.0706 427.968 59.4122C428.31 59.7534 428.864 59.7537 429.206 59.4122L434.569 54.052C434.91 53.7105 434.91 53.1562 434.569 52.8146ZM443.638 43.7479C443.296 43.4065 442.742 43.4064 442.4 43.7479L437.037 49.1081C436.695 49.4496 436.696 50.004 437.037 50.3455C437.379 50.6868 437.933 50.687 438.275 50.3455L443.638 44.9853C443.98 44.6438 443.979 44.0895 443.638 43.7479Z\"\n    fill=\"currentColor\" />\n  \u003Cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n    d=\"M684.066 38.2277C687.798 38.2281 689.667 42.7391 687.027 45.3773L596.473 135.889C595.687 136.675 594.621 137.116 593.51 137.116H506.335C504.021 137.116 502.145 135.241 502.145 132.928V42.4159C502.145 40.1028 504.021 38.2277 506.335 38.2277H684.066ZM514.603 124.566C514.261 124.224 513.707 124.224 513.365 124.566L507.178 130.751C506.836 131.093 506.836 131.646 507.178 131.988C507.519 132.329 508.073 132.329 508.415 131.988L514.603 125.803C514.945 125.462 514.945 124.908 514.603 124.566ZM523.689 115.491C523.348 115.15 522.794 115.15 522.452 115.491L517.09 120.852C516.748 121.193 516.748 121.747 517.09 122.088C517.431 122.43 517.985 122.43 518.327 122.088L523.689 116.728C524.031 116.386 524.031 115.833 523.689 115.491ZM532.102 65.8295C530.707 65.6872 529.46 66.7017 529.318 68.0957C529.175 69.4896 530.189 70.7355 531.584 70.8787C538.463 71.5825 546.096 75.1826 552.45 81.5329C558.723 87.8037 562.312 95.3226 563.079 102.13L557.738 102.392C556.518 102.452 555.865 103.855 556.607 104.827L565.115 115.969C565.76 116.814 567.051 116.751 567.611 115.847L574.992 103.928C575.635 102.889 574.848 101.555 573.628 101.615L568.161 101.882C568.161 101.878 568.162 101.874 568.161 101.871C567.324 93.6931 563.114 85.0124 556.041 77.9425C548.968 70.873 540.283 66.6668 532.102 65.8295ZM532.766 106.421C532.425 106.079 531.871 106.079 531.529 106.421L526.166 111.781C525.825 112.123 525.825 112.676 526.166 113.018C526.508 113.359 527.062 113.359 527.403 113.018L532.766 107.657C533.108 107.316 533.108 106.762 532.766 106.421ZM541.843 97.3445C541.501 97.003 540.948 97.003 540.606 97.3445L535.243 102.705C534.901 103.046 534.902 103.6 535.243 103.941C535.585 104.283 536.139 104.283 536.48 103.941L541.843 98.5809C542.185 98.2393 542.185 97.686 541.843 97.3445ZM550.92 88.2778C550.578 87.9363 550.025 87.9363 549.683 88.2778L544.32 93.638C543.978 93.9796 543.978 94.5329 544.32 94.8745C544.662 95.2161 545.215 95.2161 545.557 94.8745L550.92 89.5142C551.262 89.1727 551.262 88.6193 550.92 88.2778ZM569.066 70.1405C568.724 69.799 568.17 69.7991 567.829 70.1405L562.466 75.5008C562.124 75.8423 562.124 76.3956 562.466 76.7372C562.808 77.0788 563.361 77.0788 563.703 76.7372L569.066 71.377C569.407 71.0354 569.407 70.4821 569.066 70.1405ZM578.143 61.0699C577.801 60.7284 577.247 60.7285 576.906 61.0699L571.543 66.4302C571.201 66.7717 571.201 67.3251 571.543 67.6666C571.885 68.0082 572.438 68.0082 572.78 67.6666L578.143 62.3064C578.484 61.9648 578.484 61.4115 578.143 61.0699ZM587.219 51.9896C586.878 51.6481 586.324 51.6481 585.982 51.9896L580.62 57.3498C580.278 57.6914 580.278 58.2447 580.62 58.5863C580.961 58.9279 581.515 58.9279 581.857 58.5863L587.219 53.2261C587.561 52.8845 587.561 52.3312 587.219 51.9896ZM596.288 42.9249C595.947 42.5833 595.392 42.5833 595.05 42.9249L589.689 48.2851C589.347 48.6267 589.347 49.18 589.689 49.5216C590.03 49.863 590.584 49.8631 590.926 49.5216L596.288 44.1613C596.63 43.8198 596.63 43.2664 596.288 42.9249Z\"\n    fill=\"currentColor\" />\n  \u003Cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n    d=\"M850.814 38.2277C854.547 38.2281 856.416 42.739 853.777 45.3773L763.223 135.889C762.437 136.674 761.371 137.116 760.26 137.116H673.176C669.443 137.116 667.574 132.605 670.213 129.966L760.768 39.4544C761.554 38.6692 762.62 38.2277 763.731 38.2277H850.814ZM761.338 121.8C760.855 121.8 760.463 122.191 760.463 122.674V131.13H762.213V122.674C762.213 122.191 761.821 121.8 761.338 121.8ZM761.338 108.971C760.855 108.971 760.463 109.363 760.463 109.846V118.301H762.213V109.846C762.213 109.363 761.821 108.971 761.338 108.971ZM761.338 96.1402C760.855 96.1406 760.463 96.5321 760.463 97.0149V105.47H762.213V97.0149C762.213 96.532 761.821 96.1404 761.338 96.1402ZM782.263 71.887C781.043 71.951 780.395 73.3571 781.139 74.3257L784.474 78.6631C779.115 82.951 771.242 85.7443 762.35 85.7444C753.366 85.7442 745.421 82.8944 740.059 78.5305C738.972 77.6461 737.373 77.8099 736.488 78.8961C735.602 79.983 735.766 81.582 736.853 82.467C743.231 87.6574 752.348 90.8207 762.35 90.8209C772.209 90.8208 781.205 87.746 787.568 82.6884L790.833 86.9341C791.577 87.9025 793.103 87.6391 793.479 86.4767L797.791 73.138C798.118 72.127 797.33 71.1017 796.268 71.1566L782.263 71.887ZM761.338 70.4847C760.855 70.4851 760.463 70.8767 760.463 71.3594V79.8147H762.213V71.3594C762.213 70.8766 761.821 70.485 761.338 70.4847ZM761.338 57.656C760.855 57.6564 760.463 58.048 760.463 58.5307V66.986H762.213V58.5307C762.213 58.0479 761.821 57.6563 761.338 57.656ZM761.338 44.8293C760.855 44.8297 760.463 45.2212 760.463 45.704V54.1592H762.213V45.704C762.213 45.2211 761.821 44.8295 761.338 44.8293Z\"\n    fill=\"currentColor\" />\n  \u003Cpath\n    d=\"M995.759 38.2277C999.53 38.228 1001.42 42.5171 998.752 45.0253L959.55 81.9005L905.796 41.5363C905.271 41.1418 904.662 41.0182 904.096 41.0994L997.485 130.319C1000.15 132.828 998.262 137.116 994.491 137.116H905.298C902.96 137.116 901.065 135.333 901.065 133.134V42.0941C901.065 42.0204 901.07 41.9483 901.079 41.8786C901.258 39.8345 903.079 38.2277 905.298 38.2277H995.759Z\"\n    fill=\"currentColor\" />\n  \u003Cpath\n    d=\"M505.873 0C506.657 4.57042e-05 507.307 0.195499 507.823 0.587023C508.338 0.969046 508.596 1.53802 508.596 2.29251C508.596 2.76034 508.467 3.19015 508.209 3.58162C507.951 3.96344 507.497 4.26401 506.848 4.48361V4.54114C507.65 4.67487 508.205 4.96191 508.51 5.4012C508.816 5.83087 508.969 6.31772 508.969 6.86193C508.969 7.74056 508.672 8.41851 508.08 8.89604C507.497 9.38304 506.733 9.62731 505.787 9.62738C504.861 9.62738 504.158 9.42172 503.68 9.0111C503.212 8.60054 502.935 8.08005 502.849 7.44993L503.881 7.10571L503.924 7.24028C504.035 7.54934 504.211 7.82925 504.454 8.07986C504.731 8.36635 505.166 8.50986 505.758 8.50989C506.465 8.50989 506.943 8.32772 507.191 7.9648C507.449 7.6019 507.579 7.20078 507.579 6.7615C507.579 6.2173 507.378 5.80683 506.977 5.52992C506.585 5.25295 505.93 5.10026 505.013 5.07161V4.15402C505.901 4.12537 506.489 3.92484 506.776 3.55237C507.062 3.18009 507.206 2.82242 507.206 2.47876C507.206 1.62801 506.752 1.17539 505.845 1.12237L505.658 1.11749C505.467 1.11752 505.242 1.14605 504.985 1.2033C504.736 1.25105 504.511 1.3274 504.31 1.43245L504.081 2.56457L503.05 2.44951L503.322 0.687461C503.666 0.49653 504.068 0.33454 504.526 0.200875C504.985 0.0671945 505.434 0 505.873 0Z\"\n    fill=\"currentColor\" />\n  \u003Cpath\n    d=\"M905.727 2.30616L904.638 2.4066L904.466 1.26083H901.428V3.72497C901.533 3.71544 901.643 3.71034 901.757 3.71034H902.086C902.755 3.71034 903.386 3.78668 903.979 3.93949C904.58 4.09229 905.068 4.38363 905.44 4.8132C905.822 5.23335 906.014 5.84949 906.014 6.66106C906.014 7.64468 905.722 8.38068 905.14 8.86776C904.557 9.36434 903.783 9.6127 902.818 9.61275C901.91 9.61275 901.213 9.40711 900.725 8.99648C900.248 8.59544 899.96 8.08007 899.865 7.44993L900.911 7.10571C901.007 7.49723 901.203 7.8271 901.499 8.09449C901.795 8.37131 902.211 8.50985 902.746 8.50989C903.395 8.50989 903.869 8.33787 904.165 7.99405C904.461 7.65981 904.609 7.22507 904.609 6.69031C904.609 5.87861 904.337 5.3625 903.792 5.14279C903.248 4.91361 902.612 4.79958 901.886 4.79955C901.695 4.79955 901.489 4.80365 901.27 4.8132C901.059 4.82275 900.854 4.83701 900.653 4.85611L900.224 4.44071V0.143343H905.569L905.727 2.30616Z\"\n    fill=\"currentColor\" />\n  \u003Cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n    d=\"M765.49 6.04576H766.966L766.837 7.14862H765.49V9.48404H764.185V7.14862H759.857L759.713 6.04576L762.909 0.143343H765.49V6.04576ZM760.96 6.04576H764.185V1.26083H763.541L760.96 6.04576Z\"\n    fill=\"currentColor\" />\n  \u003Cpath d=\"M4.80573 6.47481H6.41154V7.60693H1.81068V6.47481H3.50235V1.27546H1.81068V0.143343H4.80573V6.47481Z\"\n    fill=\"currentColor\" />\n  \u003Cpath\n    d=\"M254.359 0C255.353 0 256.055 0.239186 256.466 0.716715C256.877 1.18447 257.083 1.68072 257.083 2.20573C257.083 2.85516 256.849 3.44346 256.38 3.96875C255.912 4.49397 255.348 4.96638 254.689 5.38657C254.039 5.79717 253.437 6.15968 252.883 6.47481H256.423L256.538 5.42948L257.599 5.51529L257.426 7.60693H251.407L251.292 6.58987C252.582 5.73032 253.638 4.98523 254.46 4.35489C255.281 3.71509 255.693 3.05632 255.693 2.37832C255.693 1.53787 255.166 1.11749 254.115 1.12237L254.115 1.11749C253.924 1.11754 253.695 1.14604 253.427 1.2033C253.16 1.25104 252.916 1.32238 252.697 1.41783L252.467 2.47876L251.45 2.3637L251.707 0.60165C252.118 0.401088 252.563 0.253475 253.041 0.15797C253.519 0.0529708 253.958 1.99446e-05 254.359 0Z\"\n    fill=\"currentColor\" />\u003C/g>",{"id":13,"data":14,"type":15,"maxContentLevel":28,"version":29,"tiles":30},"1485ad8b-e45e-4d8d-bce1-20ea5f83e67f",{"type":15,"title":16,"tagline":17,"description":17,"featureImageSquare":18,"baseColor":19,"emoji":20,"shapePreference":4,"allowContentSuspension":21,"allowContentEdits":21,"editorsChoice":21,"accreditations":22,"certificatePriceLevel":27,"certificationTitle":16},8,"How Computers Work","An introduction to the world's most important machines. Produced by the Kinnu community!","e0775ec2-b726-4135-b604-94c02e2898ec","#4C77D4","💻",true,[23],{"authority":24,"wasCpdTill":25,"previousCpdCreditMinutes":26},1,"2025-12-31T00:00:00Z",120,2,9,10,[31,392,709,991,1431,1765],{"id":32,"data":33,"type":28,"maxContentLevel":36,"version":37,"orbs":38},"c7e1fbcd-2725-4ee5-a1cf-07b1a8f24eed",{"type":28,"title":34,"tagline":35},"Why Computers Matter","Understanding the technology at the heart of the modern world",3,6,[39,142,266],{"id":40,"data":41,"type":27,"version":43,"maxContentLevel":36,"summaryPage":44,"introPage":54,"pages":61},"89872566-3eee-466f-b5d6-3710c2776964",{"type":27,"title":42},"What is a computer?",5,{"id":45,"data":46,"type":36,"maxContentLevel":36,"version":24},"fa8fa9ef-fd6b-4fe3-8c0d-01d6c1831729",{"type":36,"title":47,"summary":48},"",[49,50,51,52,53],"Computers are machines that process data automatically","Computers start by taking some input data","They process it according to a program","They output some data as a result","They do this by breaking down data into 1s and 0s",{"id":55,"data":56,"type":29,"maxContentLevel":36,"version":24},"7edbe3db-1f3d-4f85-b8db-28ec8276257e",{"type":29,"title":47,"intro":57},[58,59,60],"What a computer actually is","How the simplest possible computer would work","How machines can process data",[62,68,73,99,114],{"id":63,"data":64,"type":24,"maxContentLevel":36,"version":67},"b002a7c4-e497-4906-9180-d1514a7a44a5",{"type":24,"contentRole":27,"markdownContent":65,"audioMediaId":66},"This is a very special pathway.\n\nThis pathway was produced by the Kinnu community! The awesome volunteers who contributed to producing this pathway are:\n\n@petrichori\\\n@samurai\\\n@leparda35\\\n@Demiguise\\\n@Fish\\\n@finn.heimberg\\\n@Mick\\\n@oblongur\\\n@EliTheNerd\\\n@purejoymind\\\n@Voegl\\\n@roccomarco\\\n@ZakZak\\\n@BlackADragon\\\n@salamigod\\\n@DiavalDiablo\\\n@puritii_light\\\n@FumingRed\\\n@purplecat\\\n@thecat\\\n@SmashySetsuna\\\n@Louisg\\\n@cboomerang\\\n@BackByUnpopularDemand\\\n@EugeneD\\\n@Cato\\\n@Pialgdio\\\n@-ilo-\\\n@Linda\\\n@dgsoa\\\n@faintzzz\\\n@SirZed\n\nWe are so grateful to all of these contributors. You've helped us create something amazing.\n\nIf you'd like to get involved in producing a future pathway, sign up to our Discord!","29b22e12-fd69-4cb2-9602-08f23b32cabb",4,{"id":69,"data":70,"type":24,"maxContentLevel":36,"version":27},"1d78edcf-10f7-4dde-b03c-fbe61e08930a",{"type":24,"contentRole":27,"markdownContent":71,"audioMediaId":72},"What is a computer? We all use them, and we all know what they do. But could you actually explain what a computer *is*, and how it works?\n\nIt’s a strange fact of modern life that most of us spend hours and hours each day – both at work and in our free time – interacting with computers, yet we never really think about what’s going on inside them. We take for granted that these machines can perform incredible feats of thinking and deliver seemingly limitless data to us, as if by magic.\n\n![Graph](image://9574a09e-cb74-464e-83be-5dc8ef0de07c \"An Apple II, one of the earliest personal computers. FozzTexx, CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nBut there’s no magic involved in how computers work. These miraculous man-made machines are the result of ingenious math, engineering and design – conceptualised, built and refined by some of the world’s most extraordinary minds over the past century or so.\n\nIn this pathway you’ll learn about these concepts, so that you too can understand the technology that is the cornerstone of the world we live in today.","b4ac92ff-2bad-43d2-92cb-291d4cffc99e",{"id":74,"data":75,"type":24,"maxContentLevel":36,"version":36,"reviews":78},"982bce1f-98e5-4d70-bf43-bc53c4f3183e",{"type":24,"contentRole":27,"markdownContent":76,"audioMediaId":77},"At its most basic level, a computer is an electronic device that operates by taking an input – meaning some data, which could be numbers, text or something else – processing it according to a set of instructions, called a program, and then producing an output.\n\nA good way of thinking about that is to consider the simplest possible computer. This would look something like the machine in the picture below.\n\n![Graph](image://824833e8-d7ce-4dc8-98c5-4b0a8214b946 \"A Turing Machine, Rocky Acosta, CC BY 3.0 \u003Chttps://creativecommons.org/licenses/by/3.0>, via Wikimedia Commons\")\n\nThis is an example of a Turing machine. It was conceptualised in 1936 by Alan Turing (a name you may have heard before – we’ll be talking more about him later!). Turing came up with the idea for this machine as a thought experiment, but there have been many different versions built by different people.\n\nIn the one in this picture, there are two spools of tape, with a device in the middle, which the tape is being passed through. The tape is split into squares. Each square can contain either a 1 or a 0.\n\nThe device in the middle is for a human to examine the tape one square at a time. Using the device, they can view the current state of one square of tape and change it to either a 1 or a  0. The human has a rulebook which tells them exactly what to do every time they inspect a square of the tape.","341e7fe2-8efd-41a1-ba17-205a18ec45a3",[79,88],{"id":80,"data":81,"type":82,"version":24,"maxContentLevel":36},"0958d248-7fd8-4080-90ce-1cbacd9c5bfe",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":83,"binaryCorrect":84,"binaryIncorrect":86},11,[42],[85],"A device that processes data according to a set of instructions",[87],"A device that can think",{"id":89,"data":90,"type":82,"version":24,"maxContentLevel":36},"7ee9748d-4020-4e22-bb85-9ff4bf5ff1e3",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":91,"multiChoiceCorrect":93,"multiChoiceIncorrect":96,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[92],"Which of these digits can appear on the tape in a Turing machine?",[94,95],"1","0",[97,98],"2","3",{"id":100,"data":101,"type":24,"maxContentLevel":36,"version":27,"reviews":104},"5ed37c64-43cd-4e6c-930e-f71f92077cd9",{"type":24,"contentRole":27,"markdownContent":102,"audioMediaId":103},"So, the human in this Turing machine examines a square of tape, and follows a set of rules which tells them what to do. The rules might look something like this: “*Go to the third cell. If it is a 1, turn it into a 0. If it is a 0, leave it as a 0. Now, go to the fourth cell, and follow the instructions on the next page of this book*.”\n\nThe human will keep following instructions until the rulebook is finished. And just like that, they will have performed a computation!\n\n![Graph](image://2272aa0d-7ca2-4cef-8f0e-a2f1a0799a42 \"An example of Turing machine instructions. Image: Public Domain\")\n\nThey have taken an input (the state of the tape at the start of the operation), processed it according to a program (the rulebook they are following), and produced an output (the state of the tape at the end). And they've done this without having to make any complex calculations themselves.\n\nNow, you might be thinking: “what’s the use of changing a load of 1s and 0s around?”. Well, these become very useful when we start to use binary notation. This is a system of representing numbers and other data through combinations of 1s and 0s. We can represent any number we like in this way – meaning using just the Turing machine, and the right rulebook, we can perform any calculation we like.","d43670d1-64e2-4b72-9be0-8f1b25923132",[105],{"id":106,"data":107,"type":82,"version":24,"maxContentLevel":36},"480006fa-a230-47fc-bdf6-56793598de58",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":108,"binaryCorrect":110,"binaryIncorrect":112},[109],"What does the human in a Turing machine do?",[111],"Follow a rulebook to process every square of tape",[113],"Perform their own calculations to change the tape",{"id":115,"data":116,"type":24,"maxContentLevel":36,"version":27,"reviews":119},"61ee67d2-9521-4ec3-b675-2df29266b5cb",{"type":24,"contentRole":27,"markdownContent":117,"audioMediaId":118},"Computers as we know them are effectively doing what Turing machines do, at a massively higher volume and using much smaller components. Instead of 1s and 0s on tape, there are tiny transistors that either send an electric signal (1), or no signal (0). Instead of humans executing the program, there are processing units.\n\nBut remember: the human running the program was just following very simple rules. By breaking data down into binary code, computers can process very complex information without doing any ‘thinking’ in the traditional sense.\n\nOf course, there are lots of further levels of complexity to all of this. We’ve shown how Turing machines can act as calculators, but what about all the other stuff computers do, like running operating systems, or displaying JPEGs, or playing *Flappy Bird*?\n\nWe’ll cover all of these and more as the pathway continues. But it’s important to remember that everything your computer is doing comes down to this simple process of breaking input information down into 1s and 0s, performing a program of instructions on those bits of binary, and producing an output.","c0ac0841-2c3b-4b86-9282-a45b10287c5e",[120,131],{"id":121,"data":122,"type":82,"version":24,"maxContentLevel":36},"8cf80a7c-4322-4adc-9f18-a1f89787804f",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":123,"multiChoiceCorrect":125,"multiChoiceIncorrect":127,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[124],"In a computer, the ‘rulebook’ is what we would refer to as a…",[126],"Program",[128,129,130],"Memory","Input","Output",{"id":132,"data":133,"type":82,"version":24,"maxContentLevel":36},"afe5b098-85c1-4a4d-9c39-bbcc816cf207",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":134,"multiChoiceCorrect":136,"multiChoiceIncorrect":138,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[135],"How do modern computers represent 1s and 0s?",[137],"Through transistors",[139,140,141],"Through tape","Through punch cards","Through handwriting",{"id":143,"data":144,"type":27,"version":36,"maxContentLevel":36,"summaryPage":146,"introPage":154,"pages":161},"f2343467-3ca3-494c-9399-f3d41274669b",{"type":27,"title":145},"The vast world of computers",{"id":147,"data":148,"type":36,"maxContentLevel":36,"version":24},"d674bf50-6663-4f3e-bddc-275a878efaeb",{"type":36,"title":47,"summary":149},[150,151,152,153],"Computers are everywhere","PCs are the computers we interact with most","Servers are computers that are accessed by other computers","Mainframes and supercomputers are very large, specialized machines",{"id":155,"data":156,"type":29,"maxContentLevel":36,"version":24},"a3b4588f-5716-4930-afe6-ce03e0e020e3",{"type":29,"title":47,"intro":157},[158,159,160],"How computers are everywhere in the modern world","Why computers are not just in the places you expect","The many different types of computers",[162,179,215,232,249],{"id":163,"data":164,"type":24,"maxContentLevel":36,"version":24,"reviews":167},"ba4ee77a-5e7c-4360-8e54-614c90cb9258",{"type":24,"contentRole":27,"markdownContent":165,"audioMediaId":166},"![Graph](image://f6fc4a9c-25ee-47f3-9507-26b1b3ecc83c \"Getting some work done on a computer. Image: Computer Using Cat by EvanLovely, Chi King (CC BY 2.0) \u003Chttps://creativecommons.org/licenses/by/2.0>, via Wikimedia Commons\")\n\nYou’re probably aware that you’re looking at a computer right now – most likely your smartphone, running the Kinnu app. But did you know that there are probably dozens of tiny computers all around you?\n\nIf you’re reading this at home, your microwave, refrigerator, TV, toaster, oven, washing machine, vacuum cleaner, and many of your children’s toys will have tiny computers inside them. If you’re walking down the street, every street lamp, traffic light, and parking meter will contain at least one computer.\n\nIf you're in the car (hopefully not driving if you’re reading this!), there are probably dozens of computers controlling everything from the engine and brakes to the radio and climate control. In modern offices, factories, and stores, computers are ubiquitous, managing inventory, processing transactions, and controlling equipment.","3a386334-910f-475e-b86c-df40e38ea70a",[168],{"id":169,"data":170,"type":82,"version":24,"maxContentLevel":36},"2eeab905-967e-4198-8204-d27f3d73d722",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":171,"multiChoiceCorrect":173,"multiChoiceIncorrect":175,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[172],"Which of these devices probably contains a computer?",[174],"All of these",[176,177,178],"Your car","Your oven","Your TV",{"id":180,"data":181,"type":24,"maxContentLevel":36,"version":24,"reviews":184},"de93ae9c-893d-437c-a27c-8ccdc2d57db1",{"type":24,"contentRole":27,"markdownContent":182,"audioMediaId":183},"There are several types of computers, each designed for specific tasks and user needs.\n\nThe type we are most familiar with is the personal computer (PC). PCs are what most people are referring to when they use the term ‘computer’ in conversation – a desktop or laptop, likely running either Windows or macOS, controlled by the user using a keyboard and mouse or trackpad.\n\n![Graph](image://da20cf19-1f5b-481d-b0af-f29e124b9922 \"A PC. Image: Laptop der Marke exone go 20240203 HOF06886 RAW-Export 000276 by PantheraLeo1359531 (CC BY 4.0) \u003Chttps://creativecommons.org/licenses/by/4.0>, via Wikimedia Commons\")\n\nDepending on who you ask, smartphones and tablets could also be considered PCs. Others would argue they form their own category. Like PCs, they are designed for a non-technical individual to use for a wide variety of tasks. However, they are not typically used for work in the same way that traditional PCs are.","6241094e-2a31-4622-9345-97c3ff1c9902",[185,195],{"id":186,"data":187,"type":82,"version":24,"maxContentLevel":36},"8fe57b02-6e84-4b76-8117-48e2d204b25f",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":188,"multiChoiceCorrect":190,"multiChoiceIncorrect":192,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[189],"Are smartphones and tablets PCs?",[191],"It’s a matter of debate",[193,194],"Definitely, yes","Definitely not",{"id":196,"data":197,"type":82,"version":24,"maxContentLevel":36},"239852bb-79df-49eb-a29e-abb6b840717e",{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":198,"multiChoiceQuestion":202,"multiChoiceCorrect":204,"multiChoiceIncorrect":206,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":210,"matchPairsPairs":212},[199,200,201],"ccc48d14-11e8-483a-82d4-ef2856e4d299","4d87a240-b493-4d8b-ae84-52670ae6893a","1b9ca8cb-a3cc-4a79-bbd9-926a3f3e3f91",[203],"Which of these is usually a desktop or laptop?",[205],"PC",[207,208,209],"Supercomputer","Wearable device","Server",[211],"Match the pairs below:",[213],{"left":214,"right":205,"direction":36},"A desktop or laptop",{"id":216,"data":217,"type":24,"maxContentLevel":36,"version":24,"reviews":220},"072b6a18-3379-4dc2-a0d1-82168919e18d",{"type":24,"contentRole":27,"markdownContent":218,"audioMediaId":219},"Outside of PCs, smartphones and tablets, there are many more types of computers that ordinary people might be less familiar with.\n\nServers are computers that exist only to perform functions that are requested of them by other computers. A more simple way to think about this is as ‘computers without screens, which are used by other computers’. Usually this is done by sending a message over a network.\n\n![Graph](image://f8c0d39a-33d5-495d-9cbd-28e92d0e25fc \"A room full of servers. Image: Wikimedia Servers-0051 13 by Helpameout (CC BY-SA 3.0) \u003Chttps://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons\")\n\nFor example, when you open Google and enter a search, all the data that appears wasn’t stored on your device before. Your device has sent a request to a server (in fact, several servers), and is displaying the results of that request. Servers enable us to perform a much broader spectrum of activities on our devices.","8f8ba4dd-71cd-40df-bc80-026e63240214",[221],{"id":199,"data":222,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":223,"multiChoiceQuestion":224,"multiChoiceCorrect":226,"multiChoiceIncorrect":227,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":228,"matchPairsPairs":229},[196,200,201],[225],"Which of these exists only to be accessed by other computers?",[209],[207,208,205],[211],[230],{"left":231,"right":209,"direction":36},"Exists only to be accessed by other computers",{"id":233,"data":234,"type":24,"maxContentLevel":36,"version":27,"reviews":237},"797c30fd-2546-47ee-ba54-ad8a9bda16ad",{"type":24,"contentRole":27,"markdownContent":235,"audioMediaId":236},"Mainframe computers are large, powerful machines used by organizations for critical applications, such as bulk data processing and large-scale transaction processing. In the early days of computing, all computers were mainframes. Nowadays, they are rarer, but still vital for many organisations who need to handle massive amounts of data.\n\nSupercomputers are the fastest and most powerful type of computer, capable of performing trillions of calculations per second. They are used for complex simulations and computations in fields like climate research, molecular modelling, and astrophysics. There are only a handful of supercomputers in the world, and they are tucked away in research labs. Unless you’re a top scientist, the chances are you’ll never use one.\n\n![Graph](image://cd9eb634-4cc2-4889-9935-7567a1a7b754 \"A supercomputer. Image: IBM Blue Gene P supercomputer by Argonne National Laboratory's Flickr page (CC BY-SA 2.0) \u003Chttps://creativecommons.org/licenses/by-sa/2.0>, via Wikimedia Commons\")","bc0f387b-0d14-45cc-8475-7894e1b80bc3",[238],{"id":200,"data":239,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":240,"multiChoiceQuestion":241,"multiChoiceCorrect":243,"multiChoiceIncorrect":244,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":245,"matchPairsPairs":246},[196,199,201],[242],"What is the most powerful type of computer?",[207],[208,205,209],[211],[247],{"left":248,"right":207,"direction":36},"The most powerful type of computer",{"id":250,"data":251,"type":24,"maxContentLevel":36,"version":36,"reviews":254},"d7c19ebe-3709-4690-aba9-27dc14282fc5",{"type":24,"contentRole":27,"markdownContent":252,"audioMediaId":253},"Embedded systems are specialized computers designed to perform specific tasks within larger systems. Unlike general-purpose systems, embedded systems generally perform one single task. As technology has developed, and it has become possible to build tinier and tinier computers, we have started to embed mini computers all over the place – even within other computers!\n\nFor example, in your smartphone there is a sensor hub which processes data from various sensors in your device. This is technically a separate computer to the main processor in the phone. So in your hand is not just one computer, but several!\n\nAs embedded systems become cheaper and more efficient, they are starting to appear in more and more objects. For example, thermostats used to be analogue devices, but now the majority of them contain embedded systems. Gradually these tiny computers are working their way into every device we use – from showers to lightbulbs.\n\nOne last type of computer to consider is wearable tech. This has overlaps with several of the other computers we’ve mentioned – they are arguably PCs, and sometimes function as embedded systems. The computers that fall into this category are anything you can wear – from Apple watches to smart hearing aids!\n\n![Graph](image://511106cf-ead1-4710-88c5-1796399fbc01 \"A smart watch. Image: Public domain\")","6b27df6c-0f1f-403b-b541-bcef10534867",[255],{"id":201,"data":256,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":257,"multiChoiceQuestion":258,"multiChoiceCorrect":260,"multiChoiceIncorrect":261,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":262,"matchPairsPairs":263},[196,199,200],[259],"An Apple Watch is an example of which of these?",[208],[207,209,205],[211],[264],{"left":265,"right":208,"direction":36},"An Apple Watch is an example",{"id":267,"data":268,"type":27,"version":24,"maxContentLevel":36,"summaryPage":270,"introPage":278,"pages":285},"87708100-62e4-41b7-96bd-4de5a886496e",{"type":27,"title":269},"History and evolution of computers",{"id":271,"data":272,"type":36,"maxContentLevel":36,"version":24},"8bb897b7-3da4-4653-8bb6-afa7c0804814",{"type":36,"title":47,"summary":273},[274,275,276,277],"Charles Babbage dreamed up the first programmable computer","Alan Turing conceived of a complete data-processing machine","In the mid-20th century, many rapid developments were made","In the years since, computers have taken over the world",{"id":279,"data":280,"type":29,"maxContentLevel":36,"version":24},"0cc9e9dd-9819-4c43-a53e-9ed95362520d",{"type":29,"title":47,"intro":281},[282,283,284],"What the first computer was","How Alan Turing theorised a machine that could compute anything","How computers grew from a dream to a reality in the 20th century",[286,322,340,353,370,387],{"id":287,"data":288,"type":24,"maxContentLevel":36,"version":24,"reviews":291},"615ebb99-f93c-4700-ab78-a0c765a4ef04",{"type":24,"contentRole":27,"markdownContent":289,"audioMediaId":290},"What was the first computer? That all depends on your definition of the word. It could be argued that computers existed thousands of years ago. The abacus, which dates back to at least 2400 BCE, is considered one of the earliest computing tools, because it breaks down large calculations, allowing people to compute numbers just by following simple rules.\n\n![Graph](image://9fe6cde6-c8f6-416b-b8f2-c62d3151d29e \"An ancient abacus. Image: Kulram by Tor Svensson (CC BY-SA 3.0) \u003Chttp://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons\")\n\nThe modern story of computing begins much more recently, in the early 19th century. The 1805 “Jacquard loom” was built by Joseph-Marie Jacquard, a French weaver. This loom used punch cards to control the pattern of the weave. A weaver could input a card with holes punched into it, which would indicate a certain pattern that the machine should follow in its weaving.","dde79844-04b0-4e4f-a11d-c3d4267442aa",[292,303],{"id":293,"data":294,"type":82,"version":24,"maxContentLevel":36},"effc52d1-6af5-435b-80f8-b8894da817a0",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":295,"multiChoiceCorrect":297,"multiChoiceIncorrect":299,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[296],"Why could the abacus be considered an early computing tool?",[298],"It turned large calculations into simple operations",[300,301,302],"It used 1s and 0s to represent data","It used transistors to compute data","It could represent many data types",{"id":304,"data":305,"type":82,"version":24,"maxContentLevel":36},"0791e35e-6159-4d6d-ae5b-aab49fd957f3",{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":306,"multiChoiceQuestion":310,"multiChoiceCorrect":312,"multiChoiceIncorrect":314,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":318,"matchPairsPairs":319},[307,308,309],"a00248f7-1b42-4855-a1ee-a21095edffb6","820126d5-5351-4595-867a-543d026448d2","bf97c374-4ebe-4f90-8cee-c3310ce7c565",[311],"Which machine was used to control weaving patterns?",[313],"Jacquard loom",[315,316,317],"Analytical Engine","Manchester Baby","IBM System/360",[211],[320],{"left":313,"right":321,"direction":36},"Used to control weaving patterns",{"id":323,"data":324,"type":24,"maxContentLevel":36,"version":24,"reviews":327},"5ccf3ceb-9b13-44a3-b339-327950f5a9b8",{"type":24,"contentRole":27,"markdownContent":325,"audioMediaId":326},"The Jacquard Loom would go on to inspire Charles Babbage to design the Difference Engine and the Analytical Engine in the early decades of the 19th century.\n\n![Graph](image://a6316280-ff24-4829-9c83-dd1c1a0f6575 \"Babbage Difference Engine (the power-supply end) by Jitze Couperus (CC BY 2.0) \u003Chttps://creativecommons.org/licenses/by/2.0>, via Wikimedia Commons\")\n\nAlthough Babbage would never complete either engine, Ada Lovelace, the daughter of the poet Lord Byron, would write a series of notes detailing how to program the theoretical Analytical Engine so that it could produce the Bernoulli sequence of numbers. In her notes, Lovelace also realised that the machine didn’t have to be restricted solely to numbers – it could be used to run any logical equation.\n\nAs a result, Babbage is often celebrated as being the designer of the first computer, and Lovelace as the first computer programmer.","7c2c1386-8755-430c-9386-98f45234127f",[328],{"id":307,"data":329,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":330,"multiChoiceQuestion":331,"multiChoiceCorrect":333,"multiChoiceIncorrect":334,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":336,"matchPairsPairs":337},[304,308,309],[332],"Which machine was designed by Charles Babbage?",[315],[335,316,317],"Jacquard Loom",[211],[338],{"left":315,"right":339,"direction":36},"Designed by Charles Babbage",{"id":341,"data":342,"type":24,"maxContentLevel":36,"version":24,"reviews":345},"89d9c329-afba-4dba-9854-ca5606016f6d",{"type":24,"contentRole":27,"markdownContent":343,"audioMediaId":344},"Fast forwarding to the early 20th century, Alan Turing, a mathematician at the University of Cambridge, made several theoretical innovations that would lay the groundwork for modern computing.\n\n![Graph](image://614ee54b-f085-4306-adbe-d5915cc7c82d \"Alan Turing (1912-1954) in 1936 at Princeton University (Public domain), via Wikimedia Commons\")\n\nTuring was a math prodigy whose area of interest was computable numbers. In a 1936 paper titled *On Computable Numbers, With An Application To The Entscheidungsproblem*, he dreamed up a machine that could perform any computation by only following extremely simple rules. He called this an “*a*-machine”, but it has since become known as a Turing machine, which we have already discussed.\n\n![Graph](image://c0d4651d-bc16-4c4e-bcaa-572349bdb2b7 \"The part of Turing’s paper where he sets out his design for the Turing machine. Image: Public domain\")\n\nThe Turing machine, though theoretical, was a foundational concept for modern computing. A few years after first proposing the machine, Turing put some of these principles into practice while helping to build a series of code-breaking machines, which were instrumental in the Allied war effort during World War II.","d2eacf4f-1312-41c2-8e29-a6d2e70c6b8d",[346],{"id":347,"data":348,"type":82,"version":24,"maxContentLevel":36},"169ce9cb-218b-40d7-8b7f-e0f15d389d62",{"type":82,"reviewType":67,"spacingBehaviour":24,"clozeQuestion":349,"clozeWords":351},[350],"Alan Turing conceived of a machine that could calculate any algorithm",[352],"Alan Turing",{"id":354,"data":355,"type":24,"maxContentLevel":36,"version":24,"reviews":358},"54881ff9-6f8f-44b4-9a76-b7978b54c165",{"type":24,"contentRole":27,"markdownContent":356,"audioMediaId":357},"After World War II, there were rapid advancements in computer technology with the development of the first electronic digital computers during the 1940s and 1950s. One example, the ENIAC (Electronic Numerical Integrator and Computer), was completed in 1945 and was the earliest example of what we could now call a digital computer.\n\nThe ENIAC was a massive machine, weighing 30 tons and occupying 167.23 square meters, allowing it to perform up to 5,000 additions per second.\n\n![Graph](image://44efc5c1-a57b-423c-b958-49a8b218f7c5 \"Glen Beck and Betty Snyder program the ENIAC in building 328 at the Ballistic Research Laboratory (Public domain), via Wikimedia Commons\")\n\nThis period also saw the introduction of the stored-program concept, where instructions for computations were stored in the computer's memory. This innovation was later implemented in the Manchester Baby, the world's first stored-program computer, in 1948.","9907b1fb-b277-435d-8f23-4c1c1c4bbd2e",[359],{"id":308,"data":360,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":361,"multiChoiceQuestion":362,"multiChoiceCorrect":364,"multiChoiceIncorrect":365,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":366,"matchPairsPairs":367},[304,307,309],[363],"Which of these was the first stored-program computer?",[316],[313,317,315],[211],[368],{"left":316,"right":369,"direction":36},"The first stored-program computer",{"id":371,"data":372,"type":24,"maxContentLevel":36,"version":24,"reviews":375},"201e246c-3f64-4a23-9e02-04afd38a3318",{"type":24,"contentRole":27,"markdownContent":373,"audioMediaId":374},"The 1960s and 1970s brought about the era of mainframe computers, which were large, powerful machines that were put to use by businesses. IBM's System/360 series would rise to prominence and become the standard-setter in mainframe computing. These machines were capable of handling vast amounts of data and performing complex calculations, making them indispensable tools for large organizations to manage their data and perform complex operations.\n\n![Graph](image://790a382f-d6c9-4a3a-9302-718b11bb852d \"IBM system 360 by waelder (CC BY-SA 2.5) \u003Chttps://creativecommons.org/licenses/by-sa/2.5>, via Wikimedia Commons\")\n\nThe advent of the microprocessor in the 1970s was another huge development. In 1971, the Intel 4004 was released. It was the first microprocessor to become commercially available, and was able to perform the functions of a computer's central processing unit (CPU), making it possible to create smaller, more affordable computers.\n\n![Graph](image://ac7abcdc-7c97-4d81-b6df-69b9af3149df \"Intel 4004 by LucaDetomi, it.wikipedia (CC BY-SA 3.0) \u003Chttp://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons\")\n\nThis innovation paved the way for the personal computer (PC) revolution of the 1980s. Companies like Apple and IBM introduced PCs that brought computing power to homes and small businesses, transforming the way people worked and lived.","80c8032e-59d1-43e9-8e22-4f59edc9e881",[376],{"id":309,"data":377,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":378,"multiChoiceQuestion":379,"multiChoiceCorrect":381,"multiChoiceIncorrect":382,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":383,"matchPairsPairs":384},[304,307,308],[380],"Which of these was the standard-setter for 1960s mainframe computing?",[317],[313,316,315],[211],[385],{"left":317,"right":386,"direction":36},"The standard-setter for 1960s mainframe computing",{"id":388,"data":389,"type":24,"maxContentLevel":36,"version":24},"bb080571-899b-46e7-9ba1-bdd16197940e",{"type":24,"contentRole":27,"markdownContent":390,"audioMediaId":391},"Later the 1990s and 2000s saw the rise of the internet and the proliferation of networked computers. The World Wide Web, invented by Tim Berners-Lee in 1989, became a global platform, and allowed for easy access to communication and information.\n\nThis period also witnessed the development of operating systems such as Windows, Macintosh, and Linux as well as many powerful software applications, allowing computers to be more user-friendly and versatile.\n\n![Graph](image://7d95af9f-fddf-4c6e-8ad3-5cd7bf331947 \"Apple iMac in 'Bondi Blue'. Image: HereToHelp, CC BY-SA 2.0 https://creativecommons.org/licenses/by-sa/2.0/deed.en, via Wikimedia Commons\")\n\nToday, computers are an integral part of everyday life, and are embedded in everything from smartphones to household appliances. Computers are continually evolving with advancements in artificial intelligence, machine learning, and quantum computing pushing the boundaries of what is possible.\n\nThe journey from Babbage’s Analytical Engine to the computers of today is a story of teamwork. Many small innovations made by countless individuals have shaped and honed the technology we live with today.\n\nAs we look to the future, the potential for further advancements in computing technology seems endless, continuing to shape and redefine our world.","9a38da8b-17e1-4573-ab3a-988b1fe81eeb",{"id":393,"data":394,"type":28,"maxContentLevel":36,"version":67,"orbs":397},"f885189b-841e-46e9-903c-1ede0f830279",{"type":28,"title":395,"tagline":396},"Understanding the Basics of Computers","The basic components of a computer and how they fit together",[398,523,601],{"id":399,"data":400,"type":27,"version":67,"maxContentLevel":36,"summaryPage":402,"introPage":410,"pages":417},"6f439070-ebaf-4f0e-b4aa-0b8eac8b1dc4",{"type":27,"title":401},"The basic architecture of a computer",{"id":403,"data":404,"type":36,"maxContentLevel":36,"version":24},"7c071564-324e-4a86-909a-f6f24a0a49aa",{"type":36,"title":47,"summary":405},[406,407,408,409],"CPU, memory, and I/O devices are the basic components of computers","CPU is the brain that processes data","RAM is the memory that stores programs","Input and output devices are how data is entered and then received",{"id":411,"data":412,"type":29,"maxContentLevel":36,"version":24},"afc9c633-a97d-4aee-a83d-2f31204d912f",{"type":29,"title":47,"intro":413},[414,415,416],"What the essential components of a computer are","How these components are arranged in an architecture","Why the CPU is the computer's 'brain'",[418,443,460,488],{"id":419,"data":420,"type":24,"maxContentLevel":36,"version":36,"reviews":423},"1b461a25-0ae8-41eb-8b9d-55a56a5883e8",{"type":24,"contentRole":27,"markdownContent":421,"audioMediaId":422},"A computer is any system that automatically processes data. There have been several different architectures that such systems have followed, especially in the early days of computing. However, since the early 1950s the vast majority of computers have been built according to a system known as the von Neumann architecture. In fact, this architecture is now so ubiquitous that we can actually treat it as synonymous with ‘computer architecture’.\n\nThis system is composed of several key elements: the central processing unit (CPU), memory, input/output (I/O) devices, and storage. Each of these components plays a crucial role in the overall functionality of the computer.\n\n![Graph](image://810a887c-b53c-4edc-b796-4d5c6b242abc \"Von Neumann architecture. Image: Kapooht, CC BY-SA 3.0 \u003Chttps://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons\")\n\nThe CPU, often referred to as the brain of the computer, is responsible for executing instructions. It performs arithmetic and logical operations, controls the timing of operations, and manages data flow within the system. It performs a specific set of actions on the data it receives, depending on the program that is loaded in the memory.\n\nThe CPU itself is made up of several subcomponents. These can vary, but they generally include the arithmetic logic unit (ALU), and the control unit. The ALU handles mathematical calculations and logical operations, while the control unit directs the operation of the processor by fetching instructions from memory, decoding them, and then executing them.","e40abbc0-7b98-4ceb-9842-dd25b9c5a6e7",[424],{"id":425,"data":426,"type":82,"version":27,"maxContentLevel":36},"1075eca2-ef21-4404-b3cd-3b1a7c65fd37",{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":427,"multiChoiceQuestion":431,"multiChoiceCorrect":433,"multiChoiceIncorrect":435,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":439,"matchPairsPairs":440},[428,429,430],"7cca5216-4bac-4e57-8474-810301db1e98","74cb0f4a-00e5-4942-9a9d-8b37743ec989","86336f3f-97da-4156-8b45-0ff75bb5294e",[432],"What is often referred to as the 'brain' of the computer?",[434],"CPU",[436,437,438],"RAM","Input devices","Output devices",[211],[441],{"left":442,"right":434,"direction":36},"The 'brain' of the computer",{"id":444,"data":445,"type":24,"maxContentLevel":36,"version":36,"reviews":448},"aeebf08e-d986-418c-b55f-3a146b54c01c",{"type":24,"contentRole":27,"markdownContent":446,"audioMediaId":447},"Another key component of the computer's basic architecture is memory. A specific kind of memory called RAM is essential here. This stands for Random Access Memory. You can think of it like the computer's short term memory. It holds whatever data and instructions are needed for the CPU to process as part of the operation. Once that operation is completed, the RAM will stop holding that data. There are other parts of the computer that serve as long-term memory - we'll cover those later.\n\nInput devices are the means by which information is fed into the CPU for processing. In a modern computer there are many input devices involved in inputting that information, such keyboards, mice and touchscreens.\n\n![Graph](image://2cefa39c-02bf-4dd3-b46c-1fde0efe9f17 \"A keyboard. Image: Razer Arctosa keyboard-top-ar 16to9 PNr°0325 by D-Kuru (CC BY-SA 3.0 at) \u003Chttps://creativecommons.org/licenses/by-sa/3.0/at/deed.en>, via Wikimedia Commons\")\n\nOutput devices are where the data that has been processed is sent to. This could perhaps be the user’s screen, speakers, or more specialised features like warning lights and haptic feedback. It’s basically the mechanism for pushing out whatever the result of the process is.","c49d7f85-9326-4829-99d0-46b9a510a310",[449],{"id":428,"data":450,"type":82,"version":27,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":451,"multiChoiceQuestion":452,"multiChoiceCorrect":454,"multiChoiceIncorrect":455,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":456,"matchPairsPairs":457},[425,429,430],[453],"What serves as the computer's short term memory?",[436],[434,437,438],[211],[458],{"left":459,"right":436,"direction":36},"The computer's short term memory",{"id":461,"data":462,"type":24,"maxContentLevel":36,"version":27,"reviews":465},"17da1fc4-746e-4b48-a282-3102308639dc",{"type":24,"contentRole":27,"markdownContent":463,"audioMediaId":464},"So, those are the basic components at the heart of a computer. These are housed on a motherboard, the main circuit board that houses the CPU, memory, and other essential components. It provides the electrical connections that allow these components to communicate with each other.\n\nThe motherboard also includes the system bus, a communication pathway that transfers data between the CPU, memory, and other peripherals. The speed and efficiency of the system bus can significantly impact the overall performance of the computer.\n\n![Graph](image://ab49a604-b13a-4477-9ed0-50b0deb95508 \"Marcin Wieclaw (pcsite.co.uk), CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nPower supply is another vital aspect of computer architecture. It converts electrical alternating current from an outlet into direct current (DC) to make it usable for the computer's components. That is because logic gates, a key component for computer processing, can only run on DC. It also adjusts the voltage to a lower level, in order to work with the components. Without a reliable power supply, the computer would not be able to function.","a8aedc43-ac4a-4347-ab78-098f86d81e4a",[466,477],{"id":429,"data":467,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":468,"multiChoiceQuestion":469,"multiChoiceCorrect":471,"multiChoiceIncorrect":472,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":473,"matchPairsPairs":474},[425,428,430],[470],"Keyboards are an example of what?",[437],[436,434,438],[211],[475],{"left":476,"right":437,"direction":36},"Keyboards are an example",{"id":430,"data":478,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":479,"multiChoiceQuestion":480,"multiChoiceCorrect":482,"multiChoiceIncorrect":483,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":484,"matchPairsPairs":485},[425,428,429],[481],"A screen is an example of what?",[438],[436,434,437],[211],[486],{"left":487,"right":438,"direction":36},"A screen is an example",{"id":489,"data":490,"type":24,"maxContentLevel":36,"version":24,"reviews":493},"d74e71c7-6c37-4255-a200-9321a724bb2b",{"type":24,"contentRole":27,"markdownContent":491,"audioMediaId":492},"The components we’ve discussed so far – input devices, CPU, memory, output devices, and power supply – are the minimum possible components needed for a standard modern computer. But of course, most computers contain many more components than this.\n\nThese include cooling devices such as fans and heat sinks, which prevent more powerful systems from overheating. Then there are graphics cards, sound cards, ports, batteries, screens, keyboards, and many more components that go into making the computer usable and effective. But these are all supplementary to that core architecture – a CPU, memory, input and output.","6a64dca4-b722-4092-95f6-b65101303717",[494,505,514],{"id":495,"data":496,"type":82,"version":24,"maxContentLevel":36},"68e657b3-0f17-4b7b-9563-08bbb476091f",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":497,"multiChoiceCorrect":499,"multiChoiceIncorrect":501,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[498],"What do you call the circuit board that houses all of the computer’s components like the CPU, the memory and the storage?",[500],"Motherboard",[502,503,504],"Fatherboard","Daughterboard","PCB",{"id":506,"data":507,"type":82,"version":24,"maxContentLevel":36},"8995f1f6-e429-4916-b6d9-1b889b88f47d",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":508,"binaryCorrect":510,"binaryIncorrect":512},[509],"What kind of power is usable for computers?",[511],"DC",[513],"AC",{"id":515,"data":516,"type":82,"version":24,"maxContentLevel":36},"b4ab1a1f-404b-4a58-87ba-13b6709f264b",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":517,"multiChoiceCorrect":519,"multiChoiceIncorrect":521,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[518],"Select the components that form the core architecture of a computer:",[434,128,520],"Input and output",[522],"Keyboard",{"id":524,"data":525,"type":27,"version":27,"maxContentLevel":36,"summaryPage":527,"introPage":535,"pages":542},"d72f9634-5e44-438c-b183-239cda552506",{"type":27,"title":526},"Transistors",{"id":528,"data":529,"type":36,"maxContentLevel":36,"version":24},"fba8328c-bfcc-480b-aed7-b32b924af206",{"type":36,"title":47,"summary":530},[531,532,533,534],"A transistor is a switch that can control whether current flows","It is made up of a base, collector, and emitter","By applying power to base, we allow current to flow from the collector to the emmitter","Current flowing is treated as a '1', whereas no current is treated as a '0'",{"id":536,"data":537,"type":29,"maxContentLevel":36,"version":24},"fe23e670-6be3-4295-a11b-2208ae3266a6",{"type":29,"title":47,"intro":538},[539,540,541],"What a transistor is","How transistors can represent 1s and 0s","How arrangements of transistors can represent complex data",[543,560,586],{"id":544,"data":545,"type":24,"maxContentLevel":36,"version":24,"reviews":548},"12f22445-09dd-4468-a5d9-4f7907bd19bd",{"type":24,"contentRole":27,"markdownContent":546,"audioMediaId":547},"When you look at the basic architecture of the computer, as we did in the last orb, you can see that data is inputted into the CPU, where it is processed, and an output is produced.\n\nBut how does this happen? How does a machine execute commands on a piece of data? The answer is: it’s complicated. But we’re going to break it down slowly so that we can really understand the components that go into processing data.\n\nThe first building block that we need to get our heads round is the idea of a transistor. A transistor is a tiny electronic device that acts as a switch or an amplifier for electrical signals. It's made from semiconductor materials, typically silicon.\n\n![Graph](image://63967407-4f93-46aa-87d3-f041a1c15d84 \"Various designs of transistor. Image: Transistors.agr by ArnoldReinhold (CC BY-SA 3.0) \u003Chttp://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons\")\n\nRemember how, in a Turing machine, data would be represented as 1s or 0s? Well, transistors act as switches that can either be on or off. A 1 is represented by a transistor that is on, and a 0 is represented by a transistor that is off.","89c732af-0591-4295-b6c2-51867d5955ff",[549],{"id":550,"data":551,"type":82,"version":24,"maxContentLevel":36},"72045f31-7fc2-4bbf-a868-bae37bb4b7cb",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":552,"multiChoiceCorrect":554,"multiChoiceIncorrect":556,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[553],"What is a transistor?",[555],"A switch for electronic signals",[557,558,559],"A light emitting diode","A memory unit in computing","A type of semiconductor material",{"id":561,"data":562,"type":24,"maxContentLevel":36,"version":27,"reviews":565},"c60cda94-5645-4706-b980-c8dbdf415c40",{"type":24,"contentRole":27,"markdownContent":563,"audioMediaId":564},"The key feature of a transistor is its ability to control the flow of electricity. It has three terminals: the base, collector, and emitter. By applying a small electrical charge to the base, you can control whether electricity flows from the collector to the emitter. This simple on/off functionality is what makes transistors so powerful in digital systems.\n\nIn the image below, you can see a diagram of a classic Bipolar Junction Transistor (BJT). The ‘B’ stands for ‘Base’, the ‘C’ for ‘Collector’ and the ‘E’ for ‘Emitter’.\n\n![Graph](image://16663ee1-5b9c-46a1-a7b7-48434001b3bb \"A diagram of a transistor. Zedh (talk · contribs), CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nAs you can see from the direction of the arrow, the current flows from the Collector to the Emitter. But it needs to pass through the Base in order to get there. The Base functions like a gate that will either cut the power off or allow it flow through. The state of the Base (whether it is open or closed) depends on whether it has a current being applied to it from its separate power source (indicated by the line sticking out to the left).\n\nSo, if we put a separate current through B, a current will be able to flow from C to E. If we turn the current off at B, no current will flow from C to E.\n\nEach switching operation from the on to the off state requires a little current that leads to electric losses. These losses are dissipated as heat - that's why processors and phones get hot when they are processing something.","583743b6-9728-47d9-923a-012208fc5367",[566,578],{"id":567,"data":568,"type":82,"version":27,"maxContentLevel":36},"08d984c8-dd83-4fa9-a6db-595aeb6f2d8d",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":569,"multiChoiceCorrect":571,"multiChoiceIncorrect":575,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[570],"Select the three terminals in a bipolar junction transistor:",[572,573,574],"Base","Collector","Emitter",[576,577],"Junction","Transmitter",{"id":579,"data":580,"type":82,"version":24,"maxContentLevel":36},"fda7544f-a690-4623-9a77-f660ddb3fc18",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":581,"multiChoiceCorrect":583,"multiChoiceIncorrect":584,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[582],"Which part of the transistor functions like a gate?",[572],[573,574,585],"None of them",{"id":587,"data":588,"type":24,"maxContentLevel":36,"version":27,"reviews":591},"5435b638-90b1-4d82-944a-da13ad3f4533",{"type":24,"contentRole":27,"markdownContent":589,"audioMediaId":590},"So, a transistor is a gate that allows us to control whether a current can pass through, and is controlled by a separate current. By switching the power on or off on ‘B’, we can control whether a separate current is flowing from ‘C’ to ‘E’.\n\nAnd that, in a nutshell, is what is happening inside of a CPU. Except instead of there being just one transistor, there are millions or even billions of microscopically small ones. One transistor will receive either a current, or no current, and the resulting current will dictate whether another transistor transmits current or not, which will control another transistor, and so on. Across a vast array of transistors, this system can be used to represent and process complex data.\n\nA really crucial part of how this process works is the arrangement of the transistors. Transistors are organized into smart formations called digital circuits. The most common type of digital circuit is called a logic gate, which we will discuss in the next orb.","e0a90d5b-6caf-465c-b9ff-dd1c44402d85",[592],{"id":593,"data":594,"type":82,"version":27,"maxContentLevel":36},"87491994-7ad5-4cef-a26f-44b6a56276db",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":595,"binaryCorrect":597,"binaryIncorrect":599},[596],"If there is power applied at the base in a transistor, will current flow from the collector to the emitter?",[598],"Yes",[600],"No",{"id":602,"data":603,"type":27,"version":27,"maxContentLevel":36,"summaryPage":605,"introPage":612,"pages":619},"21fa0384-58e4-4fbb-8710-8cce79b82d69",{"type":27,"title":604},"Logic gates",{"id":606,"data":607,"type":36,"maxContentLevel":36,"version":24},"b69c2835-d9b6-4b01-93a1-89ede232f4e1",{"type":36,"title":47,"summary":608},[609,610,611],"Logic gates are arrangements of transistors, that can perform logical checks","For example, an AND gate checks whether two inputs are both 1s","There are many logic gates that can perform multiple checks",{"id":613,"data":614,"type":29,"maxContentLevel":36,"version":24},"94c606b8-3c57-4546-8fe9-48fba37a83bd",{"type":29,"title":47,"intro":615},[616,617,618],"How transistors can be arranged into logic gates","How logic gates can perform logical checks on inputs","Different types of logic gate and their functions",[620,636,649,687,692],{"id":621,"data":622,"type":24,"maxContentLevel":36,"version":24,"reviews":625},"abd09b26-53ba-4afa-bd4d-fc891704377c",{"type":24,"contentRole":27,"markdownContent":623,"audioMediaId":624},"Computers work by applying current through transistors according to a set of rules. Using a huge number of transistors which turn on (1) or off (0), we can transmit and process any data we like, using binary notation.\n\nBut how does this actually make changes to that data? How do computers perform arithmetic, or logical checks like whether a condition is true or not? Let’s dig a bit deeper into the *processing* part of the process.\n\nAs we’ve discussed, the on or off states of transistors are used to represent 1s and 0s. Processing of that data is achieved by arranging many transistors into a particular shape. These shapes are called digital circuits, and the most important form of digital circuit is a logic gate.","b932cac2-0e34-4c73-b176-a24470d4556f",[626],{"id":627,"data":628,"type":82,"version":24,"maxContentLevel":36},"a43c42b2-a9bd-4c83-9278-4bc8b006d2dd",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":629,"multiChoiceCorrect":631,"multiChoiceIncorrect":632,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[630],"What is the most fundamental component in digital circuits, which can act as basic switches?",[526],[633,634,635],"Resistors","Relays","Transformers",{"id":637,"data":638,"type":24,"maxContentLevel":36,"version":24,"reviews":641},"d8729d07-6ce9-434f-94b4-8ad067032212",{"type":24,"contentRole":27,"markdownContent":639,"audioMediaId":640},"Logic gates are smart ways of arranging transistors so that they perform logical checks on their inputs. For example, there is an AND gate, which is designed to check whether two separate inputs are both 1s. We input either a 1 or a 0 into two different inputs, and the gate will output a 1 if they are both 1s, or a 0 if they are anything else.\n\nThis functionality can be achieved quite simply by arranging transistors in the pattern below.\n\n![Graph](image://6ee4c897-ba23-4ff8-b4c3-f83234114e70 \"EBatlleP, CC BY-SA 3.0 \u003Chttps://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons\")\n\nIn order to check whether the inputs ‘A’ and ‘B’ are both 1s, we simply send a current from point ‘V’ to the output points at the bottom. Remember that the transistor will only allow a current through it if another current is being applied to it (from points A and B, respectively). So, in order for the current to be received at the output point, there must be a current flowing through both A AND B, meaning they are both 1s.\n\nRather than drawing the circuit above every time we want to indicate an AND gate, electrical engineers use the following symbol, which means exactly the same thing:\n\n![Graph](image://bcdb8427-413b-45e7-b9f3-ee6591145b08 \"An AND gate symbol. Image: Public domain\")","9a75dc57-375c-461f-a66e-811cec33e265",[642],{"id":643,"data":644,"type":82,"version":24,"maxContentLevel":36},"a1e15d35-1ac5-42ed-be01-f654cabc8d93",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":645,"binaryCorrect":647,"binaryIncorrect":648},[646],"If we input a 1 and a 0 into an AND gate, what will the output be?",[95],[94],{"id":650,"data":651,"type":24,"maxContentLevel":36,"version":27,"reviews":654},"14d69905-9621-4ce4-aa2d-2ff208199916",{"type":24,"contentRole":27,"markdownContent":652,"audioMediaId":653},"In addition to AND gates, there are several other logic gates that are essential to the basic logical operations performed inside a computer. The main ones are OR, NOR, NOT, NAND, XOR and XNOR. They are represented using the symbols below:\n\n![Graph](image://25086665-4439-4870-8746-f7f70bc0b126 \"Logic gates. Image: Public domain via logancollinsblog.com\")\n\nAs well as the symbols used to represent the different gates, this table shows the functionality of each of the logic gates in the ‘Rule’ column. The numbers on the left are the input signals, and the number on the right is the output. So you’ll see for the AND gate, if the two inputs are 0 (marked as ‘00’), then the output will be 0. If input A is 1 and input B is 0 (marked as ‘10’), then the output will also be 0, and so on.\n\nBased on that, you should be able to figure out what all of these different gates do. The OR gate outputs a 1 if either the A or B inputs are 1s. The NAND gate is short for NOT AND. As you can see, it does the opposite of the AND gate, outputting a ‘1’ for any inputs except for ‘11’.\n\nThe NOR gate does the opposite of the OR gate – only outputting a ‘1’ if there is a ‘00’ input. The XOR gate can be thought of as a strict OR gate – it only outputs a 1 if one of the two inputs is a ‘1’, not if both the inputs are a ‘1’. Lastly, the XNOR gate does the inverse of the XOR gate, returning a ‘1’ only if the inputs are ‘11’ or ‘00’.\n\nThe NOT gate is different to all of these, because it only takes one input. It works by outputting the opposite of whatever is put in. If it is an input of ‘1’, it outputs ‘0’, and vice versa.","b240e0bb-5d20-471b-9923-5069d2182b4d",[655,676],{"id":656,"data":657,"type":82,"version":24,"maxContentLevel":36},"87a2b5bd-7cd1-4110-af6d-bd95b4b48838",{"type":82,"reviewType":37,"spacingBehaviour":24,"matchPairsQuestion":658,"matchPairsPairs":660,"matchPairsShowExamples":6},[659],"Match the logic gate to its functionality:",[661,664,667,670,673],{"left":662,"right":663,"direction":36},"OR","1' output for anything except '00'",{"left":665,"right":666,"direction":36},"NAND","'1' output for anything except '11'",{"left":668,"right":669,"direction":36},"NOR","'0' output for everything except '00'",{"left":671,"right":672,"direction":36},"XOR","'1' output if either of the inputs is '1', but not if both",{"left":674,"right":675,"direction":36},"XNOR","'1' output if both the inputs are the same",{"id":677,"data":678,"type":82,"version":24,"maxContentLevel":36},"7b36eee8-fffc-4f89-b92e-b3d471e34e11",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":679,"multiChoiceCorrect":681,"multiChoiceIncorrect":684,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[680],"Select all that apply to the NOT gate:",[682,683],"Takes one input","Outputs the opposite of the input",[685,686],"Takes two inputs","Outputs '1' from '11'",{"id":688,"data":689,"type":24,"maxContentLevel":36,"version":24},"274324c6-6a69-4c1f-b2af-88b1ace34e11",{"type":24,"contentRole":27,"markdownContent":690,"audioMediaId":691},"By combining many of these logic gates together, a CPU is able to perform complex logical checks and operations to process data.\n\nIf you remember the example we used of the Turing machine at the start of this pathway, the human performed simple checks on 1s and 0s to execute a more complex operation on some data. Logic gates, these smart combinations of transistors, are how computers perform such simple checks. By combining these simple checks across massive numbers of logic gates and transistors, they can perform computations at a massive scale and speed.\n\nLogic gates are not an easy concept to get your head around, especially when we think about them working in combination to perform all the complex processing that computers are capable of. We could go into more detail about this, but unless you are doing advanced computer science, it’s probably enough to understand them at the level that we’ve described.","d0d7bee0-8b6a-4dac-a8ec-c6b986c6455e",{"id":693,"data":694,"type":24,"maxContentLevel":36,"version":24,"reviews":697},"9a96d3e9-f475-49e8-82b9-e366abd8a4b6",{"type":24,"contentRole":27,"markdownContent":695,"audioMediaId":696},"In addition to logic gates, there are also other kinds of digital circuits. Memory cells are tiny combinations of transistors that can store ‘memories’. Each memory stores one bit (meaning a single 1 or 0). Like logic gates, they are made up of simple combinations of transistors. Memory cells simply record a single 1 or 0, until their state is changed. Memory cells are organized into larger structures, such as registers and memory arrays, which provide the storage capacity needed for computer programs and data.\n\nDigital circuits also include various control and timing elements, such as clocks and flip-flops. Clocks generate regular pulses that synchronize the operation of different parts of the circuit, ensuring that data is processed in a coordinated manner. Flip-flops, on the other hand, are used to store and transfer data between different stages of a circuit, acting as temporary holding cells that help maintain the flow of information.\n\nLike logic gates, these are essential pieces in the puzzle of how computers perform operations on data.","f8eb3035-92ea-440f-8317-a1123303563b",[698],{"id":699,"data":700,"type":82,"version":24,"maxContentLevel":36},"a9b1e448-3cc1-4dfd-9dae-372584380e5f",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":701,"multiChoiceCorrect":703,"multiChoiceIncorrect":705,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[702],"How much information does a memory cell store?",[704],"One bit",[706,707,708],"One byte","One kilobyte","One megabyte",{"id":710,"data":711,"type":28,"maxContentLevel":36,"version":67,"orbs":714},"f6730077-c656-431b-9b99-6fbdab96d0cb",{"type":28,"title":712,"tagline":713},"How Computers Represent and Process Data","How the binary system and higher-level languages allow us to interact with computers",[715,789,914],{"id":716,"data":717,"type":27,"version":67,"maxContentLevel":36,"summaryPage":719,"introPage":726,"pages":733},"1bfe654c-34af-465e-90be-7d0a0d20e0c6",{"type":27,"title":718},"Bits, bytes, and the binary system",{"id":720,"data":721,"type":36,"maxContentLevel":36,"version":24},"61341145-8dad-41d5-8198-a6a5f7fb3496",{"type":36,"title":47,"summary":722},[723,724,725],"Bits are individual 1s and 0s","Bytes are combinations of 8 bits, which can be used to represent data","Booleans are a data type that can either be 'True' or 'False'",{"id":727,"data":728,"type":29,"maxContentLevel":36,"version":24},"536cb2b4-ece2-4bd5-b6f7-742949722fd4",{"type":29,"title":47,"intro":729},[730,731,732],"What bits and bytes are","How binary represents numbers and text","How Booleans are used for computer logic",[734,758,773],{"id":735,"data":736,"type":24,"maxContentLevel":36,"version":27,"reviews":739},"00db76b8-cae6-4b69-b4af-85205a426975",{"type":24,"contentRole":27,"markdownContent":737,"audioMediaId":738},"At the heart of every computer lies the binary system, a method of representing data using only two states: 0 and 1. These states are known as bits, short for binary digits. A bit is the smallest unit of data in a computer and can represent one of two values, typically interpreted as off (0) or on (1).\n\n![Graph](image://d0d20b6c-f084-499f-8a5e-84b097e4750f \"Binary number table by Elaz85 (CC BY-SA 4.0) \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nWe’ve already discussed the hardware components that allow these values to be represented in the computer. Now we’re going to look into more detail about the kinds of data that can be represented and operations that can be performed using these methods.\n\nA group of eight bits forms a byte, which is a fundamental unit of data storage in computing. With eight bits, a byte can represent 256 different values, ranging from 0 to 255. For example, the number 1 would be 00000001, and the number 201 would be 11001001. Bytes are the building blocks for representing various types of data, including characters, numbers, and more complex structures.","d833239e-9759-4416-923d-60be5cca6e82",[740,747],{"id":741,"data":742,"type":82,"version":24,"maxContentLevel":36},"2a4f8982-1f63-47ea-88f1-6bbd53a8acae",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":743,"multiChoiceCorrect":745,"multiChoiceIncorrect":746,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[744],"How many different values can a bit represent?",[97],[94,95,98],{"id":748,"data":749,"type":82,"version":27,"maxContentLevel":36},"48fc8921-31ac-4484-8b40-bb37afb39bca",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":750,"multiChoiceCorrect":752,"multiChoiceIncorrect":754,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[751],"How many bits are there in the binary number 0000001011011110?",[753],"16",[755,756,757],"8","4","32",{"id":759,"data":760,"type":24,"maxContentLevel":36,"version":36,"reviews":763},"55f8394c-c28b-4b67-bd0f-68e5344ad317",{"type":24,"contentRole":27,"markdownContent":761,"audioMediaId":762},"To understand how computers use the binary system to represent data, consider the example of a simple number. In the decimal system, the number 5 is represented as '5'. In binary, the same number is represented as '101'. Each position in a binary number represents a power of 2, starting from the rightmost digit.\n\nFor instance, the binary number '101' can be broken down as follows: the rightmost digit (1) represents 2⁰ (equal to 1), the middle digit (0) represents 2¹ (equal to 2), and the leftmost digit (1) represents 2² (equal to 4). Adding these values together (1 \\* 2² + 0 \\* 2¹ + 1 \\* 2⁰) gives us the decimal number 5.\n\nBinary representation is not limited to numbers. It is also used to encode characters, images, and other types of data. For example, the letter 'A' is represented in binary as '01000001'. This encoding is part of a standardized system known as ASCII (American Standard Code for Information Interchange), which assigns a unique binary value to each character. By converting characters into binary, computers can store and manipulate text efficiently.\n\n![Graph](image://0a66654a-d9d6-4cb6-8604-28004b21ddc1 \"Table of ASCII characters. Image: ASCII-Table.svg: ZZT32derivative work: Usha, Public domain, via Wikimedia Commons\")","28c084c5-348f-4003-b073-c2e59eaec98a",[764],{"id":765,"data":766,"type":82,"version":24,"maxContentLevel":36},"b1a17518-41f0-44a0-8764-26e4efb6aff7",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":767,"binaryCorrect":769,"binaryIncorrect":771},[768],"What number is represented by the rightmost digit in a binary number?",[770],"2⁰",[772],"2¹",{"id":774,"data":775,"type":24,"maxContentLevel":36,"version":24,"reviews":778},"c3d9e769-1033-4a56-9ae3-946b93374886",{"type":24,"contentRole":27,"markdownContent":776,"audioMediaId":777},"In addition to representing data, the binary system is crucial for data processing. Computers use binary arithmetic to perform calculations, logical operations, and data manipulation. Binary arithmetic involves operations such as addition, subtraction, multiplication, and division, all performed using binary numbers. These operations are carried out by the computer's central processing unit (CPU), which is designed to handle binary data at high speeds.\n\nLogical operations, such as AND, OR, and NOT, are also performed using binary values. These operations are fundamental to decision-making processes in computer programs. For example, an AND operation takes two binary inputs and produces a result of 1 only if both inputs are 1. Otherwise, the result is 0. As we’ve previously discussed, these logical operations enable computers to execute complex algorithms and make decisions based on binary data.\n\n![Graph](image://8089a46e-e38a-4f84-835f-85408eb8872d \" \")\n\nBooleans are a simple data type that can hold one of two values: true or false. Therefore they closely represent the concept of bits. Booleans are used in logical operations and control flow statements, such as if-else conditions and loops. They are essential for decision-making processes in programs, allowing the computer to execute different actions based on certain conditions.","19933413-c259-42aa-9b3c-d39d2fb2da78",[779],{"id":780,"data":781,"type":82,"version":24,"maxContentLevel":36},"0cdc04ac-fb14-4599-a36d-0849c884be41",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":782,"multiChoiceCorrect":784,"multiChoiceIncorrect":786,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[783],"Which data type can be either 'true' or 'false'?",[785],"Booleans",[787,604,788],"AND operators","Binary arithmetic",{"id":790,"data":791,"type":27,"version":36,"maxContentLevel":36,"summaryPage":793,"introPage":801,"pages":808},"0d3d6767-50cb-4e9d-a8cf-a886985b60d4",{"type":27,"title":792},"Variables and data types",{"id":794,"data":795,"type":36,"maxContentLevel":36,"version":24},"d5961e6b-2671-41ee-ae06-d275a4e82430",{"type":36,"title":47,"summary":796},[797,798,799,800],"Variables are named storage units that can change what they contain","Data types are like labels for variables, describing what kind of data is in them","Strings, integers, floating points, and Booleans are data types","Data type errors are a very common cause of issues in computers",{"id":802,"data":803,"type":29,"maxContentLevel":36,"version":24},"bb6a8a40-233a-47b0-b1a3-cc39fabc4699",{"type":29,"title":47,"intro":804},[805,806,807],"What variables and data types are","How different data types allow computers to accomplish different tasks","How a data type error led to the 'Nuclear Gandhi' bug",[809,842,858,886,901],{"id":810,"data":811,"type":24,"maxContentLevel":36,"version":27,"reviews":814},"59a5fb5a-d403-4dc8-85af-fe8ff7ba046a",{"type":24,"contentRole":27,"markdownContent":812,"audioMediaId":813},"Variables are named storage locations in a computer's memory. They allow computers to store, manipulate, and retrieve information efficiently. A data type is a classification for a variable, which specifies the type of data that a variable can hold.\n\nFor example, your computer might store a variable called ‘password’. It stores your password in that allocated part of memory, accessing it when needed. When you want to change your password, the data value within that variable will be changed, but the variable ‘password’ will continue to exist.\n\nData types are like labels for variables, which describe what kind of data they contain. In the case of the ‘password’ example given above, the data type would be a sequence of raw text, which we call a ‘string’. A string stored as the password might look like this: “Il0vekinnu123”. The ‘password’ variable is labelled by the computer as a string, meaning it knows to treat it as a line of raw text, rather than something else.\n\n![Graph](image://de6a20ab-0775-4bb2-8549-a006efca5723 \"Setting the data type of the variable 'password' to 'string', and then setting the value of the variable, in the Python coding language. Image: Public domain\")\n\nSo, we’d have a variable, which would be the ‘password’ container, a data type, which would be ‘string’, and a value that’s stored in that variable, ‘IlOvekinnu123’.","e4b90d99-dcaf-46b2-935a-1f884cde194c",[815,822],{"id":816,"data":817,"type":82,"version":24,"maxContentLevel":36},"71c24b37-e7cc-4264-8023-cc03b5f63201",{"type":82,"reviewType":67,"spacingBehaviour":24,"clozeQuestion":818,"clozeWords":820},[819],"Variables are named storage locations in a computer's memory.",[821],"Variables",{"id":823,"data":824,"type":82,"version":24,"maxContentLevel":36},"98a82b68-9fb9-42a0-bfd2-e75bfbd4c303",{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":825,"multiChoiceQuestion":829,"multiChoiceCorrect":831,"multiChoiceIncorrect":833,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":837,"matchPairsPairs":839},[826,827,828],"f036c0a9-88f2-4254-af06-2cb9a1cdb855","faeace67-3b76-4839-9899-0d5cfe4d57e4","1823df16-e9ab-4c6e-ad24-5f67d2c03b11",[830],"A password value like \"Umbre11anapkin\" would be what data type?",[832],"String",[834,835,836],"Integer","Floating point","Boolean",[838],"Match the data type to its example:",[840],{"left":836,"right":841,"direction":36},"True",{"id":843,"data":844,"type":24,"maxContentLevel":36,"version":24,"reviews":847},"375a738e-7567-4c96-a1a9-58fd7b94a167",{"type":24,"contentRole":27,"markdownContent":845,"audioMediaId":846},"In addition to the string data type we mentioned, there are several basic data types that are used in most computer programs.\n\nIntegers are whole numbers and are one of the most commonly used data types in computing. Any regular, whole number is an integer. They are typically stored in a fixed number of bits, such as 8, 16, 32, or 64 bits.\n\n![Graph](image://266d121a-d15b-46d7-b67c-34aa4ce5a636 \"Declaring an 'age' variable as an integer, and setting its value\")\n\nOften, integers exist as signed and unsigned versions. Signed data types can represent both positive and negative values, while unsigned data types can only represent non-negative values.","bbadcf09-bac1-405f-a590-091475681d72",[848],{"id":828,"data":849,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":850,"multiChoiceQuestion":851,"multiChoiceCorrect":853,"multiChoiceIncorrect":854,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":855,"matchPairsPairs":856},[823,826,827],[852],"A regular, whole number like '32' would be what data type?",[834],[835,832,836],[838],[857],{"left":834,"right":757,"direction":36},{"id":859,"data":860,"type":24,"maxContentLevel":36,"version":24,"reviews":863},"07195f45-aa64-464f-ad06-39e9fce6132c",{"type":24,"contentRole":27,"markdownContent":861,"audioMediaId":862},"Floating-point numbers, on the other hand, are used to represent real numbers that have a fractional component, such as 3.14 or -0.001. These numbers are stored in a format that includes a sign bit (used to indicate positive or negative), an exponent (to define the scale of the number), and a mantissa (which represents the precise numerical value of the number).\n\n![Graph](image://31cc0203-795a-4fd0-bc1c-5941056db88a \"Declaring a 'pi' variable, with the floating point data type\")\n\nAnother basic data type is a Boolean. This is a data value that can either be ‘True’ or ‘False’, and is very useful for many programming tasks. For example, a program might have a Boolean variable called ‘user_is_authorised’, and the value could be either ‘True’ or ‘False’. The program can access that variable to check whether a given user is allowed to view something.\n\n![Graph](image://4bbcce90-f0bb-4206-98aa-2ab9cb432e3b \"Declaring a Boolean variable\")\n\nIn addition to the basic data types, many programming languages support more complex data structures, such as arrays, lists, and objects. These are often collections of other data types or specifically designed custom data types.","2852d491-2857-4efb-a76d-18b62d25b424",[864,875],{"id":826,"data":865,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":866,"multiChoiceQuestion":867,"multiChoiceCorrect":869,"multiChoiceIncorrect":870,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":871,"matchPairsPairs":872},[823,827,828],[868],"A fractional number like '3.1416' would be what data type?",[835],[834,836,832],[838],[873],{"left":835,"right":874,"direction":36},"3.1416",{"id":827,"data":876,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":877,"multiChoiceQuestion":878,"multiChoiceCorrect":880,"multiChoiceIncorrect":881,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":882,"matchPairsPairs":883},[823,826,828],[879],"What data type can either be 'True' or 'False'?",[836],[834,835,832],[838],[884],{"left":832,"right":885,"direction":36},"\"Umbre11anapkin\"",{"id":887,"data":888,"type":24,"maxContentLevel":36,"version":27,"reviews":891},"02d42602-7c10-4d03-823d-7fa870a059d8",{"type":24,"contentRole":27,"markdownContent":889,"audioMediaId":890},"While data types seem like a basic concept, their misuse can lead to some surprising and sometimes catastrophic errors. One famous example is the \"Nuclear Gandhi bug\" in the 1991 game Civilization. In Civilization, leaders (the players' enemies) are assigned an aggression level. Remember, unsigned integers can only have positive values.\n\n![Graph](image://b29f2de0-2ebc-4173-a1db-c66cf9fafdd3 \"Image: Facenapalm, CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nWhen a leader changes their government to a democracy the aggression level gets reduced by 2, with Gandhi starting with a level of 1. Because the resulting level of -1 cannot be stored in a range of 0-255, it was stored as 255.\n\nThis increased aggression level made the peace-loving leader suddenly attack other leaders with nuclear weapons. Though the founder of the game later stated that this was an urban legend, the story is still used to explain integer overflow.","966e0a83-743a-4338-b0a1-82baa573a180",[892],{"id":893,"data":894,"type":82,"version":24,"maxContentLevel":36},"b67c14d3-f933-4983-b1e2-6f0104cdd051",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":895,"binaryCorrect":897,"binaryIncorrect":899},[896],"What caused the Nuclear Gandhi bug?",[898],"Unsigned integers cannot be negative",[900],"Signed integers cannot be negative",{"id":902,"data":903,"type":24,"maxContentLevel":36,"version":24,"reviews":906},"234c7139-1af9-4d1f-87f9-196fae975a95",{"type":24,"contentRole":27,"markdownContent":904,"audioMediaId":905},"The Gandhi bug may be an urban legend, but there are other, real-life cases where integer overflow errors have caused huge issues.\n\nOne famous example is the crash of the Ariane 5 rocket during its maiden flight in 1996, which can be predominantly attributed to an integer overflow error. This was a very simple error, caused by an attempted data conversion from a 64-bit floating-point value to a 16-bit signed integer.\n\nThese are just a few examples, and similar errors involving data types can lead to financial miscalculations, incorrect scientific results, or even malfunctions in critical systems. Careful selection and understanding of data types are essential for ensuring the reliability and accuracy of any program.","c726a7bd-1161-43d3-a8ab-5efbce97c27b",[907],{"id":908,"data":909,"type":82,"version":24,"maxContentLevel":36},"133bfbe0-ac0a-4e3c-93d8-332c0f12f1ca",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":910,"activeRecallAnswers":912},[911],"What caused the crash of the Ariane 5 rocket?",[913],"Attempting to convert a 64-bit floating point to a 16-bit signed integer",{"id":915,"data":916,"type":27,"version":36,"maxContentLevel":36,"summaryPage":918,"introPage":925,"pages":932},"dfd9224b-8ac5-41fb-9521-0de0ec1a72e5",{"type":27,"title":917},"Character encoding, ASCII and unicode",{"id":919,"data":920,"type":36,"maxContentLevel":36,"version":24},"ba495e08-0266-4212-b371-539d7af82c87",{"type":36,"title":47,"summary":921},[922,923,924],"Character encoding means representing characters using binary code","The most influential character encoding system is ASCII","ASCII assigns numbers to 128 characters, and thus represents them through binary",{"id":926,"data":927,"type":29,"maxContentLevel":36,"version":24},"6f3b8dac-143e-4488-81b2-f8475f2f25b4",{"type":29,"title":47,"intro":928},[929,930,931],"What character encoding is","How binary can be used to represent text characters","What ASCII is and why it matters",[933,950,967],{"id":934,"data":935,"type":24,"maxContentLevel":36,"version":24,"reviews":938},"4dc50a45-5f0f-436b-98c7-d81671aa7c04",{"type":24,"contentRole":27,"markdownContent":936,"audioMediaId":937},"When you type a letter on your keyboard, how does your computer know which letter you pressed? The answer lies in character encoding, a system that translates characters into a format that computers can understand and process. One of the most fundamental and widely used character encoding schemes is ASCII, which stands for American Standard Code for Information Interchange.\n\nASCII was developed in the early 1960s and has since become a cornerstone of computer systems. It uses a 7-bit binary number to represent each character, allowing for 128 unique symbols. These symbols include the English alphabet (both uppercase and lowercase), digits, punctuation marks, and control characters like the newline or carriage return. For example, the uppercase letter 'A' is represented by the binary number 01000001, which is 65 in decimal form. Similarly, the lowercase 'a' is represented by 01100001, or 97 in decimal.\n\nThe beauty of ASCII lies in its simplicity and universality. Because it uses only 7 bits, it fits neatly into the 8-bit byte, the basic unit of data in most computer systems. This makes it highly efficient for storage and transmission. ASCII's straightforward mapping of characters to numbers also makes it easy to implement in hardware and software, ensuring compatibility across different systems and platforms.","8d6e2bc4-67e6-423d-89fc-75a23f81967b",[939],{"id":940,"data":941,"type":82,"version":24,"maxContentLevel":36},"3b4dd3c1-3e52-4e1f-adf3-7f1947c2b7fd",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":942,"multiChoiceCorrect":944,"multiChoiceIncorrect":946,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[943],"Which of these is a standard system for character encoding in computers?",[945],"ASCII",[947,948,949],"ATARI","ABACUS","ABBA",{"id":951,"data":952,"type":24,"maxContentLevel":36,"version":27,"reviews":955},"55bd6e39-f6a0-419c-8709-51d13f5f4487",{"type":24,"contentRole":27,"markdownContent":953,"audioMediaId":954},"However, ASCII has its limitations. With only 128 possible characters, it cannot accommodate the vast array of symbols used in languages other than English. To address this, various extensions and alternative encoding schemes have been developed.\n\nOne of the most notable is Unicode, which aims to provide a unique representation (called “code point”) for every character in every language. Unicode can use up to 32 bits per character, allowing for over a million unique symbols. Despite its broader scope, Unicode maintains backward compatibility with ASCII, meaning that the first 128 characters in Unicode are identical to those in ASCII.\n\n![Graph](image://fd9ca87f-e662-4c2a-a45d-603c752c0300 \"The Kinnu Octopus ‘Kiki’ as ASCII-Art; Source: generated via https://www.asciiart.eu/image-to-ascii\")","aa131e87-da3c-48d2-af15-53d159cf9057",[956],{"id":957,"data":958,"type":82,"version":27,"maxContentLevel":36},"8898fe2d-4e4b-45c4-a8af-f4295bd22905",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":959,"multiChoiceCorrect":961,"multiChoiceIncorrect":963,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[960],"What is a limitation of ASCII?",[962],"It has 128 possible characters",[964,965,966],"It has 256 possible characters","It can't represent numbers","It can't represent capital letters",{"id":968,"data":969,"type":24,"maxContentLevel":36,"version":27,"reviews":972},"f8a1555d-342d-45e9-bd67-cde98f6a5282",{"type":24,"contentRole":27,"markdownContent":970,"audioMediaId":971},"Character encoding is not just about representing letters and numbers; it also plays a crucial role in data integrity and security. When data is transmitted over a network, it is often encoded to ensure that it arrives at its destination without errors. \n\nEncoding schemes like Base64 are used to convert binary data into a text format that can be easily transmitted over text-based protocols like HTTP and SMTP. This is particularly important for sending binary files, such as images or executable programs, over the internet.\n\nMoreover, character encoding is essential for data storage and retrieval. When you save a text file, the characters are encoded into a binary format that can be written to disk. When you open the file, the binary data is decoded back into characters that you can read. If the encoding scheme is not correctly specified, you may end up with garbled text, a common issue when dealing with files created on different systems or in different languages.","1aa4ffb2-261d-4565-b790-1e6dc0a1f285",[973,980],{"id":974,"data":975,"type":82,"version":24,"maxContentLevel":36},"036ad399-2609-4a3d-895c-c6935db4a20f",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":976,"activeRecallAnswers":978},[977],"What is Base64 used for?",[979],"Character encoding for transmission over text-based protocols",{"id":981,"data":982,"type":82,"version":24,"maxContentLevel":36},"5b5dfa61-c9a5-4830-b7ac-89d6ca6babea",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":983,"multiChoiceCorrect":985,"multiChoiceIncorrect":987,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[984],"What common issue occurs when the encoding scheme is not correctly specified for a text file?",[986],"Garbled text",[988,989,990],"Slow data transmission","Increased file size","Reduced data security",{"id":992,"data":993,"type":28,"maxContentLevel":36,"version":67,"orbs":996},"454a7fe7-99d9-434a-8206-5145a95b7b32",{"type":28,"title":994,"tagline":995},"Hardware","A deeper dive into the components that make up computers",[997,1077,1167,1262,1348],{"id":998,"data":999,"type":27,"version":27,"maxContentLevel":36,"summaryPage":1001,"introPage":1008,"pages":1016},"c2cddf05-94dc-4a05-8bbf-7cfe31a4c677",{"type":27,"title":1000},"CPU: The computer's brain",{"id":1002,"data":1003,"type":36,"maxContentLevel":36,"version":24},"23b72cdb-be56-4e4f-a4a8-ee718e633eb4",{"type":36,"title":47,"summary":1004},[1005,1006,1007],"The CPU has an ALU for handling arithmetic","It also has a Control Unit for managing its operations","These work in harmony using the fetch-decode-execute cycle",{"id":1009,"data":1010,"type":29,"maxContentLevel":36,"version":24},"7aac0835-2e5c-4a2b-89ca-b84b8e5eff45",{"type":29,"title":47,"intro":1011},[1012,1013,1014,1015],"The role of the ALU and Control Unit","How the fetch-decode-execute cycle works","The relationship between RAM, CPU and the cache","How the CPU synchronizes using the clock",[1017,1032,1047,1062],{"id":1018,"data":1019,"type":24,"maxContentLevel":36,"version":27,"reviews":1022},"6112d525-07d7-405f-aeaf-6dc50b4cd36f",{"type":24,"contentRole":27,"markdownContent":1020,"audioMediaId":1021},"The Central Processing Unit (CPU) acts as the brain of the computer, responsible for performing calculations, executing instructions, and managing data flow. Software applications are composed of instructions that guide the CPU on tasks to perform. When a CPU has multiple cores, which are individual processing units within a processor, it enables parallel execution of tasks. In the diagram below, the CPU is the components in the ‘Processor’ box.\n\n![Graph](image://61e56ab9-115d-47b3-84f5-fc4d2f6c3356 \"Block diagram of a basic computer\")\n\nThe primary components of the CPU include the Arithmetic and Logic Unit (ALU) and the Control Unit. The ALU which conducts mathematical computations and logical operations, and various registers. These registers are small, fast storage areas within the CPU, with general-purpose registers (R1, R2, R3…) temporarily holding data and results, the Instruction Register storing the current instruction being executed, and the Instruction Address Register (IAR or Program Counter) tracking the address of the next instruction. The Control Unit manages the operations of the CPU, decoding instructions and directing their execution.","eccc46fd-72b6-45b4-9d00-5ce278cf018b",[1023],{"id":1024,"data":1025,"type":82,"version":24,"maxContentLevel":36},"6cc99c6d-6db5-42ca-ab74-01474730cf3c",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1026,"binaryCorrect":1028,"binaryIncorrect":1030},[1027],"Why do multiple cores enable a processor to run tasks simultaneously?",[1029],"It allows for parallel processing",[1031],"It allows for serial processing",{"id":1033,"data":1034,"type":24,"maxContentLevel":36,"version":27,"reviews":1037},"ee826692-6c7c-4602-9969-0da1062b4938",{"type":24,"contentRole":27,"markdownContent":1035,"audioMediaId":1036},"The CPU operates via the fetch-decode-execute cycle: fetching an instruction from memory, decoding it, and executing the specified action.\n\n![Graph](image://eb5b9460-fad8-468f-83f8-ab885bacc2bc \"Block diagram of a basic computer\")\n\nRandom Access Memory (RAM) provides fast, temporary storage used by the CPU for quick data access. The cache is a smaller, faster type of volatile memory located within the CPU, used to store frequently accessed data for quick retrieval, thus reducing the time needed to access data from the main RAM. Data buses serve as pathways that transfer data between the CPU and other components, facilitating essential communication.\n\nThe Control Unit directs the execution of instructions and the movement of data within the CPU. Interaction with memory is paramount as the CPU communicates with RAM and other components using buses that transfer address, data, and control signals, crucial for fetching instructions and data required for execution.","50498125-69e7-498e-8541-17687a7aa0df",[1038],{"id":1039,"data":1040,"type":82,"version":24,"maxContentLevel":36},"2da03b25-675b-4a88-824e-1fccddb7e31b",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1041,"binaryCorrect":1043,"binaryIncorrect":1045},[1042],"What term is used for the pathways between the CPU and other components?",[1044],"Data buses",[1046],"Data trains",{"id":1048,"data":1049,"type":24,"maxContentLevel":36,"version":24,"reviews":1052},"3a9b389e-22b2-41e6-90ab-26a44a9202c6",{"type":24,"contentRole":27,"markdownContent":1050,"audioMediaId":1051},"The CPU clock generates regular, precise signals that synchronize the operations of the CPU, ensuring that all components work in harmony. Clock speed, measured in Hertz (Hz), impacts performance, with higher clock speeds allowing more instructions to be processed per second. Modern CPUs typically operate in the gigahertz range (billions of cycles per second).\n\nOverclocking, the process of increasing the clock speed beyond the manufacturer's specifications, can boost performance but may lead to overheating and instability if not properly managed. Conversely, underclocking, or reducing the clock speed, saves power and reduces heat, beneficial for battery-powered devices like laptops and smartphones.","95624c35-a5ae-4bc6-bee8-dded70cd2b60",[1053],{"id":1054,"data":1055,"type":82,"version":24,"maxContentLevel":36},"d6f3548f-7601-4a73-9ae8-c492f121668b",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1056,"binaryCorrect":1058,"binaryIncorrect":1060},[1057],"What does the CPU clock do?",[1059],"Generate regular signals that synchronize the CPU",[1061],"Keep track of the time of day",{"id":1063,"data":1064,"type":24,"maxContentLevel":36,"version":24,"reviews":1067},"c9370150-49a8-4278-bdec-6070dd2b39a0",{"type":24,"contentRole":27,"markdownContent":1065,"audioMediaId":1066},"The CPU operates via the fetch-decode-execute cycle: fetching an instruction from memory, decoding it, and executing the specified action.\n\nConsider a simple program where the CPU needs to add two numbers. It loads a value from memory into a register, and then adds a register value to another register value, storing the result in a further register. Remember that registers are the storage units within the ALU and are represented by R1, R2, etc.\n\nLet's break down what each step is doing:\n\n1 – Fetch: The CPU fetches \"LOAD R1, 1000\" (0001 0001 1000) from memory. The first 4 bits are the opcode, specifying the operation (Load). The second 4 bits represent R1 as the destination register, and the last 4 bits are the memory address where the data is stored.\n\n2 – Decode: The Control Unit identifies the instruction as a Load operation and signals memory to load the value at address 1000 into R1.\n\n3 – Execute: The CPU executes the Load instruction by storing the fetched value into R1.\n\n4 – Fetch: The CPU fetches \"ADD R3, R1, R2\" from memory. (Let’s assume R2 was previously loaded with a value, to avoid repetition)\n\n5 – Decode: The Control Unit interprets it as an Add operation and prepares for addition using ALU.\n\n6 – Execute: The ALU adds the value in R1 to the one in R2, storing the result in R3.\n\nAt every Fetch step the IAR is incremented to point to the next instruction.","4774aabd-b4a7-4f27-8930-f58f8fda7224",[1068],{"id":1069,"data":1070,"type":82,"version":24,"maxContentLevel":36},"10910bd2-fb12-40c8-8ea7-231a3e768cd9",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":1071,"activeRecallAnswers":1073},[1072],"What are the three stages of the cycle followed by the CPU?",[1074,1075,1076],"Fetch","Decode","Execute",{"id":1078,"data":1079,"type":27,"version":27,"maxContentLevel":36,"summaryPage":1081,"introPage":1090,"pages":1097},"f5b52519-c584-4ba3-a1bc-5cddf58ea1b2",{"type":27,"title":1080},"Random Access Memory and storage types",{"id":1082,"data":1083,"type":36,"maxContentLevel":36,"version":24},"0d68b432-4cbb-4632-b4c2-a9e9412ef752",{"type":36,"title":47,"summary":1084},[1085,1086,1087,1088,1089],"RAM is memory that your CPU accesses for short-term processing","RAM is volatile, meaning it is wiped when the computer powers off","Long-term memory is stored either in HDD or SSD","HDDs are hard drives, which are older and slower","SSDs are solid state drives, which are faster but more expensive ",{"id":1091,"data":1092,"type":29,"maxContentLevel":36,"version":24},"0fa0ff3d-cd77-42c0-8b3c-67517429fa4b",{"type":29,"title":47,"intro":1093},[1094,1095,1096],"How RAM is used by your device","What volatile memory is","How long-term memory works in your computer",[1098,1112,1129,1154],{"id":1099,"data":1100,"type":24,"maxContentLevel":36,"version":24,"reviews":1103},"5bf6eb87-ca7d-4aea-8c39-fd3bd7e38bc0",{"type":24,"contentRole":27,"markdownContent":1101,"audioMediaId":1102},"When you use a computer, you interact with two main types of memory: Random Access Memory (RAM) and stored memory. RAM is the short-term memory of your computer, and the memory that’s being accessed for most of the processes you do. You can think of RAM as the data that’s stored at the “top of your head”.\n\nStored memory lives in storage devices. This would be the Hard Disk Drive (HDD), or hard drive, or a Solid State Drive (SSD). These drives serve as long-term memory, like a library or the storage unit you’re renting out.","0a05d1c7-008a-4668-a710-81d23a000fda",[1104],{"id":1105,"data":1106,"type":82,"version":24,"maxContentLevel":36},"90ef8710-7f38-42b1-8180-a6f47d1987a8",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1107,"binaryCorrect":1109,"binaryIncorrect":1111},[1108],"Which of these is the computer's long-term memory?",[1110],"Stored memory",[436],{"id":1113,"data":1114,"type":24,"maxContentLevel":36,"version":27,"reviews":1117},"4c278dcd-24e5-4ca9-b945-393b9a683d31",{"type":24,"contentRole":27,"markdownContent":1115,"audioMediaId":1116},"Let’s look further into RAM. RAM is a type of volatile memory, meaning it loses its data when the computer is turned off. It is used to store data that your computer needs to access quickly. For example, when you open a program, its information and data is loaded from your long-term memory (your hard drive) into the short-term memory holder, your RAM. This allows the CPU to access the program's data much faster than if it had to read it directly from the storage device.\n\nThe more RAM your computer has, the more data it can handle at once, which generally translates to better performance, especially when multitasking. Most standard laptops will have 4-8 gigabytes, or GBs of RAM, but laptops used for gaming, 3D modeling, or heavy programs might have 16GBs or more.\n\n![Graph](image://222e908b-38f9-4b4e-9cb6-e29646818de5 \"Expandable RAM cards. Image: Geni, CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")","fdba56c1-939a-46da-b0b1-e699851b7fd6",[1118],{"id":1119,"data":1120,"type":82,"version":24,"maxContentLevel":36},"d0e2ca6e-8b5c-4a1d-a9f6-5c68a1c6b1ea",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1121,"multiChoiceCorrect":1123,"multiChoiceIncorrect":1125,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1122],"A laptop used for gaming or 3D modelling would probably have how much RAM?",[1124],"16GB+",[1126,1127,1128],"8GB","4GB","500MB",{"id":1130,"data":1131,"type":24,"maxContentLevel":36,"version":27,"reviews":1134},"f74c541e-51a5-4628-b0fd-16124aafe91d",{"type":24,"contentRole":27,"markdownContent":1132,"audioMediaId":1133},"Storage, conversely, is non-volatile, meaning it retains data even when the computer is turned off (aren’t you glad your storage unit keeps its contents when you close it?)\n\nTraditional hard drives use spinning magnetic disks to store data. They are relatively inexpensive and offer large storage capacities, but they are slower compared to a solid state drive.\n\nSSDs use flash memory to store data, which allows for much faster read and write speeds. This speed difference is noticeable in everyday tasks like booting up your computer, opening applications, and transferring files. SSDs are more expensive per gigabyte than HDDs, but their performance benefits often justify the cost.\n\n![Graph](image://3a2654c7-24b4-4863-a102-0e5f1adfb236 \"Comparison of RAM vs HDD memory\")\n\nIt’s possible to have even bigger storage devices, meant for handling large amounts of data and multiple simultaneous requests. These live outside your computer and are referred to as servers. We’ve already spoken about servers as a separate type of computer, but they often function as large-scale storage devices. Servers often use a combination of HDDs and SSDs to balance cost and performance. For example, frequently accessed data might be stored on SSDs, while less critical data is stored on HDDs.","1775aa06-cf12-4789-87c3-40644d511a41",[1135,1145],{"id":1136,"data":1137,"type":82,"version":24,"maxContentLevel":36},"c77d81cc-7324-4803-be8b-f95b812b84ef",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1138,"multiChoiceCorrect":1140,"multiChoiceIncorrect":1142,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1139],"What do traditional hard drives use to store data?",[1141],"Magnetic disks",[1143,1144,604],"Compact disks (CDs)","Solid State Drives",{"id":1146,"data":1147,"type":82,"version":24,"maxContentLevel":36},"4d3d0018-1c4d-4f2c-9d9f-57f1a59260ae",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1148,"binaryCorrect":1150,"binaryIncorrect":1152},[1149],"What is an advantage of Solid State Drives?",[1151],"Faster speeds",[1153],"Lower costs",{"id":1155,"data":1156,"type":24,"maxContentLevel":36,"version":24,"reviews":1159},"1742645c-1d51-49b2-baa4-64c7fe44d78a",{"type":24,"contentRole":27,"markdownContent":1157,"audioMediaId":1158},"Server storage solutions also include technologies like RAID (Redundant Array of Independent Disks), which combines multiple drives into a single unit to improve performance and provide data redundancy. This ensures that if one drive fails, the data can still be recovered from another drive in the array.\n\nA final type of memory holder is cold storage. This refers to data that is not accessed frequently and can be stored on slower, less expensive media. This might include backups, archival data, or any information that doesn't need to be accessed regularly. Cold storage is most commonly seen in large companies or institutions.\n\nFor example, if you were to ask your university for a copy of your transcript ten years after you graduated, they would likely be accessing their cold storage to retrieve it. Cold storage solutions can include tape drives, optical discs, or even cloud storage services designed for archival purposes. While these options are slower to access, they are cost-effective for long-term storage.","3ca754a0-db5a-4573-81f3-fa2f05d31e93",[1160],{"id":1161,"data":1162,"type":82,"version":24,"maxContentLevel":36},"8913fd58-38ad-4149-b249-f561c5872551",{"type":82,"reviewType":67,"spacingBehaviour":24,"clozeQuestion":1163,"clozeWords":1165},[1164],"Data that needs to be accessed rarely will be stored in cold storage.",[1166],"cold",{"id":1168,"data":1169,"type":27,"version":36,"maxContentLevel":36,"summaryPage":1171,"introPage":1179,"pages":1186},"43431c46-86aa-487d-8b0b-5e7f2f38d538",{"type":27,"title":1170},"Graphics Processing Unit (GPU)",{"id":1172,"data":1173,"type":36,"maxContentLevel":36,"version":24},"a633b7ce-6fb2-467e-af1e-f1dcc7e6b0ea",{"type":36,"title":47,"summary":1174},[1175,1176,1177,1178],"GPUs handle many processing tasks in parallel","This makes them good at rendering graphics","CPUs are better for dealing with fewer, more complex processes","This ability also gives GPUs an advantage in machine learning",{"id":1180,"data":1181,"type":29,"maxContentLevel":36,"version":24},"96b722a9-65ed-4631-9a66-af1aeb9d95b1",{"type":29,"title":47,"intro":1182},[1183,1184,1185],"What the GPU is, and how it differs from CPU","Why GPUs are better at graphics processing than CPUs","Why GPUs are also becoming vital in AI",[1187,1210,1227],{"id":1188,"data":1189,"type":24,"maxContentLevel":36,"version":24,"reviews":1192},"ccd1d154-4713-48b5-9e78-155c23329e46",{"type":24,"contentRole":27,"markdownContent":1190,"audioMediaId":1191},"The Graphics Processing Unit (GPU) is a specialized electronic circuit designed to accelerate the processing of images and videos. While the Central Processing Unit (CPU) is often referred to as the brain of the computer, the GPU can be thought of as the paintbrush, rendering the visual elements that make up the user interface and graphical content.\n\nOriginally developed to handle the many calculations required for rendering images in video games, GPUs have evolved to become powerful processors capable of handling a wide range of computational tasks. GPUs are composed of thousands of smaller, more efficient cores designed to handle multiple tasks simultaneously. This architecture makes them particularly well-suited for parallel processing, where many calculations are performed at the same time.\n\nThe difference between CPUs and GPUs is that CPUs can perform more complex calculations, but only a handful of them at once. With thousands of smaller cores, GPUs can perform thousands of simple calculations at the same time. This means both CPUs and GPUs excel at different tasks.","5a55412e-c31e-497b-b08f-8de3d5fa8c72",[1193,1202],{"id":1194,"data":1195,"type":82,"version":24,"maxContentLevel":36},"161864e7-2057-4a3d-b62a-6d1e1f946337",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1196,"binaryCorrect":1198,"binaryIncorrect":1200},[1197],"Which of these tasks would a GPU be better at?",[1199],"Many simple calculations",[1201],"One or two complicated calculations",{"id":1203,"data":1204,"type":82,"version":24,"maxContentLevel":36},"0c46cf7f-bf3b-4ecb-9ce2-662e653b57ae",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1205,"binaryCorrect":1207,"binaryIncorrect":1209},[1206],"For some AI tasks, many different simple multiplications must be performed at once. Which processor would be better for this?",[1208],"GPU",[434],{"id":1211,"data":1212,"type":24,"maxContentLevel":36,"version":27,"reviews":1215},"72a311c8-ae85-4755-a56b-0132f3e182a5",{"type":24,"contentRole":27,"markdownContent":1213,"audioMediaId":1214},"When it comes to the GPU in a computer system, there are two main options: integrated and dedicated.\n\nIntegrated GPUs are built into the same chip as the CPU and share system memory. They are generally less powerful but more energy-efficient, making them suitable for everyday tasks like web browsing and office applications.\n\nDedicated GPUs, on the other hand, are separate cards that come with their own VRAM (Video Random Access Memory) and are designed for more demanding tasks. These are the GPUs found in gaming PCs, workstations, and servers.\n\n![Graph](image://94fb5770-a182-4ea9-9caa-ba7c9ffe47d3 \"A dedicated GPU. Image: Verte95, CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nThe performance of a GPU is influenced by several factors, including its architecture, clock speed, and the number of cores. Manufacturers like NVIDIA and AMD release new GPU architectures every few years, each offering improvements in performance, efficiency, and features.\n\nSome users use overclocking, which is running the GPU at a higher clock speed than its default setting. This is to boost performance, but may lead to increased heat output and power consumption.","7fa6c0e4-8010-4f37-802a-b6f46c4e0504",[1216],{"id":1217,"data":1218,"type":82,"version":27,"maxContentLevel":36},"5f3cd184-e604-4102-9661-973186a8a1aa",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1219,"multiChoiceCorrect":1221,"multiChoiceIncorrect":1224,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[1220],"Which of these applies to integrated GPUs, as opposed to dedicated ones?",[1222,1223],"Less powerful","More energy-efficient",[1225,1226],"More powerful","Less energy-efficient",{"id":1228,"data":1229,"type":24,"maxContentLevel":36,"version":27,"reviews":1232},"2c0e341b-aca2-46b5-a65a-46b0cf9ca275",{"type":24,"contentRole":27,"markdownContent":1230,"audioMediaId":1231},"GPU memory, often referred to as VRAM (Video Random Access Memory), is used to store image data and textures that the GPU needs to access quickly, just like the RAM we talked about in the previous orb, except for graphical data specifically. The amount and speed of VRAM can significantly impact the performance of a GPU, especially in high-resolution gaming or professional applications like 3D modeling and video editing. Modern GPUs come with several gigabytes of VRAM, allowing them to handle complex scenes and large datasets with ease.\n\nIn addition to gaming and professional graphics, GPUs have found a new role in the field of artificial intelligence (AI) and machine learning. The same parallel processing capabilities that make GPUs ideal for rendering graphics also make them perfect for training neural networks.\n\nCompanies like NVIDIA and AMD have developed specialized GPUs and software frameworks to accelerate AI research and development. These GPUs can perform the matrix multiplications and other mathematical operations required for machine learning algorithms much faster than traditional CPUs.","35010050-2c1f-47ec-b159-74a1557141ef",[1233,1242,1253],{"id":1234,"data":1235,"type":82,"version":24,"maxContentLevel":36},"f2db6ff9-1962-4a22-b41c-7816e08b262c",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1236,"multiChoiceCorrect":1238,"multiChoiceIncorrect":1240,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1237],"What kind of memory does the GPU access for graphical data?",[1239],"VRAM",[436,1110,1241],"HDD",{"id":1243,"data":1244,"type":82,"version":24,"maxContentLevel":36},"ccbf14d2-bdf9-4931-85e8-aa96861d7217",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1245,"multiChoiceCorrect":1247,"multiChoiceIncorrect":1249,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1246],"Which company is especially well-known for producing GPUs?",[1248],"NVIDIA",[1250,1251,1252],"Amazon","Microsoft","Samsung",{"id":1254,"data":1255,"type":82,"version":27,"maxContentLevel":36},"9d6afaba-1f8c-4b96-92d0-9795f0cc63c5",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1256,"binaryCorrect":1258,"binaryIncorrect":1260},[1257],"Why are GPUs great for machine learning?",[1259],"They can perform matrix multiplications much faster than CPUs",[1261],"They can process much more complex problems than CPUs",{"id":1263,"data":1264,"type":27,"version":67,"maxContentLevel":36,"summaryPage":1266,"introPage":1274,"pages":1280},"15706384-bcac-4497-b6e6-211fa8345940",{"type":27,"title":1265},"Motherboard and I/O devices",{"id":1267,"data":1268,"type":36,"maxContentLevel":36,"version":24},"24132aee-0621-468e-bde1-e67468ad50a1",{"type":36,"title":47,"summary":1269},[1270,1271,1272,1273],"Motherboards are the circuit boards that hold all the main components of a computer","The CPU socket and memory slots house the processor and RAM","The BIOS/UEFI firmware is important for startup and process management","Ports such as USB and HDMI are important for connecting I/O devices",{"id":1275,"data":1276,"type":29,"maxContentLevel":36,"version":24},"4358d40e-dc98-4e3b-8e56-7864a5b219e7",{"type":29,"title":47,"intro":1277},[1278,1279],"What motherboards are, and why they are important","How the different components of a computer are fitted together in a single place",[1281,1298,1315],{"id":1282,"data":1283,"type":24,"maxContentLevel":36,"version":24,"reviews":1286},"8e688a19-25e1-4af5-8cfa-03b83ca75b80",{"type":24,"contentRole":27,"markdownContent":1284,"audioMediaId":1285},"The motherboard serves as the central nervous system of a computer, connecting all the critical components and ensuring they communicate effectively. Think of it as the stage where the computer’s performance unfolds. Nestled at the heart of the motherboard is the CPU socket, the designated spot where the processor is installed. The intricate design of the socket ensures that the CPU is securely connected to the motherboard, allowing it to send and receive signals swiftly.\n\n![Graph](image://1ef9f35f-d96e-47b4-913d-bd75a6defd36 \"A Dell Precision motherboard. Image: Marcin Wieclaw (pcsite.co.uk), CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nAdjacent to the CPU socket are the memory slots, which house the RAM modules. When a computer is powered on, data that the CPU needs quick access to is loaded into the RAM. This proximity allows the CPU to fetch and execute instructions rapidly without having to wait for data retrieval from slower storage devices.\n\nAdditionally, the motherboard features expansion slots like PCIe, which provide flexibility for users to enhance their systems. When you add a graphics card into a PCIe slot, for example, the motherboard's design facilitates the transfer of data between the card and the CPU, thus boosting the computer’s graphical performance for tasks like gaming or video editing.","f6d1f45d-3ec4-4edd-9c06-52ea0a75c53e",[1287],{"id":1288,"data":1289,"type":82,"version":24,"maxContentLevel":36},"4345b46d-9787-46a5-bdd7-c50d43f46c8b",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1290,"multiChoiceCorrect":1292,"multiChoiceIncorrect":1294,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1291],"What component is typically adjacent to the CPU socket on a motherboard?",[1293],"Memory slots",[1295,1296,1297],"Power supply","I/O ports","USB header",{"id":1299,"data":1300,"type":24,"maxContentLevel":36,"version":24,"reviews":1303},"665e0cd9-e015-40ea-8114-21e79386e32c",{"type":24,"contentRole":27,"markdownContent":1301,"audioMediaId":1302},"Power connectors on the motherboard ensure that all its components receive the necessary electricity to function. The design of these connectors allows the power supply unit (PSU) to distribute power effectively across the motherboard, stabilizing the system’s operation.\n\nMoreover, the motherboard houses chipsets that play a pivotal role in managing data flow. These chipsets act as intermediaries, directing data between the CPU, memory, and other peripherals. For instance, when you open a file, the chipset coordinates the transfer of data from the storage device to the RAM and then to the CPU, ensuring that the process is smooth and efficient.\n\nAn essential part of the motherboard's functionality is the BIOS/UEFI firmware. This firmware is the first to activate when you power on your computer. It initializes the hardware components, ensuring they are ready to operate. During this booting process, the BIOS/UEFI performs checks and balances, setting the stage for the operating system to take over. This initial setup is crucial for the seamless operation of the computer, providing a stable foundation for all subsequent tasks.\n\n![Graph](image://ddc97bd8-54c9-42c0-9bec-94c8c4616d3b \"A BIOS chip from 1999. Image: © Raimond Spekking / CC BY-SA 4.0 (via Wikimedia Commons)\")","5bc1fcee-ef8f-4e8c-b97f-b9edd018ca42",[1304],{"id":1305,"data":1306,"type":82,"version":24,"maxContentLevel":36},"9ffb2752-7933-4855-9a27-37cdc6741c48",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1307,"multiChoiceCorrect":1309,"multiChoiceIncorrect":1311,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1308],"What purpose does BIOS/UEFI firmware serve?",[1310],"Initializing hardware components",[1312,1313,1314],"Regulating heat","Improving RAM performance","Synchronizing CPU operations",{"id":1316,"data":1317,"type":24,"maxContentLevel":36,"version":67,"reviews":1320},"c2fb77f2-3af9-456c-88df-eb468705198c",{"type":24,"contentRole":27,"markdownContent":1318,"audioMediaId":1319},"Input and output devices, commonly referred to as I/O devices, are vital for interaction with the computer. The keyboard, an input device, sends signals to the motherboard when keys are pressed. These signals travel through the connected interfaces, allowing the CPU to interpret and display the corresponding characters on the monitor. The monitor, an output device, receives graphical data from the graphics card via interfaces like HDMI. This data is then rendered into visual information that users can interact with.\n\nPeripheral interfaces such as USB, HDMI, and Ethernet ports are integrated into the motherboard to facilitate the connection of various external devices. When you plug a USB drive into a USB port, the motherboard’s design allows it to recognize the device, enabling data transfer between the drive and the computer.\n\n![Graph](image://d7fb5ffd-ed0f-4af8-93bb-a527b6f5ae36 \"A USB port on a motherboard. Image: USB 3.1 GEN2 Key-A front panel connector IMGP3038 smial wp by Smial, talk (FAL) \u003Chttp://artlibre.org/licence/lal/en>, via Wikimedia Commons\")\n\nSimilarly, connecting a monitor via an HDMI port ensures that high-definition video and audio signals are transmitted from the computer to the display. Ethernet ports enable wired internet connectivity, allowing data packets to travel between your computer and the network, ensuring reliable and fast internet access.","c67a6885-c850-44ea-808b-1724c5f68638",[1321,1330],{"id":1322,"data":1323,"type":82,"version":27,"maxContentLevel":36},"ef0427ed-9202-4b07-b7cd-f7ba5da4ccde",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1324,"binaryCorrect":1326,"binaryIncorrect":1328},[1325],"What do peripheral interfaces do in a motherboard?",[1327],"Allow external connections",[1329],"Connect internal components together",{"id":1331,"data":1332,"type":82,"version":36,"maxContentLevel":36},"438201d3-ab78-48b6-9208-ad75c9b33abc",{"type":82,"reviewType":37,"spacingBehaviour":24,"matchPairsQuestion":1333,"matchPairsPairs":1335,"matchPairsShowExamples":6},[1334],"Match the component to its description:",[1336,1339,1342,1345],{"left":1337,"right":1338,"direction":36},"CPU socket","Houses the main processor",{"left":1340,"right":1341,"direction":36},"PCle slot","Houses expansions components like graphics cards",{"left":1343,"right":1344,"direction":36},"Memory slot","Houses the RAM",{"left":1346,"right":1347,"direction":36},"BIOS/UEFI firmware","Helps with the boot process",{"id":1349,"data":1350,"type":27,"version":24,"maxContentLevel":36,"summaryPage":1352,"introPage":1359,"pages":1367},"6d1565e4-1120-4348-b6a5-89ac55cd1ce4",{"type":27,"title":1351},"Computer maintenance and troubleshooting",{"id":1353,"data":1354,"type":36,"maxContentLevel":36,"version":24},"288ca262-59a5-42b3-8df8-28db0213a153",{"type":36,"title":47,"summary":1355},[1356,1357,1358],"Clean your computer using compressed air","Check regularly for viruses and malware","Backup your data regularly, either on hardware or the cloud",{"id":1360,"data":1361,"type":29,"maxContentLevel":36,"version":24},"897f5835-d6ba-48fb-ae12-2ca48b944276",{"type":29,"title":47,"intro":1362},[1363,1364,1365,1366],"How to keep your computer clean","How to avoid malware and viruses","How to manage your storage","How to back up your data and troubleshoot common issues",[1368,1383,1398,1413],{"id":1369,"data":1370,"type":24,"maxContentLevel":36,"version":24,"reviews":1373},"f356d4f1-b9a4-49f5-a563-207e0f5579fd",{"type":24,"contentRole":27,"markdownContent":1371,"audioMediaId":1372},"Maintaining and troubleshooting your computer is crucial for ensuring its longevity and optimal performance. Regular maintenance can prevent many common issues, while effective troubleshooting can help you quickly resolve problems when they arise. Let's explore some key practices and strategies for keeping your computer in top shape and addressing issues when they occur.\n\nFirst, let's talk about the importance of keeping your computer clean. Dust and debris can accumulate inside your computer, leading to overheating and hardware failure. To prevent this, regularly clean the exterior and interior of your computer. Use compressed air to blow out dust from the vents, fans, and other components. Be sure to power down and unplug your computer before cleaning to avoid any electrical hazards. Additionally, keep your computer in a clean, dry environment to minimize dust buildup.","29ba337f-1303-4e8a-9e8d-09b5d286a4b0",[1374],{"id":1375,"data":1376,"type":82,"version":24,"maxContentLevel":36},"efda017e-2bf3-45a7-88cc-22bd9eeaf115",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1377,"binaryCorrect":1379,"binaryIncorrect":1381},[1378],"What's a good method for clearing dust from vents and fans?",[1380],"Using compressed air",[1382],"Using your finger",{"id":1384,"data":1385,"type":24,"maxContentLevel":36,"version":24,"reviews":1388},"8dfa30af-0452-4d65-9184-d91d869bf094",{"type":24,"contentRole":27,"markdownContent":1386,"audioMediaId":1387},"Next, consider the software side of maintenance. Keeping your operating system and software up to date is essential for security and performance. Software updates often include patches for security vulnerabilities, bug fixes, and performance improvements. Enable automatic updates whenever possible to ensure you receive the latest updates promptly. Additionally, regularly scan your computer for malware and viruses using reputable antivirus software. Malware can slow down your computer, steal personal information, and cause other issues, so it's important to keep your system protected.\n\nAnother critical aspect of computer maintenance is managing your storage. Over time, your hard drive or solid-state drive (SSD) can become cluttered with unnecessary files, which can slow down your computer. Regularly clean up your storage by deleting temporary files, uninstalling unused programs, and organizing your files. Disk cleanup tools and defragmentation utilities can help optimize your storage and improve performance. For SSDs, defragmentation is not necessary, but you can use tools to optimize their performance.","0afa9bad-aebf-470c-a881-2301e19b480d",[1389],{"id":1390,"data":1391,"type":82,"version":24,"maxContentLevel":36},"c4d6f8d0-ff1a-4f27-a34f-e5910beeae59",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":1392,"activeRecallAnswers":1394},[1393],"Why can your computer get slower over time?",[1395,1396,1397],"Malware","Unnecessary files","Out-of-date software",{"id":1399,"data":1400,"type":24,"maxContentLevel":36,"version":24,"reviews":1403},"27fcf7db-b9f2-46ce-bc31-1de7a27c88f8",{"type":24,"contentRole":27,"markdownContent":1401,"audioMediaId":1402},"![Graph](image://ab363557-aeec-4b99-8df8-0e874f207a43 \"A hardware maintenance tool. Image: Public domain\")\n\nBacking up your data is also an essential maintenance task. Regular backups ensure that you don't lose important files in case of hardware failure, malware attacks, or accidental deletion. Use external hard drives, cloud storage services, or network-attached storage (NAS) devices to create backups of your important data. Schedule automatic backups to ensure your data is always protected.\n\nNow, let's discuss troubleshooting common computer issues. One of the most frequent problems users encounter is a slow computer. If your computer is running slowly, start by checking for malware and viruses.\n\nNext, review the programs running on startup and disable any unnecessary ones. Too many startup programs can significantly slow down your computer. Additionally, check your storage usage and free up space if your drive is nearly full.\n\n![Graph](image://99cb18bd-e510-4e82-9cb4-3794aacb8726 \"A startup applications management tool. Image: Public domain\")","0f89760b-1b5a-4d3a-9696-7f98b4a62577",[1404],{"id":1405,"data":1406,"type":82,"version":24,"maxContentLevel":36},"150c6e1d-b011-463e-b4a0-aee5ba6f944d",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1407,"binaryCorrect":1409,"binaryIncorrect":1411},[1408],"What should be the first check when troubleshooting a slow computer?",[1410],"Malware and viruses",[1412],"Reviewing programs running on startup",{"id":1414,"data":1415,"type":24,"maxContentLevel":36,"version":24,"reviews":1418},"61d67ab3-01d3-4cc1-b760-28e34d987964",{"type":24,"contentRole":27,"markdownContent":1416,"audioMediaId":1417},"Another common issue is hardware failure. If your computer won't turn on or is experiencing random crashes, it could be due to faulty hardware. Start by checking the power supply and ensuring all cables are securely connected. If the issue persists, test individual components such as the RAM, hard drive, and graphics card. Many motherboards have diagnostic LEDs or beep codes that can help identify the faulty component. If you're unsure how to proceed, consult the manufacturer's documentation or seek professional assistance.\n\n![Graph](image://a8bec208-4ae9-49ef-9c74-6b6894d5599c \"Some examples of beep codes. Image: Public domain\")\n\nConnectivity issues are also common, particularly with network connections. If you're having trouble connecting to the internet, start by checking your network cables and ensuring your router is functioning correctly. Restarting your router and computer can often resolve connectivity issues. If the problem persists, check your network settings and ensure your drivers are up to date. For wireless connections, interference from other devices or physical obstructions can cause connectivity problems, so try moving your computer closer to the router or using a wired connection.","2c494901-95d7-4b2c-b1cf-5f4922ccfd7c",[1419],{"id":1420,"data":1421,"type":82,"version":24,"maxContentLevel":36},"5aa9d5b1-46e6-42b0-a0fc-c1c6315a71df",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1422,"multiChoiceCorrect":1424,"multiChoiceIncorrect":1429,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[1423],"What checks should be performed on a motherboard?",[1425,1426,1427,1428],"Power supply checks","Component checks","Beep codes","LEDs",[1430],"Transistor check",{"id":1432,"data":1433,"type":28,"maxContentLevel":36,"version":27,"orbs":1436},"69470f68-5f06-4cd8-a33d-87e3242992c2",{"type":28,"title":1434,"tagline":1435},"Software","The programs and systems that run on your machine",[1437,1576,1669],{"id":1438,"data":1439,"type":27,"version":24,"maxContentLevel":36,"summaryPage":1441,"introPage":1448,"pages":1455},"c604c165-40a1-4840-bfe5-b51fd6cb4947",{"type":27,"title":1440},"About programming languages",{"id":1442,"data":1443,"type":36,"maxContentLevel":36,"version":24},"14610e94-7d2b-4db1-94ab-c8f30bad5e0d",{"type":36,"title":47,"summary":1444},[1445,1446,1447],"Programming languages help us to give computers instructions without having to use machine laguage","High-level languages, such as Python and Java, are easier to write but often less efficient","Low-level languages, such as C or assembly, are much harder to write, but allow more efficient memory use",{"id":1449,"data":1450,"type":29,"maxContentLevel":36,"version":24},"c6b0e43a-9930-49f8-9f53-d40c217fc8b2",{"type":29,"title":47,"intro":1451},[1452,1453,1454],"What programming languages are","How they allow people to interact with computers much more easily","Why different programming languages are suited to different tasks",[1456,1481,1509,1524,1539],{"id":1457,"data":1458,"type":24,"maxContentLevel":36,"version":24,"reviews":1461},"efe844c9-5e53-48dc-91eb-5de8de22f01f",{"type":24,"contentRole":27,"markdownContent":1459,"audioMediaId":1460},"Programming languages are the systems of code we use to tell computers what to do. As we know, computers actually only understand one language, which is 1s and 0s. In this context we refer to that as ‘machine language’. But as humans designing applications for our computers, it would be extremely difficult and time-consuming to write out all of our data and instructions in machine language. Programming languages act as a middle-man between human actions and computable data.\n\n![Graph](image://15907e15-8c0c-47b3-88f6-0c97c613da0a \"Some code written in the C language. This is a set of instructions that will get the computer to print the words 'Hello World' in the terminal.\")\n\nThese languages fall into two main groups: easy-to-understand (high-level) and more complex (low-level) options.","d297bdec-4fe7-4943-8b65-10d7e789b42a",[1462],{"id":1463,"data":1464,"type":82,"version":24,"maxContentLevel":36},"fc1b7b53-1a64-4af7-9641-5ee8ead7ef0d",{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1465,"multiChoiceQuestion":1469,"multiChoiceCorrect":1471,"multiChoiceIncorrect":1473,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1477,"matchPairsPairs":1478},[1466,1467,1468],"72cbd382-a619-4b57-883c-3a3f84c38267","72e38ee2-b8eb-4446-be70-a230a4b25fb6","c4d241f4-4495-489f-91a3-6e09324c7ed5",[1470],"What is the language that computers actually understand?",[1472],"Machine language",[1474,1475,1476],"Assembly code","Python","C",[211],[1479],{"left":1472,"right":1480,"direction":36},"The language computers speak",{"id":1482,"data":1483,"type":24,"maxContentLevel":36,"version":24,"reviews":1486},"e182c4cb-8feb-4091-9309-5a199d010f60",{"type":24,"contentRole":27,"markdownContent":1484,"audioMediaId":1485},"High-level languages are used for building applications.  Scripting languages, a subgroup of high-level languages, are for automating tasks.\n\nLow-level languages, like assembly code, offer a different approach. Unlike user-friendly high-level languages, low-level languages are intricately linked to the computer's hardware. This tight connection allows for fine-grained control and highly efficient code.\n\n![Graph](image://dfd39629-2c90-465d-ad53-850d27cc64ef \"A part of a program written in assembly code. By Swtpc6800 en:User:Swtpc6800 Michael Holley - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=15345825\")\n\nIn assembly, you write instructions that are pretty close to machine language. This gives you precise control over data manipulation and calculations. This power comes at a cost – assembly is complex and time-consuming to write, making it impractical for building large applications today. However, there are still a handful of specialised cases where developers work in it.","18e47e75-23f7-445d-a9a2-727dc1edc636",[1487,1498],{"id":1466,"data":1488,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1489,"multiChoiceQuestion":1490,"multiChoiceCorrect":1492,"multiChoiceIncorrect":1493,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1494,"matchPairsPairs":1495},[1463,1467,1468],[1491],"Which of these is a very low-level language, now rarely used?",[1474],[1472,1475,1476],[211],[1496],{"left":1474,"right":1497,"direction":36},"Very low-level language, now rarely used",{"id":1499,"data":1500,"type":82,"version":24,"maxContentLevel":36},"bad5a856-abbd-455e-97a8-0aca90e34d05",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1501,"multiChoiceCorrect":1503,"multiChoiceIncorrect":1505,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1502],"Which of these is NOT true about assembly code?",[1504],"Simple to read and write",[1506,1507,1508],"Gives you precise control","A low-level language","Impractical for building large applications today",{"id":1510,"data":1511,"type":24,"maxContentLevel":36,"version":24,"reviews":1514},"9490ce60-1157-4196-af69-143923492fc7",{"type":24,"contentRole":27,"markdownContent":1512,"audioMediaId":1513},"Unlike assembly code, high-level coding languages have many features that make them much easier to write, and more similar to natural language. Prominent examples of these include C++, Python, Java, Javascript and many others. Most modern software developers will spend the majority of their time working in these languages, because they allow programs and applications to be written much more quickly and easily.\n\nOne feature of high-level languages that sets them apart is their use of abstraction. Abstraction allows programmers to work with more complex concepts and structures without having to worry about the low-level details of how these are implemented in the computer's hardware.\n\nFor example, in lower-level languages like assembly or C, memory management is a large part of the programming process. In languages like Python or Java, this is largely handled automatically, and the programmer can focus more on the logic of the program.","7bb5eede-3ef2-4276-b30b-a1ae76f4e5b6",[1515],{"id":1516,"data":1517,"type":82,"version":24,"maxContentLevel":36},"a7d12fb5-e8f2-440e-ac4b-3cd2d31f5460",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1518,"binaryCorrect":1520,"binaryIncorrect":1522},[1519],"Which of these is an advantage of many high-level languages?",[1521],"Automatic memory management",[1523],"The use of variables",{"id":1525,"data":1526,"type":24,"maxContentLevel":36,"version":24,"reviews":1529},"370eecd8-8552-4ee0-bbeb-a41fcee135fe",{"type":24,"contentRole":27,"markdownContent":1527,"audioMediaId":1528},"All languages, whether high- or low-level, ultimately need to be translated into machine language.\n\nThis is done through one of two processes – compiling or interpreting. Compiled languages, such as C and C++, require the source code to be translated into machine code by a compiler before it can be executed. The result is then executed directly by the CPU.\n\nCompiled languages typically offer better performance because the code is optimized during the compilation process. However, the need to compile the code before execution can make the development process slower and less flexible.\n\n![Graph](image://9355b5fb-a60c-45a7-b0b6-464dea2c47b3 \"A diagram showing how compiled languages are transformed into machine language. Image: Seda Kh., CC BY-SA 4.0 \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nInterpreted languages, such as Python, take a different approach. Instead of being translated into machine code all at once, the source code is executed line by line by an interpreter. This allows for greater flexibility and faster development cycles, as changes to the code can be tested immediately without the need for recompilation.\n\nHowever, interpreted languages often suffer from slower execution speeds compared to compiled languages, as the interpreter must process each line of code in real-time.","eca3c0d6-cfc2-433f-b624-439aafcaad98",[1530],{"id":1531,"data":1532,"type":82,"version":24,"maxContentLevel":36},"e2e44d79-51be-41aa-8f3b-db827ddfd5ec",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1533,"binaryCorrect":1535,"binaryIncorrect":1537},[1534],"Which of these is a description of interpreted programming languages?",[1536],"The code is executed line by line",[1538],"The code is fully compiled before execution",{"id":1540,"data":1541,"type":24,"maxContentLevel":36,"version":24,"reviews":1544},"71c67459-4167-4c6f-ba60-517e7425a91e",{"type":24,"contentRole":27,"markdownContent":1542,"audioMediaId":1543},"![Graph](image://2fd1a91b-60c1-41aa-986a-915a8f397258 \" \")\n\nDifferent programming languages are suited to different types of applications. For example, C and C++ are often used for system-level programming, such as operating systems and embedded systems. Python, with its simple syntax and many extensions, is popular for web development, data analysis, and machine learning. Java, balancing performance and flexibility, is widely used for enterprise applications and mobile development.\n\nBeyond the usual suspects, there are even stranger languages like Brainfuck or Whitespace, designed to explore coding concepts in unconventional ways. These are called esoteric languages. The world of programming offers endless possibilities!","5c6dadc8-ca48-4223-961d-18a769209162",[1545,1554,1565],{"id":1546,"data":1547,"type":82,"version":24,"maxContentLevel":36},"238c3b03-c1ca-4ecd-874c-c81e9a8d3510",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1548,"multiChoiceCorrect":1550,"multiChoiceIncorrect":1552,"multiChoiceMultiSelect":21,"multiChoiceRevealAnswerOption":6},[1549],"Which of these languages are often used for system-level programming?",[1476,1551],"C++",[1475,1553],"Java",{"id":1467,"data":1555,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1556,"multiChoiceQuestion":1557,"multiChoiceCorrect":1559,"multiChoiceIncorrect":1560,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1561,"matchPairsPairs":1562},[1463,1466,1468],[1558],"Which of these is a compiled language often used for operating systems?",[1476],[1472,1475,1474],[211],[1563],{"left":1476,"right":1564,"direction":36},"Compiled language used for operating systems",{"id":1468,"data":1566,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1567,"multiChoiceQuestion":1568,"multiChoiceCorrect":1570,"multiChoiceIncorrect":1571,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1572,"matchPairsPairs":1573},[1463,1466,1467],[1569],"Which of these is popular for web development and data analysis?",[1475],[1472,1476,1474],[211],[1574],{"left":1475,"right":1575,"direction":36},"Popular for web development and data analysis",{"id":1577,"data":1578,"type":27,"version":27,"maxContentLevel":36,"summaryPage":1580,"introPage":1587,"pages":1593},"9fb56181-a84c-4e64-adae-a84e88ccee58",{"type":27,"title":1579},"Introduction to operating systems and the boot process",{"id":1581,"data":1582,"type":36,"maxContentLevel":36,"version":24},"7b41d9f5-2a59-4684-b1ec-f0b51f603d29",{"type":36,"title":47,"summary":1583},[1584,1585,1586],"Operating systems are the low-level software that allow other applications to run","They are essential for boot processes","They also help users to manage processes, manage memory and files",{"id":1588,"data":1589,"type":29,"maxContentLevel":36,"version":27},"7871eb98-5270-4260-9e5c-91b800161f1b",{"type":29,"title":47,"intro":1590},[1591,1592],"What an operating system is","Why operating systems are so essential to creating useable devices",[1594,1607,1624,1648,1664],{"id":1595,"data":1596,"type":24,"maxContentLevel":36,"version":24,"reviews":1599},"a19ad0cd-4eb0-4823-8ef7-ecca0155d4d3",{"type":24,"contentRole":27,"markdownContent":1597,"audioMediaId":1598},"Operating systems are the software that runs on the device, allowing us to run applications and manage files in a much more user-friendly way.\n\nIn the early days of computing, programmers wrote programs on punch cards, which were specially designed paper cards with holes punched into them to represent data and instructions. These punch cards were then fed into room-sized computers by operators.\n\nAs computers become exponentially faster, the manual process of inserting programs using punch cards became longer than the actual program execution, leading to the creation of operating systems to streamline the process and enable computers to manage and operate themselves without constant human intervention.\n\n![Graph](image://ec415d33-9b37-44f1-9edb-2b08851d2074 \"Diagram of the different layers of software types. Image: Golftheman, CC BY-SA 3.0 \u003Chttps://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons\")","9873934d-149e-460b-b20f-4895651853be",[1600],{"id":1601,"data":1602,"type":82,"version":24,"maxContentLevel":36},"295d80f6-c4e9-4510-82e2-9331628ae315",{"type":82,"reviewType":67,"spacingBehaviour":24,"clozeQuestion":1603,"clozeWords":1605},[1604],"Operating systems help us interact with computers in a more user-friendly way",[1606],"user-friendly",{"id":1608,"data":1609,"type":24,"maxContentLevel":36,"version":24,"reviews":1612},"303338de-e912-4109-9973-a777620be9a4",{"type":24,"contentRole":27,"markdownContent":1610,"audioMediaId":1611},"When you press the power button on your computer, a sequence of events begins known as the boot process. This process initializes the system and loads the operating system, which in turn manages all other software and hardware resources.\n\nThe boot process starts with the Basic Input/Output System (BIOS) or its modern counterpart, the Unified Extensible Firmware Interface (UEFI). These firmware interfaces initialize and test the system's hardware components, ensuring everything is in working order. They also locate the bootloader, a small program responsible for loading the operating system into memory, marking the transition from hardware initialization to software management.","5389d251-5f74-48e1-bced-7bb56d123c83",[1613],{"id":1614,"data":1615,"type":82,"version":24,"maxContentLevel":36},"3c2c6e41-5bcd-43c2-b52b-b56cbaaf7358",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1616,"multiChoiceCorrect":1618,"multiChoiceIncorrect":1620,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1617],"What does BIOS stand for?",[1619],"Basic Input/Output System",[1621,1622,1623],"Bus Internal Overlay System","Boot Initiation Optimizing Sequence","Binary Initiation Operating System ",{"id":1625,"data":1626,"type":24,"maxContentLevel":36,"version":24,"reviews":1629},"c27c5c83-74b1-44ac-9d5c-a652ce83d7c7",{"type":24,"contentRole":27,"markdownContent":1627,"audioMediaId":1628},"An operating system (OS) orchestrates all activities within the system, with primary components including the kernel, file system, user interface, device drivers, and process management. The kernel serves as the core component, directly interacting with hardware to manage resources like CPU, memory, and I/O devices. It schedules tasks, ensuring multiple processes can run concurrently without interference, thus optimizing system performance and stability.\n\nVirtual memory is a technique that uses a portion of the hard drive as temporary memory, allowing the OS to compensate for shortages in physical RAM. The user interface is the visual and interactive aspect of the OS, enabling users to interact with the system easily. Device drivers are software components that facilitate communication between the OS and hardware devices, translating generic instructions into device-specific commands.","dcbd63c6-8e1f-49c6-8ace-c77c2ecb9e72",[1630,1641],{"id":1631,"data":1632,"type":82,"version":24,"maxContentLevel":36},"6a8b31df-8ffc-4219-b8c4-ba40561a3961",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1633,"multiChoiceCorrect":1635,"multiChoiceIncorrect":1637,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1634],"Which component of the operating system schedules tasks and manages hardware resources?",[1636],"Kernel",[1638,1639,1640],"File system","User interface","Device drivers",{"id":1642,"data":1643,"type":82,"version":24,"maxContentLevel":36},"7c87d113-1fce-44b7-830a-df7fb9fe62eb",{"type":82,"reviewType":67,"spacingBehaviour":24,"clozeQuestion":1644,"clozeWords":1646},[1645],"The operating system feature that allows multiple programs to run simultaneously by cycling through them rapidly is known as multitasking.",[1647],"multitasking",{"id":1649,"data":1650,"type":24,"maxContentLevel":36,"version":24,"reviews":1653},"2f0fc710-0059-4734-bb8a-f9ecfeba67b0",{"type":24,"contentRole":27,"markdownContent":1651,"audioMediaId":1652},"Process management oversees the allocation of resources to running programs and ensures they run smoothly without interfering with each other. When a hardware device needs attention, it sends an interrupt signal to the CPU, prompting the kernel to pause the current process and handle the interrupt. This process allows the OS to respond promptly to external events, such as user input or data transfer requests.\n\nMultitasking is a key capability of modern OSs, enabling multiple programs to run simultaneously. Even without multiple cores, smart OS developers figured out how to give the illusion of parallel execution. By letting processes take turns on the CPU and cycling through them rapidly, running a couple of instructions from each one, all processes can be responsive without any single process hogging the CPU. Don't confuse parallel execution, which you learned in the previous tile, with multitasking.","4212b7a1-bce9-467c-839c-3b0615e33764",[1654],{"id":1655,"data":1656,"type":82,"version":24,"maxContentLevel":36},"b1cb8406-f631-426b-a9cd-29cac281ace1",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1657,"multiChoiceCorrect":1659,"multiChoiceIncorrect":1660,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1658],"What term is used for the system OS's use to manage data in a structured manner?",[1638],[1661,1662,1663],"Process management","Virtual memory","Multitasking",{"id":1665,"data":1666,"type":24,"maxContentLevel":36,"version":24},"1fa070e1-7a40-4fe1-90ac-a2508a9f0f35",{"type":24,"contentRole":27,"markdownContent":1667,"audioMediaId":1668},"Memory management is another vital function of the operating system. It keeps track of each byte in the computer's memory and allocates space to processes as needed, including both RAM and virtual memory on the hard drive. The OS ensures each process has its own memory space, preventing one application from overwriting another's data.\n\nFile system management is another crucial aspect of operating systems. The file system organizes and stores data on storage devices in a structured and efficient manner, ensuring data integrity and security by implementing permissions and access controls. In addition to these core functions, modern operating systems offer a range of additional features, such as user interfaces, security mechanisms, and networking capabilities.","4a3863e2-6850-4017-8861-b6d76ba373d2",{"id":1670,"data":1671,"type":27,"version":27,"maxContentLevel":36,"summaryPage":1673,"introPage":1681,"pages":1687},"abb56cc6-aae4-4caa-89ae-e1cccc374607",{"type":27,"title":1672},"Application software and software development",{"id":1674,"data":1675,"type":36,"maxContentLevel":36,"version":24},"940f1fba-abc9-4efd-aee1-a958684ad083",{"type":36,"title":47,"summary":1676},[1677,1678,1679,1680],"Application software is software for performing specific tasks","The first stage of software development is requirement analysis","Next comes design and implementation","Finally, the software is tested and deployed",{"id":1682,"data":1683,"type":29,"maxContentLevel":36,"version":24},"2c730041-71ad-451f-95e8-8ca639bdaa96",{"type":29,"title":47,"intro":1684},[1685,1686],"What application software is","How software is designed and built",[1688,1711,1726,1750],{"id":1689,"data":1690,"type":24,"maxContentLevel":36,"version":24,"reviews":1693},"aac407f4-13d3-4448-817c-56b9a25a4b07",{"type":24,"contentRole":27,"markdownContent":1691,"audioMediaId":1692},"Application software is the type of software that allows users to perform specific tasks on a computer. This can range from word processing and spreadsheet management to graphic design and video editing. Unlike system software, which includes the operating system and utility programs that manage computer resources, application software is designed to help users accomplish particular tasks. Examples of application software include Microsoft Office, Adobe Photoshop, and web browsers like Google Chrome.\n\nThe development of application software is a complex process that involves several stages, each critical to the creation of a functional and user-friendly product. Many models for the software development lifecycle exist. Probably the most famous ones are the V-Model, the Waterfall-Model and agile models like SCRUM or Kanban. Agile methods are different in that they represent the software development cycle as short term, iterative cycles, called sprints, instead of using a sequential, linear approach.\n\n![Graph](image://d1916c5d-2999-4315-a387-9e2ddfc3b97b \"The V-Model. Image: Herman Bruyninckx, CC BY-SA 3.0 \u003Chttp://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons\")","3df43195-9499-4c5e-aa1b-8176477bc6f4",[1694,1703],{"id":1695,"data":1696,"type":82,"version":24,"maxContentLevel":36},"3ab7954c-daac-4924-88bc-fe7b905cc74d",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1697,"binaryCorrect":1699,"binaryIncorrect":1701},[1698],"What type of software is designed to help users accomplish particular tasks?",[1700],"Applications",[1702],"Operating systems",{"id":1704,"data":1705,"type":82,"version":24,"maxContentLevel":36},"c80231be-c79b-490d-ba99-3c902e81c66c",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1706,"binaryCorrect":1708,"binaryIncorrect":1710},[1707],"Which of these is a type of system software?",[1709],"Operating system",[1700],{"id":1712,"data":1713,"type":24,"maxContentLevel":36,"version":27,"reviews":1716},"d44d8c3f-cb34-4c6f-9bc2-58452b567193",{"type":24,"contentRole":27,"markdownContent":1714,"audioMediaId":1715},"\n\n![Graph](image://9ce5581f-89e1-40a9-a8c5-2c0c377e3ef6 \"Screenshot 2024-10-22 at 16.25.01.png\")\n\nThe first stage of SCRUM development is requirement analysis, where developers gather information about what the software needs to do. This involves talking to potential users, understanding their needs, and defining the software's functionality. This stage is crucial because it sets the foundation for the entire project. If the requirements are not well understood, the final product may not meet the users' needs.\n\nOnce the requirements are clear, the next stage is design. During this phase, developers create a blueprint for the software. This includes designing the user interface, which is how users will interact with the software, and the software architecture, which is how the software will be structured internally. The design phase is essential for ensuring that the software will be both functional and user-friendly.","1e6806c3-7117-421e-b89e-2abeb92eb008",[1717],{"id":1718,"data":1719,"type":82,"version":24,"maxContentLevel":36},"67ded06b-5ba4-4643-b285-352b15eedf47",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1720,"binaryCorrect":1722,"binaryIncorrect":1724},[1721],"What does the 'requirements' phase of SCRUM development involve?",[1723],"Talking to users",[1725],"Designing the software",{"id":1727,"data":1728,"type":24,"maxContentLevel":36,"version":24,"reviews":1731},"fbfdb9d8-71a8-4a2c-aa3c-f11b5ce50f42",{"type":24,"contentRole":27,"markdownContent":1729,"audioMediaId":1730},"After the design is complete, the next stage is implementation, where developers write the actual code. This is often the most time-consuming part of the process, as it involves translating the design into a working program. Developers use programming languages like Java, Python, or C++ to write the code. Each programming language has its strengths and weaknesses, and the choice of language often depends on the specific requirements of the project and regulatory compliance, such as in the medical sector.\n\nOnce the code is written, the next stage is testing. During this phase, developers test the software to ensure that it works as intended. This involves running the software under various conditions to see if it performs correctly and identifying any bugs or issues that need to be fixed. Testing is a critical part of the development process because it helps ensure that the software is reliable and free of errors.","8258e99f-27ba-4780-9e5a-96bead0e6d85",[1732],{"id":1733,"data":1734,"type":82,"version":24,"maxContentLevel":36},"e69c709b-cb74-4422-94a2-e7da6ef3b1bd",{"type":82,"reviewType":37,"spacingBehaviour":24,"matchPairsQuestion":1735,"matchPairsPairs":1737,"matchPairsShowExamples":6},[1736],"Match the stages of software design with their description:",[1738,1741,1744,1747],{"left":1739,"right":1740,"direction":36},"Design","Specifying the user interface and software architecture",{"left":1742,"right":1743,"direction":36},"Requirement analysis","Getting the expected specifications from all stakeholders",{"left":1745,"right":1746,"direction":36},"Deployment","Getting the software to the user",{"left":1748,"right":1749,"direction":36},"Implementation","Building the software",{"id":1751,"data":1752,"type":24,"maxContentLevel":36,"version":27,"reviews":1755},"21682968-ee77-44f9-9b4b-1172f27255ce",{"type":24,"contentRole":27,"markdownContent":1753,"audioMediaId":1754},"Testing consists of verification and validation. Verification means “building the product right”. This is static and accomplished via code reviews to look if the specifications are met. \n\nValidation on the other hand means “building the right product” and is a dynamic process. This can be done via black-box or white-box testing. Examples are unit-tests or tests by the final users in the final environment.\n\nAfter testing is complete, the next stage is deployment, where the software is released to users. This can involve distributing the software through various channels, such as online downloads or physical media. \n\n![Graph](image://c1db25cb-62de-4ddd-aa6c-0a047b5ac664 \"A user downloads an update. Image: Public domain\")\n\nOnce the software is in the hands of users, developers often continue to provide support and updates to fix any issues that arise and add new features. That would be the maintenance stage which is often overlooked.\n\nSoftware development is not a one-time process but an ongoing cycle. Even after the software is released, developers continue to work on it, fixing bugs, adding new features, and improving performance. This is known as software maintenance, and it is an essential part of the software development lifecycle.","1963d4cd-6fb0-40a5-a7be-f945625e6aa7",[1756],{"id":1757,"data":1758,"type":82,"version":24,"maxContentLevel":36},"b9078240-ac8d-4cdb-8c5f-3f581bf6be98",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1759,"binaryCorrect":1761,"binaryIncorrect":1763},[1760],"How can verification be described?",[1762],"Building the product right",[1764],"Building the right product",{"id":1766,"data":1767,"type":28,"maxContentLevel":36,"version":67,"orbs":1770},"b441b625-a524-49b7-91c9-53487fcf772a",{"type":28,"title":1768,"tagline":1769},"Networking and Web Basics","How connecting computers to each other can massively increase their potential",[1771,1873,1978],{"id":1772,"data":1773,"type":27,"version":24,"maxContentLevel":36,"summaryPage":1775,"introPage":1783,"pages":1790},"57e2ee37-aaf7-4254-99a8-2456b7e5181d",{"type":27,"title":1774},"Networking concepts",{"id":1776,"data":1777,"type":36,"maxContentLevel":36,"version":24},"9ff55cf3-0fc4-49e1-a775-416080fcaf17",{"type":36,"title":47,"summary":1778},[1779,1780,1781,1782],"Networks are any group of connected computers","The internet is the world's biggest network, connecting billions of devices around the world","WANs are Wide Area Networks, and LANs are Local Area Networks","Bandwidth and latency are different measures of network speed",{"id":1784,"data":1785,"type":29,"maxContentLevel":36,"version":24},"827508e7-aec4-4eae-962f-82b742e87b3d",{"type":29,"title":47,"intro":1786},[1787,1788,1789],"What networks are, and why they matter","Why you're using the world's biggest network, right now","What WANs and LANs are",[1791,1804,1821,1836,1849],{"id":1792,"data":1793,"type":24,"maxContentLevel":36,"version":24,"reviews":1796},"03d7c1c3-4604-489f-b482-0b903bedef4f",{"type":24,"contentRole":27,"markdownContent":1794,"audioMediaId":1795},"In today’s interconnected world, the importance of networks grows daily. Nowadays, networking is the backbone of modern computing, enabling devices to communicate and share resources. Whether you’re streaming videos, sending emails, or accessing cloud services, networking makes it all possible.\n\nNetworking means any way in which two or more computers can be joined up to share data. A network could be anything from two PCs joined together by a USB, to the entirety of the internet.\n\n![Graph](image://4228b81b-e6dc-43c5-9e18-c578df1bb336 \"Global networks. Image: Public domain via Freepik\")\n\nThe internet is the biggest network of all, and unless you’ve been living under a rock, you already know what it is and how important it is. The internet allows billions of devices all over the world to communicate with each other, massively augmenting the power of computers around the world.","15966bac-5beb-4efd-b68c-4d361afd352e",[1797],{"id":1798,"data":1799,"type":82,"version":24,"maxContentLevel":36},"d6597495-0ddd-4c28-8adb-5cbfcf0638b5",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":1800,"activeRecallAnswers":1802},[1801],"What is networking?",[1803],"Any way in which two or more computers can be connected to share data",{"id":1805,"data":1806,"type":24,"maxContentLevel":36,"version":24,"reviews":1809},"c678f9e9-7847-4655-9f72-60753a650de8",{"type":24,"contentRole":27,"markdownContent":1807,"audioMediaId":1808},"The concept of networking extends far beyond the simple connection of two computers. It encompasses a vast array of technologies, protocols, and systems that work together to enable seamless communication between devices across the globe.\n\nOne of the fundamental aspects of networking is how information is actually transmitted. In most networks, data is broken down into smaller units called packets. These packets contain not only the data being sent but also information about where the packet came from, where it's going, and how it fits into the larger message. These packets are sent and interpreted according to rulebooks called protocols, which are the subject of the next orb.\n\nThe transmission of these data packets can occur through various media. In wired networks, this might involve electrical signals sent through copper cables, or light pulses sent through fiber optic lines.\n\nWireless networks, on the other hand, use radio waves to transmit data through the air. Each of these methods has its own advantages and challenges, and the choice often depends on factors like distance, required bandwidth, and environmental conditions. The most common wireless networks are Wi-Fi and cellular networks such as 5G.","13fc398d-9674-4acf-9d14-c842e207c4da",[1810],{"id":1811,"data":1812,"type":82,"version":24,"maxContentLevel":36},"8d7ff401-8344-4add-b9d8-e324886cbc47",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":1813,"multiChoiceCorrect":1815,"multiChoiceIncorrect":1817,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[1814],"What unit is data broken into for transmission across a network?",[1816],"Packets",[1818,1819,1820],"Chunks","Envelopes","Containers",{"id":1822,"data":1823,"type":24,"maxContentLevel":36,"version":24,"reviews":1826},"3a2448a8-f4e9-43cb-9562-40a206351023",{"type":24,"contentRole":27,"markdownContent":1824,"audioMediaId":1825},"When we talk about networks, we often distinguish between Local Area Networks (LANs) and Wide Area Networks (WANs). LANs typically cover a small geographic area, like a home, office, or campus. They're characterized by high-speed connections and are often under the control of a single organization.\n\n![Graph](image://1a529d33-a45e-4e8f-ab1d-2e24b233dd69 \"WANs vs. LANs. Image: Gateway_firewall.svg: Harald Mühlböckderivative work: Ggia, CC BY-SA 3.0 \u003Chttp://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons\")\n\nWANs, in contrast, span much larger areas, potentially connecting LANs across cities, countries, or even continents. The internet itself can be thought of as the ultimate WAN, connecting countless smaller networks worldwide.","790eec3d-0252-4762-b006-42a7ad471080",[1827],{"id":1828,"data":1829,"type":82,"version":24,"maxContentLevel":36},"ad26ef9d-8c6e-457f-a5bf-1a7ff9d045fd",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1830,"binaryCorrect":1832,"binaryIncorrect":1834},[1831],"Which of these would cover a smaller geographic area?",[1833],"LAN",[1835],"WAN",{"id":1837,"data":1838,"type":24,"maxContentLevel":36,"version":24,"reviews":1841},"b15cfda1-4626-4733-acb7-9d58bfc7332a",{"type":24,"contentRole":27,"markdownContent":1839,"audioMediaId":1840},"To manage the complexity of network communication, networking is often conceptualized in terms of layers. The most well-known model for this is the OSI (Open Systems Interconnection) model, which defines seven layers of network functionality.\n\n![Graph](image://07e6dcc9-bd99-4323-806c-e52618a851df \"The OSI model. Image: Public domain via Cloudflare\")\n\nAt the bottom is the Physical layer, which deals with the actual transmission of bits over a physical medium. Above that is the Data Link layer, which handles direct node-to-node communication.\n\nThe Network layer comes next, managing addressing and routing across multiple networks. The Transport layer ensures reliable delivery of data between applications. The Session layer manages connections between applications, while the Presentation layer handles data formatting and encryption.\n\nFinally, at the top is the Application layer, which provides network services directly to end-user applications.\n\nWhile the OSI model is primarily theoretical, it provides a useful framework for understanding how networks operate. In practice, most networks use the TCP/IP model, which combines some of the OSI layers but follows similar principles.","b55a56a2-ddda-4638-87af-0557939ddd3b",[1842],{"id":1843,"data":1844,"type":82,"version":24,"maxContentLevel":36},"f3c813d0-921d-4050-b136-df12f6f001eb",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":1845,"activeRecallAnswers":1847},[1846],"What does the physical layer of the OSI model represent?",[1848],"How raw data is streamed across a physical medium",{"id":1850,"data":1851,"type":24,"maxContentLevel":36,"version":24,"reviews":1854},"74105b66-5d83-43dd-9948-b0618b84d80d",{"type":24,"contentRole":27,"markdownContent":1852,"audioMediaId":1853},"![Graph](image://0702279c-b25c-4384-9861-8498538fbdf7 \" \")\n\nNetwork performance is crucial in evaluating how well a network operates. Two key metrics for measuring performance are bandwidth and latency. Bandwidth refers to the maximum amount of data that can be transmitted over a network in a given period, usually measured in megabits per second (Mbps). A higher bandwidth enables faster data transfers, allowing for smoother streaming and quicker downloads.\n\nOn the other hand, latency measures the time it takes for data to travel from its source to its destination. Lower latency results in quicker response times, which is particularly important for real-time applications such as video conferencing and online gaming, where delays can disrupt communication or gameplay.","78932e12-1460-4735-942d-c77352653071",[1855],{"id":1856,"data":1857,"type":82,"version":24,"maxContentLevel":36},"24722cce-4e46-45e4-88a7-9cacd1d3c058",{"type":82,"reviewType":37,"spacingBehaviour":24,"matchPairsQuestion":1858,"matchPairsPairs":1860,"matchPairsShowExamples":6},[1859],"Match the term to its description:",[1861,1864,1867,1870],{"left":1862,"right":1863,"direction":36},"Bandwidth","Amount of data that can be transmitted in a given period",{"left":1865,"right":1866,"direction":36},"Latency","The time taken for data to reach its destination",{"left":1868,"right":1869,"direction":36},"Protocol","Rulebook for interpreting data received",{"left":1871,"right":1872,"direction":36},"Wired network","Fiber optic lines are one example",{"id":1874,"data":1875,"type":27,"version":27,"maxContentLevel":36,"summaryPage":1877,"introPage":1885,"pages":1892},"61f88274-2b96-4103-bb5c-a17621832053",{"type":27,"title":1876},"IPs and protocols",{"id":1878,"data":1879,"type":36,"maxContentLevel":36,"version":24},"9800db3a-641f-470c-806e-b62ac9940efb",{"type":36,"title":47,"summary":1880},[1881,1882,1883,1884],"Protocols are the rulebooks that tell computers how to interpret data","The Internet Protocol (IP) is one of the most important of these","With the IP protocol, each device has a unique address, according to which data can be sent and received ","HTTP is another important protocol, dictating how webpages are sent and received",{"id":1886,"data":1887,"type":29,"maxContentLevel":36,"version":24},"3a230f61-53ed-4e10-b8a4-ba26cb56d879",{"type":29,"title":47,"intro":1888},[1889,1890,1891],"What protocols are","How IP addresses work","How your browser sends and receives data",[1893,1928,1956,1973],{"id":1894,"data":1895,"type":24,"maxContentLevel":36,"version":27,"reviews":1898},"d9d3bb16-12b0-4b7d-b31c-24b923d66cf9",{"type":24,"contentRole":27,"markdownContent":1896,"audioMediaId":1897},"The internet is a vast network of interconnected computers that communicate with each other using protocols. Protocols are sets of rules that govern how data is transmitted and received. When a device receives raw data over an internet connection, it needs to have a rulebook for how to decode that data into something meaningful. That’s what protocols are there for.\n\nOne of the most fundamental protocols enabling this communication is the Internet Protocol (IP). Every device connected to the Internet is assigned a unique IP address, much like a postal address, ensuring that data sent from one device is decoded by the other device correctly.\n\n![Graph](image://47a6bfa6-ce62-4a68-99a4-85ae8b053c0e \"IP address. Image: Public domain via IPXO.com\")\n\nInitially, the Internet relied on IPv4 addresses, which offered around 4.3 billion unique addresses. However, with the rapid expansion of the Internet and the surge in devices like smartphones, tablets, and IoT (Internet of Things) devices, these 32-bit addresses are now in short supply.\n\nTo address this challenge, IPv6 was introduced. IPv6 uses 128-bit addresses, providing an almost limitless supply — approximately 340 undecillion or 3.4028\\*10³⁸ unique addresses. This represents 340 followed by 36 zeros. This ensures every device can have its own unique identifier on the Internet, supporting continued growth without the risk of running out of addresses.","c56c61d0-acfc-4749-866e-66321557a4e7",[1899,1919],{"id":1900,"data":1901,"type":82,"version":24,"maxContentLevel":36},"1a575296-a486-4d70-97c6-d4bdf04c731a",{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1902,"multiChoiceQuestion":1906,"multiChoiceCorrect":1908,"multiChoiceIncorrect":1910,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1914,"matchPairsPairs":1916},[1903,1904,1905],"c73c4ac9-ddfb-4098-bc80-444391d516f8","8a37ea89-7868-48ac-9363-ab3ab0cd8a53","6e6445a6-4e9c-4512-aebf-9606c92c4a60",[1907],"Which of these provides unique addresses for devices to decode data?",[1909],"IP",[1911,1912,1913],"DNS","HTTP","HTML",[1915],"Match the following pairs:",[1917],{"left":1918,"right":1909,"direction":36},"Provides unique addresses for devices to decode data",{"id":1920,"data":1921,"type":82,"version":27,"maxContentLevel":36},"a2bd30e3-db75-4718-9bf9-8bc3bd70b8d9",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":1922,"binaryCorrect":1924,"binaryIncorrect":1926},[1923],"Which version of IP was introduced that used 128-bit addresses?",[1925],"IPv6",[1927],"IPv4",{"id":1929,"data":1930,"type":24,"maxContentLevel":36,"version":24,"reviews":1933},"774464fc-65da-45db-a6fc-6572a9927390",{"type":24,"contentRole":27,"markdownContent":1931,"audioMediaId":1932},"When you type a web address into your browser, a series of events is set into motion to retrieve the desired webpage. This process begins with the Domain Name System (DNS), which functions like the Internet's phonebook. DNS translates human-readable domain names like “www.example.com\" into numeric IP addresses that computers understand.\n\nOnce your computer knows the IP address, it uses the Hypertext Transfer Protocol (HTTP) to request the webpage from the server where the website is hosted. HTTP is the protocol that defines how messages are structured, transmitted, and how servers and browsers communicate to deliver the requested content.\n\n![Graph](image://9301cef5-3636-4491-81ce-95051ff3c195 \"The HTTP logo. Image: Public domain via Wikimedia\")","4f96c0f7-265a-48f1-8a9a-559eeb7928a2",[1934,1945],{"id":1903,"data":1935,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1936,"multiChoiceQuestion":1937,"multiChoiceCorrect":1939,"multiChoiceIncorrect":1940,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1941,"matchPairsPairs":1942},[1900,1904,1905],[1938],"Which of these translates domain names into numeric addresses?",[1911],[1909,1912,1913],[1915],[1943],{"left":1944,"right":1911,"direction":36},"Translates domain names into numeric addresses",{"id":1904,"data":1946,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1947,"multiChoiceQuestion":1948,"multiChoiceCorrect":1950,"multiChoiceIncorrect":1951,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1952,"matchPairsPairs":1953},[1900,1903,1905],[1949],"Which of these defines how web page messages are structured and transmitted?",[1912],[1909,1911,1913],[1915],[1954],{"left":1955,"right":1912,"direction":36},"Defines how webpage messages are transmitted",{"id":1957,"data":1958,"type":24,"maxContentLevel":36,"version":24,"reviews":1961},"99510598-30ac-4fab-a6d4-ef552597be6c",{"type":24,"contentRole":27,"markdownContent":1959,"audioMediaId":1960},"Once the server receives the request, it processes it and sends back a response. This response typically includes the requested webpage, like an HTML Hypertext Markup Language (HTML) with all its content. Alongside the webpage, the server sends status information that tells your browser if the request went smoothly or if there was a problem.\n\n![Graph](image://cce8ce22-ccbf-491d-bde9-7af47dab6559 \"An example of a webpage written in HTML\")\n\nFor example, a \"404 error\" indicates that the specific webpage requested couldn’t be found, while a \"200 OK\" status means the request was successful and the webpage is being delivered as expected. Additionally, the server includes extra headers in the response. These headers provide more details about the response, like the type of content being sent or instructions on how long the browser should cache the webpage.\n\n![Graph](image://3d876291-a403-4f26-8912-cdd52947fff9 \"Image: Public domain via Unsplash\")\n\nIn addition to HTTP, several other protocols are essential for the Internet's operation. For example, the Internet Protocol (IP) handles the addressing and routing of data packets across networks, ensuring they reach their intended destinations. Working in conjunction with IP, the Transmission Control Protocol (TCP) ensures reliable, ordered, and error-free delivery of data between applications using IP networks. TCP is often paired with IP, forming the TCP/IP suite, which is the foundation of Internet communication.\n\nAnother important protocol is the User Datagram Protocol (UDP), which, unlike TCP, does not guarantee delivery or order, but prioritizes speed over reliability, making it faster and more suitable for applications like video streaming and online gaming, where speed is more critical than reliability.","8d2a19d5-5223-449b-b7c2-0b5a4750180b",[1962],{"id":1905,"data":1963,"type":82,"version":24,"maxContentLevel":36},{"type":82,"reviewType":36,"spacingBehaviour":24,"collapsingSiblings":1964,"multiChoiceQuestion":1965,"multiChoiceCorrect":1967,"multiChoiceIncorrect":1968,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6,"matchPairsQuestion":1969,"matchPairsPairs":1970},[1900,1903,1904],[1966],"Which of these is the language that makes up a lot of webpages?",[1913],[1909,1911,1912],[1915],[1971],{"left":1972,"right":1913,"direction":36},"The language that makes up a lot of webpages",{"id":1974,"data":1975,"type":24,"maxContentLevel":36,"version":24},"42fa589e-11fc-4869-b5f5-d9d16e0d9816",{"type":24,"contentRole":27,"markdownContent":1976,"audioMediaId":1977},"The landscape of internet protocols is vast and constantly evolving. While we've explored some essential protocols, the realm of protocols extends far beyond. For instance, there exist next-generation HTTP protocols aimed at enhancing web page load times and efficiency.\n\nThey are also very important for the Internet of Things, which refers to physical devices, such as sensors, actuators, and other connected objects, that collect and exchange data over the internet, such as smart home devices (thermostats, lights, appliances), or wearable health monitors (fitness tracker, health monitoring devices).\n\n![Graph](image://920609b2-33e2-406d-9a1a-d2946549b928 \"A smart light switch. Image: Public domain via Pexels.\")\n\nEmerging trends such as 5G networks are reshaping internet protocols with faster speeds, lower latency, and enhanced IoT device connectivity. As technology advances, so too do the protocols that underpin the foundation of our digital connectivity.","c1af7905-7e3a-4e85-817d-aea536a6d9f0",{"id":1979,"data":1980,"type":27,"version":36,"maxContentLevel":36,"summaryPage":1982,"introPage":1989,"pages":1996},"7db273e4-a985-481c-81ba-2181decc602b",{"type":27,"title":1981},"HTTP, URLs, and browsers",{"id":1983,"data":1984,"type":36,"maxContentLevel":36,"version":24},"f85bce2c-bd99-49ee-a0c5-ca5b5315baff",{"type":36,"title":47,"summary":1985},[1986,1987,1988],"HTTP is the protocol that sends and receives hypertext requests on the web","URLs are the addresses used to access specific content on the internet","Browsers are the apps that allow users to send and receive requests on the web",{"id":1990,"data":1991,"type":29,"maxContentLevel":36,"version":24},"240dca50-000b-4df2-b0b9-42a0a82e9ec1",{"type":29,"title":47,"intro":1992},[1993,1994,1995],"Why HTTP is foundational to the web","The different requests we can make through HTTP","How URLs indicate locations on the web",[1997,2009,2035,2050,2066],{"id":1998,"data":1999,"type":24,"maxContentLevel":36,"version":36,"reviews":2002},"e5b41dbb-aa77-46d1-b15a-1176c653ed3b",{"type":24,"contentRole":27,"markdownContent":2000,"audioMediaId":2001},"At the heart of the web experience are three key components: HTTP, URLs, and web browsers. These elements collaborate seamlessly to deliver the content we access, whether it’s news articles, videos, or online shopping platforms.\n\nHTTP, or Hypertext Transfer Protocol, is essential to all data communication on the web. This protocol is used for transmitting hypertext requests and information between web servers and browsers. When you type down a web address into your web browser or click on a link, your browser sends an HTTP request to the server where the website is hosted. The server then processes this request and sends back the requested web page, which your browser displays.","64efef11-e7a9-44a3-ba04-912931e4b540",[2003],{"id":2004,"data":2005,"type":82,"version":36,"maxContentLevel":36},"513927b4-5609-40ef-bd26-5b383d28277a",{"type":82,"reviewType":67,"spacingBehaviour":24,"clozeQuestion":2006,"clozeWords":2008},[2007],"When you click on a link, your browser sends an HTTP request to the server.",[1912],{"id":2010,"data":2011,"type":24,"maxContentLevel":36,"version":24,"reviews":2014},"22429036-e25e-4c8c-bd5e-cba7066d84df",{"type":24,"contentRole":27,"markdownContent":2012,"audioMediaId":2013},"When you send an HTTP request to a server, it includes a bunch of data such as the type of action you want to perform, the specific webpage’s URL you’re requesting, and additional information called headers that provide context about your request.\n\nThere are two primary types of requests your browser can make, a GET or a POST request. A GET request is used when you want to retrieve data from a server. For example, when you click on a link or enter a web address into your browser, it sends a GET request to fetch the webpage's content from the server. A POST request is used when you want to submit data to the server, such as when filling out a form or uploading a file. POST requests include the data being sent to the server along with the request.\n\nOne of the key features of HTTP is its stateless nature, which means that each request from a client to a server is treated independently, without any memory of previous interactions. This simplicity allows HTTP to scale efficiently across the web, but it also means that additional mechanisms such as cookies, which are data about previous interactions with a domain, are needed to maintain stateful interactions that enhance user experience, such as keeping a user logged in as they navigate a website.\n\n![Graph](image://a9d83281-0a42-4c26-82ce-b1c4c96a8546 \"An example of a cookies warning. Image: User centrics\")","80fe87d1-7330-4fde-9c8b-90b48ef4ac8a",[2015,2024],{"id":2016,"data":2017,"type":82,"version":24,"maxContentLevel":36},"a177ccca-7f51-4548-8b02-50fe15bc4111",{"type":82,"reviewType":27,"spacingBehaviour":24,"binaryQuestion":2018,"binaryCorrect":2020,"binaryIncorrect":2022},[2019],"What kind of HTTP request is used to receive data from a server?",[2021],"GET",[2023],"POST",{"id":2025,"data":2026,"type":82,"version":24,"maxContentLevel":36},"48f7f9f6-5142-4fda-84f7-9946d8eb6955",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":2027,"multiChoiceCorrect":2029,"multiChoiceIncorrect":2031,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[2028],"Why are cookies necessary to enhance user experience?",[2030],"HTTP is stateless and has no memory of user actions",[2032,2033,2034],"HTTP is not secure without storing some user details","HTTP doesn't work at all without cookies","Cookies are essential for users to enter passwords",{"id":2036,"data":2037,"type":24,"maxContentLevel":36,"version":24,"reviews":2040},"61f40dfe-0c52-44e4-a9d5-dad718e878a6",{"type":24,"contentRole":27,"markdownContent":2038,"audioMediaId":2039},"In simple terms, HTTP requests are the way your browser talks to web servers to get or send information seamlessly. This process is what allows you to browse websites, fill out forms, and use web apps without any hassle. It's like a conversation between your browser and the server, where requests are made and responses come back with the information you need.\n\nHypertext Transfer Protocol Secure (HTTPS), is a protocol for secure communication over a computer network, particularly the internet. It ensures that data transmitted between your browser and the server is encrypted, providing a layer of security. This encryption, facilitated by SSL/TLS certificates, protects sensitive information such as passwords and credit card numbers from interception by malicious entities.\n\nBy authenticating the server and establishing a secure connection, HTTPS ensures that user data remains private and secure during transmission over the internet. The shift from HTTP to HTTPS has become increasingly important due to the enhanced security it provides. By adopting HTTPS, websites ensure that user data remains private and secure during transmission over the internet, maintaining trust and safeguarding online interactions against potential threats.\n\n![Graph](image://30d2a3fc-d9a7-429c-8745-b4fd91d4e4d3 \"HTTPS. Image: Public domain via Pixabay\")","9051260d-f3a4-4ae7-9dc8-38fe4715903a",[2041],{"id":2042,"data":2043,"type":82,"version":24,"maxContentLevel":36},"1bcdce74-9566-4227-a5b5-b843ef3a7e96",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":2044,"multiChoiceCorrect":2046,"multiChoiceIncorrect":2048,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[2045],"What protocol is increasingly important for secure interaction on the web?",[2047],"HTTPS",[1912,1909,2049],"TCP",{"id":2051,"data":2052,"type":24,"maxContentLevel":36,"version":24,"reviews":2055},"f17882e5-73c0-4c21-93fd-94535af43ec1",{"type":24,"contentRole":27,"markdownContent":2053,"audioMediaId":2054},"URLs, or Uniform Resource Locators, are the addresses you type into your web browser to access specific resources on the internet. A URL is composed of several parts: the protocol (e.g. HTTP or HTTPS), which dictates how the data should be transferred, the domain name (e.g. “www.example.com”), which identifies the server's location; and the path (e.g. /page1.html), which specifies the resource's precise location on the server.\n\n![Graph](image://2d86b18e-f741-4f74-b662-e02fa9a7f113 \"URL structure by Noémie2602 (CC BY-SA 4.0) \u003Chttps://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons\")\n\nAdditionally, URLs may include query parameters and fragments. Query parameters provide extra information to the server about the search, such as specifying filters or sorting criteria when shopping on e-commerce sites. For example, in the URL “www.example.com/products?category=electronics&sort=price” , “category=electronics” and “sort=price” are query parameters that refine the search.\n\nFragments, on the other hand, specify a specific section of the webpage to display after it loads, it automatically scrolls to or highlights a particular part of the page. This feature is particularly useful for navigating lengthy web pages efficiently. For example, the URL “www.example.com/about#team” directs the browser to automatically scroll to the section of the page that highlights information about the team.","b7d6b138-ae8a-4f4f-95cf-8b8f01bcd38c",[2056],{"id":2057,"data":2058,"type":82,"version":24,"maxContentLevel":36},"d741c900-b195-4186-9c7a-ccc90241a02a",{"type":82,"reviewType":36,"spacingBehaviour":24,"multiChoiceQuestion":2059,"multiChoiceCorrect":2061,"multiChoiceIncorrect":2063,"multiChoiceMultiSelect":6,"multiChoiceRevealAnswerOption":6},[2060],"In the URL www.example.com/products?category=electronics&sort=price, what would we call 'category' and 'price'?",[2062],"Parameters",[821,2064,2065],"Functions","Objects",{"id":2067,"data":2068,"type":24,"maxContentLevel":36,"version":24,"reviews":2071},"0ce32ff5-d770-45a3-ba37-a9b91d7ff625",{"type":24,"contentRole":27,"markdownContent":2069,"audioMediaId":2070},"Web browsers are the software applications that enable users to interact with web content. Popular browsers include Google Chrome, Mozilla Firefox, Microsoft Edge, and Safari. When you enter a URL, the browser interprets it to determine the protocol, domain, and path, then sends an HTTP request to the appropriate server. Upon receiving the data, the browser interprets HTML, CSS, and JavaScript to render the webpage.\n\nModern browsers offer features like tabbed browsing, bookmarks, and extensions to enhance the browsing experience.\n\n![Graph](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdXcAhazZTZI0YhPsBmVmr8tQZbY8pqNCuFTpz2EuGD9ME2w4As-NZp_QZViKwpSb7KfMspSRnGYtstoVMx5X-NdAW-3xPutSJ-RE8yDFm0arwatOjKEL1mJT2MCa4cj_mqvVU62im-a6trBEeWUPaC2qfh?key=5LTITOKWbclrcj2jWyo8Gw \"A mobile browser. Image: Public domain via Pexels.\")\n\nUnderstanding these components can help you troubleshoot common issues you might encounter while browsing the web. For example, if a web page fails to load, it could be due to a problem with the URL, such as a typo in the domain name or an incorrect path. Alternatively, the server might be down or experiencing high traffic, preventing it from responding to your HTTP request. In some cases, browser settings or extensions might interfere with the proper rendering of a web page.","3b514dad-e2a3-44f8-b993-a055f9564423",[2072],{"id":2073,"data":2074,"type":82,"version":24,"maxContentLevel":36},"9a9d2b62-ff1f-4462-a81a-432a008413a0",{"type":82,"reviewType":24,"spacingBehaviour":24,"activeRecallQuestion":2075,"activeRecallAnswers":2077},[2076],"What purpose does a browser serve?",[2078],"Interpreting user inputs and sending HTTP requests",{"left":4,"top":4,"width":2080,"height":2080,"rotate":4,"vFlip":6,"hFlip":6,"body":2081},24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"/>",{"left":4,"top":4,"width":2080,"height":2080,"rotate":4,"vFlip":6,"hFlip":6,"body":2083},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\"/>\u003Ccircle cx=\"7.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"/>\u003C/g>",1778179485955]