koans and katas, oh my! from Øredev 2010
Post on 19-Sep-2014
24 views
DESCRIPTION
In this session from Øredev 2010 in Malmö, Sweden, Cory Foy covers the concepts of Koans and Katas in the software world by explaining the concepts of learning models such as the Dreyfus Model of Skills Acquisition, Shu Ha Ri and others.TRANSCRIPT
![Page 1: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/1.jpg)
Øredev - Malmö, Sweden
Koans and Katas, Oh My! Cory Foy, Senior Consultant, Net Objectives
Tuesday, November 9, 2010
![Page 2: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/2.jpg)
Tuesday, November 9, 2010
![Page 3: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/3.jpg)
Tuesday, November 9, 2010
![Page 4: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/4.jpg)
Tuesday, November 9, 2010
![Page 5: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/5.jpg)
Tuesday, November 9, 2010
![Page 6: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/6.jpg)
Tuesday, November 9, 2010
![Page 7: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/7.jpg)
Tuesday, November 9, 2010
![Page 8: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/8.jpg)
Tuesday, November 9, 2010
![Page 9: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/9.jpg)
Tuesday, November 9, 2010
![Page 10: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/10.jpg)
Tuesday, November 9, 2010
![Page 11: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/11.jpg)
Tuesday, November 9, 2010
![Page 12: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/12.jpg)
Koans
Tuesday, November 9, 2010
![Page 13: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/13.jpg)
Koans
Katas
Tuesday, November 9, 2010
![Page 14: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/14.jpg)
Koans
Katas
Code Retreats
Tuesday, November 9, 2010
![Page 15: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/15.jpg)
Tuesday, November 9, 2010The method in which we do these exercises is a vital part of how we learn. One key model of Skills Acquisition is the Dreyfus model, which defines 5 stages from beginner to expert. But the key is that the earlier stages of learning require greater context and concrete steps for the student to help them work through the exercises and begin the understanding which leads them down the path of intuitive decision making.
![Page 16: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/16.jpg)
Novice
Advanced Beginner
Competent
Proficient
Expert
Tuesday, November 9, 2010The method in which we do these exercises is a vital part of how we learn. One key model of Skills Acquisition is the Dreyfus model, which defines 5 stages from beginner to expert. But the key is that the earlier stages of learning require greater context and concrete steps for the student to help them work through the exercises and begin the understanding which leads them down the path of intuitive decision making.
![Page 17: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/17.jpg)
Novice
Advanced Beginner
Competent
Proficient
Expert
Works More From Intuition
Tuesday, November 9, 2010The method in which we do these exercises is a vital part of how we learn. One key model of Skills Acquisition is the Dreyfus model, which defines 5 stages from beginner to expert. But the key is that the earlier stages of learning require greater context and concrete steps for the student to help them work through the exercises and begin the understanding which leads them down the path of intuitive decision making.
![Page 18: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/18.jpg)
Novice
Advanced Beginner
Competent
Proficient
Expert
Requires More Context
Works More From Intuition
Tuesday, November 9, 2010The method in which we do these exercises is a vital part of how we learn. One key model of Skills Acquisition is the Dreyfus model, which defines 5 stages from beginner to expert. But the key is that the earlier stages of learning require greater context and concrete steps for the student to help them work through the exercises and begin the understanding which leads them down the path of intuitive decision making.
![Page 19: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/19.jpg)
Tuesday, November 9, 2010An alternative way of expressing this transition is through the concept of Shu Ha Ri. In this model the student first learns by following the rules (Shu). Overtime, the student can formalize and abide by the rules. At this point they move into a phase of attempting to break the rules (Ha) by reflection on self-knowledge and exploration of exceptions and anti-theses. When the student can break and see both sides of all of the rules, they enter into a phase where they attempt to leave the rules (Ri) by becoming free of the rules by leaving the practices and focusing instead on the flow.
![Page 20: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/20.jpg)
Shu
Tuesday, November 9, 2010An alternative way of expressing this transition is through the concept of Shu Ha Ri. In this model the student first learns by following the rules (Shu). Overtime, the student can formalize and abide by the rules. At this point they move into a phase of attempting to break the rules (Ha) by reflection on self-knowledge and exploration of exceptions and anti-theses. When the student can break and see both sides of all of the rules, they enter into a phase where they attempt to leave the rules (Ri) by becoming free of the rules by leaving the practices and focusing instead on the flow.
![Page 21: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/21.jpg)
Shu Ha
Tuesday, November 9, 2010An alternative way of expressing this transition is through the concept of Shu Ha Ri. In this model the student first learns by following the rules (Shu). Overtime, the student can formalize and abide by the rules. At this point they move into a phase of attempting to break the rules (Ha) by reflection on self-knowledge and exploration of exceptions and anti-theses. When the student can break and see both sides of all of the rules, they enter into a phase where they attempt to leave the rules (Ri) by becoming free of the rules by leaving the practices and focusing instead on the flow.
![Page 22: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/22.jpg)
Shu Ha Ri
Tuesday, November 9, 2010An alternative way of expressing this transition is through the concept of Shu Ha Ri. In this model the student first learns by following the rules (Shu). Overtime, the student can formalize and abide by the rules. At this point they move into a phase of attempting to break the rules (Ha) by reflection on self-knowledge and exploration of exceptions and anti-theses. When the student can break and see both sides of all of the rules, they enter into a phase where they attempt to leave the rules (Ri) by becoming free of the rules by leaving the practices and focusing instead on the flow.
![Page 23: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/23.jpg)
Tuesday, November 9, 2010
![Page 24: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/24.jpg)
✤ Kihon (Basics)
Tuesday, November 9, 2010
![Page 25: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/25.jpg)
✤ Kihon (Basics)
✤ Kata (Forms)
Tuesday, November 9, 2010
![Page 26: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/26.jpg)
✤ Kihon (Basics)
✤ Kata (Forms)
✤ Kumite (Sparring)
Tuesday, November 9, 2010
![Page 27: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/27.jpg)
✤ Kihon (Basics)
✤ Kata (Forms)
✤ Kumite (Sparring)
✤ Koan (Transcending)
Tuesday, November 9, 2010
![Page 28: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/28.jpg)
http://rubykoans.com/
Tuesday, November 9, 2010
![Page 29: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/29.jpg)
Tuesday, November 9, 2010
![Page 30: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/30.jpg)
Tuesday, November 9, 2010
But Koans are a journey. A path towards greater learning. An investment. You’re learning. And we need learning. But we also need practice. Which takes us to Katas.
![Page 31: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/31.jpg)
max_bit.times { |i| count += word[i] }
Tuesday, November 9, 2010
The concept of software Katas was coined by “Pragmatic” Dave Thomas. It came to him after he took this unreadable mess and converted it into this glimmering example of a much more readable (and faster!) version
![Page 32: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/32.jpg)
((max_bit+29)/30).times do |offset| x = (word >> (offset*30)) & 0x3fffffff next if x.zero? x = x - ((x >> 1) & 0x55555555) x = (x & 0x33333333) + ((x >> 2) & 0x33333333) x = (x + (x >> 4)) & 0x0f0f0f0f; x = x + (x >> 8) x = x + (x >> 16) count += x & 0x3f end
Tuesday, November 9, 2010
![Page 33: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/33.jpg)
Tuesday, November 9, 2010
So he created this CodeKata site with a series of focused problems developers could solve. But over time, the discussion drifted from providing a series of problems to solve, to a series of solutions one could practice.
![Page 34: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/34.jpg)
Tuesday, November 9, 2010
This led to the KataCasts site, which were a series of Screencasts released by Corey Haines and Enrique Comba (among others) which highlighted specific solutions. We saw one of those earlier with the String Calculator Kata. The goal of these Katas were to allow one to practice their toolsets, their languages and themselves while building a known solution. Which is something I want us to try now.
![Page 35: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/35.jpg)
http://codingdojo.org/cgi-bin/wiki.pl?KataFizzBuzz
Tuesday, November 9, 2010
This is the infamous FizzBuzz exercise. To get our blood flowing (and our keyboards going) I want us to run through 3 iterations of this exercise. But we’re going to modify it slightly. Instead of doing 1 to 100, I just want you to print the numbers 1 to 10.
![Page 36: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/36.jpg)
Tuesday, November 9, 2010
Katas are a great way to practice many things, because they are short, and you can do them just about anywhere. As you saw from the FizzBuzz exercise, repetition is important so that you can learn things. In the spirit of that (and things like Coding Dojos) Nayan Hajaratwala, Corey Haines, Patrick Welsh and others created CodeRetreats
![Page 37: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/37.jpg)
Tuesday, November 9, 2010
Code Retreats are full day
![Page 38: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/38.jpg)
Tuesday, November 9, 2010
Code Retreats are full day
![Page 39: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/39.jpg)
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
Tuesday, November 9, 2010
![Page 40: Koans and Katas, Oh My! From Øredev 2010](https://reader033.vdocuments.net/reader033/viewer/2022052503/541b51257bef0a760a8b4c10/html5/thumbnails/40.jpg)
Credits and Links
Firefighters: http://www.sxc.hu/browse.phtml?f=download&id=1018822Martial Arts: http://www.sxc.hu/browse.phtml?f=download&id=68048&redirect=photoDoctor: http://www.sxc.hu/browse.phtml?f=download&id=1314903&redirect=photoGuitar: http://www.sxc.hu/browse.phtml?f=download&id=863840&redirect=photoCars: http://www.sxc.hu/browse.phtml?f=download&id=900749&redirect=photoBlacksmith: http://www.sxc.hu/browse.phtml?f=download&id=166615&redirect=photoCraftsman: http://www.sxc.hu/browse.phtml?f=download&id=470477&redirect=photoShuHaRi: http://upload.wikimedia.org/wikipedia/commons/e/e2/ShuHaRi.pngKihon: http://www.sxc.hu/browse.phtml?f=download&id=1129310Kata: http://www.flickr.com/photos/cayusa/2963773652/sizes/l/in/photostream/Kumite: http://www.flickr.com/photos/mgoulet/3341918877/sizes/z/in/photostream/Koan: http://www.flickr.com/photos/seandreilinger/4127197962/sizes/z/in/photostream/
Photos
Linkshttp://www.coderetreat.com/how-it-works.htmlhttp://en.wikipedia.org/wiki/Conway%27s_Game_of_Lifehttp://geekswithblogs.net/onefloridacoder/archive/2010/08/16/setting-up-for-the-orlando-code-retreat.aspxhttp://coderetreat.ning.com/profiles/blogs/how-to-run-a-coderetreathttp://www.alexbolboaca.ro/wordpress/articles/how-to-organize-a-code-retreathttp://gojko.net/2009/02/27/thought-provoking-tdd-exercise-at-the-software-craftsmanship-conference/http://gojko.net/2009/08/02/tdd-as-if-you-meant-it-revisited/http://en.wikipedia.org/wiki/K%C5%8Danhttp://codekata.pragprog.com/2007/01/kata_kumite_koa.htmlhttp://saraford.net/2010/01/17/coding-is-not-kata/http://www.c2.com/cgi/wiki?ShuHaRihttp://rubykoans.com/windowshttp://codingdojo.org/cgi-bin/wiki.pl?KataFizzBuzz
Tuesday, November 9, 2010