{"id":57,"date":"2018-07-03T19:08:44","date_gmt":"2018-07-03T19:08:44","guid":{"rendered":"https:\/\/computerscienced.co.uk\/site\/?p=57"},"modified":"2021-09-16T21:54:37","modified_gmt":"2021-09-16T21:54:37","slug":"teaching-functional-programming-at-ks5","status":"publish","type":"post","link":"https:\/\/computerscienced.co.uk\/site\/teaching-functional-programming-at-ks5\/","title":{"rendered":"Teaching Functional Programming at KS5"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">While attending ExaBytes18 I was introduced to a very useful way to teach Functional Programming to KS5 students using the website <a href=\"http:\/\/www.repl.it\">repl.it<\/a> and the Haskell programming language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">repl.it is not just a useful website for programming Haskell, you can program many other languages on there as well including Python, QBasic, Ruby, C#, HTML etc so an excellent resource in itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One thing that I would warn users about &#8211; repl.it does have a habit of losing your progress.&nbsp; For example you may have declared something and try to reference it on the line below for it to throw an error or just freeze indicating that it is not there anymore.&nbsp; My advice is to keep tabs on where you are up to in your program in case you need to redo any of your code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Having not used Haskell before I found it fairly easy to pick up and use.&nbsp; The language does not particularly use much syntax so this is one less thing your students have to worry about.&nbsp; The language and construction is fairly simple and should make sense to students though, like every program language, there are a few oddities that they will need to become accustomed with.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A good website for learning how to program Haskell is &#8211;&nbsp;<a href=\"http:\/\/learnyouahaskell.com\/\">http:\/\/learnyouahaskell.com\/ <\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can purchase the book or you can read the book for free on the website as well.&nbsp; In terms of KS5, students don&#8217;t have to know Haskell inside and out just be able to recognise a few simple commands and know the theory behind them but the website could fill in a few blanks if they are the type of student that needs to know why something is happening!<\/p>\n<!-- relpost-thumb-wrapper --><div class=\"relpost-thumb-wrapper\"><!-- filter-class --><div class=\"relpost-thumb-container\"><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/computerscienced.co.uk\/site\/teaching-functional-programming-at-ks5\/#Related_posts\" >Related posts:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/computerscienced.co.uk\/site\/teaching-functional-programming-at-ks5\/#The_2022_End_of_Year_Website_Update\" >The 2022 End of Year Website Update<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/computerscienced.co.uk\/site\/teaching-functional-programming-at-ks5\/#Celebrating_Ada_Lovelace_day\" >Celebrating Ada Lovelace day<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/computerscienced.co.uk\/site\/teaching-functional-programming-at-ks5\/#Website_update_5922\" >Website update 5\/9\/22<\/a><\/li><\/ul><\/nav><\/div>\n<h3 class=\"relpoststh-block-title\"><span class=\"ez-toc-section\" id=\"Related_posts\"><\/span>Related posts:<span class=\"ez-toc-section-end\"><\/span><\/h3><div style=\"clear: both\"><\/div><div style=\"clear: both\"><\/div><!-- relpost-block-container --><div class=\"relpost-block-container relpost-block-column-layout\" style=\"--relposth-columns: 3;--relposth-columns_t: 2; --relposth-columns_m: 2\"><a href=\"https:\/\/computerscienced.co.uk\/site\/the-2022-end-of-year-website-update\/\"class=\"relpost-block-single\"  aria-label=\"The 2022 End of Year Website Update\"><div class=\"relpost-custom-block-single\"><img loading=\"lazy\" decoding=\"async\" class=\"relpost-block-single-image\" alt=\"The 2022 End of Year Website Update\" src=\"https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/01\/undraw_new_year_2022_bxec.svg\" width=\"977\" height=\"657\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" style=\"aspect-ratio:1\/1;object-fit:cover;\" \/><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 14px;  color: #333333;\"><h3 class=\"relpost_card_title\"><span class=\"ez-toc-section\" id=\"The_2022_End_of_Year_Website_Update\"><\/span>The 2022 End of Year Website Update<span class=\"ez-toc-section-end\"><\/span><\/h3><\/div><\/div><\/a><a href=\"https:\/\/computerscienced.co.uk\/site\/celebrating-ada-lovelace-day\/\"class=\"relpost-block-single\"  aria-label=\"Celebrating Ada Lovelace day\"><div class=\"relpost-custom-block-single\"><img loading=\"lazy\" decoding=\"async\" class=\"relpost-block-single-image\" alt=\"Celebrating Ada Lovelace day\" src=\"https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day.webp\" width=\"1200\" height=\"675\" srcset=\"https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day.webp 1200w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-300x169.webp 300w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-1024x576.webp 1024w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-768x432.webp 768w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-320x180.webp 320w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-480x270.webp 480w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-800x450.webp 800w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-50x28.webp 50w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-100x56.webp 100w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/10\/Celebrate-Ada-Lovelace-day-600x338.webp 600w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" style=\"aspect-ratio:1\/1;object-fit:cover;\" \/><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 14px;  color: #333333;\"><h3 class=\"relpost_card_title\"><span class=\"ez-toc-section\" id=\"Celebrating_Ada_Lovelace_day\"><\/span>Celebrating Ada Lovelace day<span class=\"ez-toc-section-end\"><\/span><\/h3><\/div><\/div><\/a><a href=\"https:\/\/computerscienced.co.uk\/site\/website-update-5-9-22\/\"class=\"relpost-block-single\"  aria-label=\"Website update 5\/9\/22\"><div class=\"relpost-custom-block-single\"><img loading=\"lazy\" decoding=\"async\" class=\"relpost-block-single-image\" alt=\"Website update 5\/9\/22\" src=\"https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header.webp\" width=\"1200\" height=\"675\" srcset=\"https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header.webp 1200w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header-300x169.webp 300w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header-1024x576.webp 1024w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header-768x432.webp 768w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header-50x28.webp 50w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header-100x56.webp 100w, https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2022\/06\/Website-update-blog-header-600x338.webp 600w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" style=\"aspect-ratio:1\/1;object-fit:cover;\" \/><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 14px;  color: #333333;\"><h3 class=\"relpost_card_title\"><span class=\"ez-toc-section\" id=\"Website_update_5922\"><\/span>Website update 5\/9\/22<span class=\"ez-toc-section-end\"><\/span><\/h3><\/div><\/div><\/a><\/div><!-- close relpost-block-container --><div style=\"clear: both\"><\/div><\/div><!-- close filter class --><\/div><!-- close relpost-thumb-wrapper -->","protected":false},"excerpt":{"rendered":"<p>While attending ExaBytes18 I was introduced to a very useful way to teach Functional Programming to KS5 students using the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2499,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"disable_featured_image":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-57","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-resources"],"blog_post_layout_featured_media_urls":{"thumbnail":["https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2018\/07\/Front-page-slider-template5-150x150.png",150,150,true],"full":["https:\/\/computerscienced.co.uk\/site\/wp-content\/uploads\/2018\/07\/Front-page-slider-template5.png",1200,300,false]},"categories_names":{"5":{"name":"Resources","link":"https:\/\/computerscienced.co.uk\/site\/category\/resources\/"}},"tags_names":[],"comments_number":"0","_links":{"self":[{"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":5,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"predecessor-version":[{"id":2500,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/posts\/57\/revisions\/2500"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/media\/2499"}],"wp:attachment":[{"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computerscienced.co.uk\/site\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}