{"id":1221,"date":"2013-11-16T12:06:16","date_gmt":"2013-11-16T12:06:16","guid":{"rendered":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1221"},"modified":"2013-11-16T12:28:38","modified_gmt":"2013-11-16T12:28:38","slug":"using-coding-dojo-to-engage-learners-and-have-fun","status":"publish","type":"post","link":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/using-coding-dojo-to-engage-learners-and-have-fun\/","title":{"rendered":"Using &#8220;Coding Dojo&#8221; to Engage Learners and Have Fun"},"content":{"rendered":"\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=http%3A%2F%2Finspiredtoeducate.net%2Finspiredtoeducate%2Fusing-coding-dojo-to-engage-learners-and-have-fun%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 2px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n<p><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/matrixDojo.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1223\" title=\"matrixDojo\" src=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/matrixDojo.jpg\" alt=\"\" width=\"620\" height=\"269\" srcset=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/matrixDojo.jpg 620w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/matrixDojo-300x130.jpg 300w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>There are lots of ways to teach the craft of programming. \u00a0I have done my share of teaching programming through a lecture or working through a tutorial. \u00a0 While the lecture has it&#8217;s place in learning, I enjoy learning new teaching methodologies that maximize creativity, \u00a0<a href=\"http:\/\/www.intime.uni.edu\/model\/learning\/acti.html\" target=\"_blank\">active learning<\/a>, and fun. \u00a0In our Google Developer Group, we have utilizing a fun teaching practice called &#8220;Coding Dojo.&#8221; \u00a0 A &#8220;Coding Dojo&#8221; is a meeting designed to teach software craftsmanship \u00a0to novice and experienced programmers by solving a focus puzzle problem. \u00a0 During the course of the meeting, team members take turns contributing well crafted code to help solve the group puzzle problem.<\/p>\n<p>Coding Dojos are promoted from the Software Craftsmanship movement. \u00a0The Dojo meeting style promotes values from the\u00a0<a href=\"http:\/\/manifesto.softwarecraftsmanship.org\/\" target=\"_blank\">software craftsmanship manifesto<\/a>:<\/p>\n<p>&#8220;As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:<\/p>\n<ul>\n<li>Not only working software, \u00a0<strong>but also well-crafted software.<\/strong><\/li>\n<li>Not only responding to change, <strong>but also steadily adding value.<\/strong><\/li>\n<li>Not only individuals and interactions, <strong>but also a community of professionals.<\/strong><\/li>\n<li>Not only customer collaboration, <strong>but also productive partnerships.&#8221;<\/strong><\/li>\n<\/ul>\n<p><strong>What are the benefits of a Coding Dojo?<\/strong><\/p>\n<ul>\n<li><strong>Engagement: \u00a0<\/strong><a href=\"http:\/\/www.cs.mercer.edu\/faculty\/facMember\/?POI=8\" target=\"_blank\">Dr. Laurie White from Mercer University<\/a> encouraged us to try Dojo meeting format for some of our <a href=\"https:\/\/plus.google.com\/communities\/117681570238289415567\" target=\"_blank\">recent Google Developer Group(GDG) meetings<\/a>. \u00a0 During GDG, we regularly gather to explore exciting programming technologies from Google, open source, or web programming. \u00a0 The college students seemed much more engaged in topics since they were actively learning and applying knowledge. \u00a0 On top of that, we would collectively cheer when a team member got something working well. \u00a0How fun is that!?<\/li>\n<li><strong>Pair programming:<\/strong>\u00a0 When you are creating code, team members work in pairs. \u00a0 For 5 minutes, a team member acts as a coder. \u00a0 The coder is supported by a co-pilot who tries to think ahead, plan the design, and guide the coder. \u00a0 With every 5 minute time interval, the role of coder and co-pilot will be shifted. \u00a0 The current coder becomes a co-pilot. \u00a0 A coder is invited from the audience.<\/li>\n<li><strong>Cooking up good code:<\/strong> From an audience perspective, the conversations between the coder and the co-pilot feel like a cooking show. \u00a0 It&#8217;s fun to see a master chef coach and a partner making a fine dish. \u00a0I personally enjoy Cake Boss. \u00a0In a similar fashion, novices learn from experienced programmers. \u00a0 Novices often teach masters new tricks.<\/li>\n<li><strong>Working in &#8220;baby steps&#8221;: \u00a0<\/strong>Great software is created from small &#8220;baby steps&#8221; of well crafted code. \u00a0 Coding Dojos promote the practice of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\">&#8220;test driven development.&#8221;<\/a> \u00a0(TDD) \u00a0 \u00a0You don&#8217;t get stuck! \u00a0You always have help!<\/li>\n<\/ul>\n<p><strong>How To Organize a Coding Dojo?<\/strong><\/p>\n<p>As you run a Dojo event, it&#8217;s important to promote an environment of respect and learning. The <a href=\"http:\/\/codingdojo.org\/cgi-bin\/wiki.pl?WhatIsCodingDojo\" target=\"_blank\">CodingDojo.org<\/a> has a simple page sharing the agenda and principles for a Dojo. The following video provides a summary of the roles of the audience, co-pilot, coder, and sensai. (i.e. a master programmer who supports through questions).<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/gav9fLVkZQc\" frameborder=\"0\" width=\"420\" height=\"315\"><\/iframe><\/p>\n<p><strong>Puzzles and Challenges For Coding Dojo<\/strong><\/p>\n<p>To introduce the idea of doing a coding Dojo, our group decided to start with a fairly simple programming puzzle called <a href=\"http:\/\/codingdojo.org\/cgi-bin\/wiki.pl?KataFizzBuzz\" target=\"_blank\">FizzBuzz<\/a>. \u00a0 It was fun doing this programming puzzle with experienced programmers and non-programmers. \u00a0 You can find additional Coding Dojo Challenges at <a href=\"http:\/\/kata.coderdojo.com\/wiki\/Main_Page\" target=\"_blank\">CodingDojo.org<\/a>.<\/p>\n<p><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/CodingDojo.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1222\" title=\"CodingDojo\" src=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/CodingDojo.jpg\" alt=\"\" width=\"958\" height=\"254\" srcset=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/CodingDojo.jpg 958w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/CodingDojo-300x79.jpg 300w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/a><\/p>\n<p><strong>Kid Friendly Challenges:<\/strong> Looking for kid friendly coding dojo problems? \u00a0Check out\u00a0<a href=\"http:\/\/kata.coderdojo.com\/wiki\/Main_Page\">http:\/\/kata.coderdojo.com\/wiki\/Main_Page<\/a>\u00a0.<\/p>\n<p>In our last GDG meeting, we adapted the Dojo format to teach <a href=\"http:\/\/www.w3schools.com\/html\/html5_canvas.asp\" target=\"_blank\">HTML5 Canvas programming<\/a>. \u00a0 The programming puzzle for the group was to draw the following picture using HTML5 canvas and JavaScript.<\/p>\n<p><strong>Goal Picture:<\/strong><\/p>\n<p><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/HTML5CanvasDojo.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-1224\" title=\"HTML5CanvasDojo\" src=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/HTML5CanvasDojo-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/HTML5CanvasDojo-300x300.jpg 300w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/HTML5CanvasDojo-150x150.jpg 150w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/HTML5CanvasDojo-100x100.jpg 100w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/11\/HTML5CanvasDojo.jpg 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The final result was pretty fun:<\/p>\n<p><iframe loading=\"lazy\" src=\"http:\/\/inspiredtoeducate.net\/blogPostDemos\/house.html\" width=\"500\" height=\"500\"><\/iframe><\/p>\n<p>We love to hear from YOU!.<\/p>\n<p><strong>What are your favorite ways to encourage active learning and increase engagement?<\/strong><\/p>\n<div><strong><br \/>\n<\/strong><\/div>\n<p>&nbsp;<\/p>\n<h2><a href=\"https:\/\/plus.google.com\/communities\/117681570238289415567\" target=\"_blank\"><strong>Join the Mercer University Google Developer on Google+<\/strong> \u00a0<\/a><\/h2>\n<p>&nbsp;<\/p>\n<p><strong>Related Posts:<\/strong><\/p>\n<div>\n<ul>\n<li><a title=\"Benefits of Teaching Kids To Code That No One Is Talking About\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=623\">Benefits of Teaching Kids To Code That No One Is Talking About<\/a><\/li>\n<li><a title=\"7 Reasons Why The Makers Movement Is Revolutionary\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=942\">7 Reasons Why The Makers Movement Is Revolutionary<\/a><\/li>\n<li><a title=\"How to Build Your Mobile App using HTML\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=849\">How to Build Your Mobile App using HTML<\/a><\/li>\n<li><a title=\"Maker Camp: Free Virtual Summer Camp for Teens\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=961\">Maker Camp: Free Virtual Summer Camp For Teens<\/a><\/li>\n<li><a title=\"5 Resources To Help You Teach Kids Programming\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=689\">5 Resources To Help You Teach Kids Programming<\/a><\/li>\n<li><a title=\"5 reasons to love Khan academy for computer science\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=202\">5 reasons to love Khan academy for computer science<\/a><\/li>\n<\/ul>\n<\/div>\n\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=http%3A%2F%2Finspiredtoeducate.net%2Finspiredtoeducate%2Fusing-coding-dojo-to-engage-learners-and-have-fun%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 2px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n","protected":false},"excerpt":{"rendered":"<p>There are lots of ways to teach the craft of programming. \u00a0I have done my share of teaching programming through a lecture or working through a tutorial. \u00a0 While the lecture has it&#8217;s place in learning, I enjoy learning new teaching methodologies that maximize creativity, \u00a0active learning, and fun. \u00a0In [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,7,5,11,3,8],"tags":[],"_links":{"self":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/1221"}],"collection":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/comments?post=1221"}],"version-history":[{"count":8,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/1221\/revisions"}],"predecessor-version":[{"id":1232,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/1221\/revisions\/1232"}],"wp:attachment":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/media?parent=1221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/categories?post=1221"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/tags?post=1221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}