{"id":42,"date":"2015-03-06T12:50:29","date_gmt":"2015-03-06T12:50:29","guid":{"rendered":"http:\/\/siever.info\/blog\/?p=42"},"modified":"2015-03-19T21:58:09","modified_gmt":"2015-03-19T21:58:09","slug":"experiments-with-javascript-in-swift-playgrounds","status":"publish","type":"post","link":"https:\/\/siever.info\/home\/experiments-with-javascript-in-swift-playgrounds\/","title":{"rendered":"Experiments with JavaScript in Swift Playgrounds"},"content":{"rendered":"<p>In preparation for the SIGCSE 2015 I put together a demo showing ways to leverage Swift&#8217;s Playgrounds for a more immersive learning experience. They are:<\/p>\n<p><center><a title=\"WelcomeToThePlayground\" href=\"http:\/\/siever.info\/SwiftLearningDemo\/01_WelcomeToThePlayground.playground.zip\">01_WelcomeToThePlayground.playground.zip<\/a><\/p>\n<p><a title=\"02_While.playground.zip\" href=\"http:\/\/siever.info\/SwiftLearningDemo\/02_While.playground.zip\">02_While.playground.zip<\/a><\/center>The first example is an introduction to Swift Playgrounds. It gives a quick overview of the element of the Playground environment itself (the Results Sidebar, Assistant Editor, etc.). It concludes with some JavaScript multiple-choice self-test questions.<\/p>\n<p>The second example introduces <tt>while<\/tt>-loops and the Assistant Editor. It also contains a &#8220;code building&#8221; component that uses a &#8220;Parsons problem&#8221; from <a href=\"http:\/\/runestoneinteractive.org\/\">Runestone Interactive<\/a>. The Parson&#8217;s Problems are a powerful way to guide learners to proper logic and syntax. Rather than create code from scratch, it&#8217;s just a matter of dragging\/dropping code in the correct order, as seen here:<br \/>\n<a href=\"http:\/\/siever.info\/blog\/wp-content\/uploads\/2015\/03\/ParsonsProblem.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-43\" src=\"http:\/\/siever.info\/blog\/wp-content\/uploads\/2015\/03\/ParsonsProblem-910x1024.png\" alt=\"ParsonsProblem\" width=\"474\" height=\"533\" srcset=\"https:\/\/siever.info\/home\/wp-content\/uploads\/2015\/03\/ParsonsProblem-910x1024.png 910w, https:\/\/siever.info\/home\/wp-content\/uploads\/2015\/03\/ParsonsProblem-267x300.png 267w, https:\/\/siever.info\/home\/wp-content\/uploads\/2015\/03\/ParsonsProblem.png 1424w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><br \/>\nIn the full <tt>while<\/tt>-loop playground example the learner should also type in the actual code and evaluate it in the playground.<\/p>\n<p>Credits<\/p>\n<ul>\n<li>Both examples were built with Jason Sandmeyer&#8217;s Playground builder (<a title=\"https:\/\/github.com\/jas\/playground\" href=\"https:\/\/github.com\/jas\/playground\">https:\/\/github.com\/jas\/playground<\/a>).<\/li>\n<li>The quizzes and Parsons problem use JavaScript and CSS from<\/li>\n<\/ul>\n<p>Including interactive JavaScript in Playgrounds could be a great tool for improving their impact, but it requires some effort to set it up.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In preparation for the SIGCSE 2015 I put together a demo showing ways to leverage Swift&#8217;s Playgrounds for a more immersive learning experience. They are: 01_WelcomeToThePlayground.playground.zip 02_While.playground.zipThe first example is an introduction to Swift Playgrounds. It gives a quick overview of the element of the Playground environment itself (the Results Sidebar, Assistant Editor, etc.). It &hellip; <a href=\"https:\/\/siever.info\/home\/experiments-with-javascript-in-swift-playgrounds\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Experiments with JavaScript in Swift Playgrounds<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3],"tags":[],"class_list":["post-42","post","type-post","status-publish","format-standard","hentry","category-education","category-swift"],"_links":{"self":[{"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/posts\/42"}],"collection":[{"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":5,"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"predecessor-version":[{"id":86,"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/posts\/42\/revisions\/86"}],"wp:attachment":[{"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/siever.info\/home\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}