Teaching TDD, the Coding Dojo Style

1,356 views

Published on

Presented on the 13 International Conference on Advanced Learning Tecnologies - ICALT 2013.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,356
On SlideShare
0
From Embeds
0
Number of Embeds
57
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Teaching TDD, the Coding Dojo Style

  1. 1. Teaching TDD, The Coding Dojo Style The 13th IEEE International Conference on Advanced Learning Technologies (ICALT) 2013 Ramiro Batista Luz1 ramiroluz@gmail.com Adolfo Gustavo Serra Seca Neto2 adolfo@utfpr.edu.br Robinson Vida Noronha3 vida@utfpr.edu.br 1 Systems development department City Chamber of Curitiba Bar˜ao do Rio Branco St., S/N, Downtown, Curitiba, Paran´a, Brazil. 2 Academic Department of Informatics Federal University of Technology - Paran´a Curitiba, Paran´a, Brazil 3 Academic Department of Electronics Federal University of Technology - Paran´a Curitiba, Paran´a, Brazil July 15-18, 2013 Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  2. 2. Abstract Coding Dojo is a dynamic and collaborative activity inspired in martial arts that follows a discipline in a cheerful and pleasant environment. Several agile development techniques are used during the Coding Dojo, such as test driven development, pair programming and baby steps. This article presents some Coding Dojo characteristics that help teaching agile development techniques. Some experienced practitioners were interviewed to get qualitative information about their perception of the Coding Dojo practice. An electronic survey was answered by Coding Dojo participants from several Coding Dojo groups in Brazil. One ontology is being elaborated to represent the interviews knowledge. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  3. 3. Introduction The word DOJO, place of the way, the place to study life, place where martial arts are practiced. Coding Dojo Origin (Dave Thomas, Laurent Bossavit, Emannuel Gaillot). What is a Coding Dojo? Educational aspects. Test driven development (TDD) Pair Programming. Baby steps. Requirements. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  4. 4. Educational aspects Uneven classes. Interaction and participation in classes. Theory, example and practice. Collaborative learning and learn to collaborate. Team work. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  5. 5. The research We are researching how the Coding Dojo can help the knowledge sharing during programming classes, the advantages and disadvantages. To acquire this surveys were submitted to Coding Dojo practitioners, interviews were recorded and Ontologies were made to represent the interviews knowledge. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  6. 6. Coding Dojo Picture Figura: Coding Dojo of a local group. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  7. 7. State of the art Some studies evaluate the quality of the software using agile methods [Vodde e Koskela 2007], [Siniaalto e Abrahamsson 2007], [Janzen e Saiedian 2008] and [Pancur et al. 2003]. Others evaluated agile methods adherence [Bravo e Goldman 2010] and [Dubinsky e Hazzan 2003]. Mariana Bravo, [Bravo 2011] used Coding Dojo to evaluate the practitioner’s perception of their agile method’s learning. Report sharing the experience of running a Coding Dojo Group at University of S˜ao Paulo, [Sato, Corbucci e Bravo 2008]. An adapted Coding Dojo method was used in classes. [Delgado, Toledo e Braganholo 2012]. The Coding Dojo was evaluated as a method in programming classes by, [Carmo e Braganholo 2012]. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  8. 8. Methodology On-line survey using Likert Scale. Interview with specialists. In place survey during Coding Dojo meetings. Interviews Ontology, using Methontology [Lopez, Perez e Juristo 1997]. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  9. 9. Results The next slides will show some graphics representing the survey responses for the Coding Dojo techniques. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  10. 10. The on-line survey got 64 answers. Figure 2 shows the distribution of the participants regarding the experience in Coding Dojo sessions. Figura: Coding Dojo number of sessions Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  11. 11. The programming experience in years of the surveys respondents are shown in Figure 3. Figura: Programming experience in years Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  12. 12. The majority of the volunteers agreed that baby steps help to solve challenges gradually. Only 17% disagreed or are neutral to the affirmation which can be seen in Figure 4. Figura: Baby steps Coding Dojo practitioner’s perception. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  13. 13. The participants believe that writing tests before coding helps the progress of the activity. In Figure 5, we see that 77% agree or strongly agree with this affirmation. Figura: Test driven development Coding Dojo practitioner’s perception. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  14. 14. The participants agree that pair programming helps the leveling of the attendees (Figure 6). Figura: Pair programming Coding Dojo practitioner’s perception. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  15. 15. Interviews Ontology. Figura: High level ontology Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  16. 16. Interviews Ontology, attendant hierarchy. Figura: Attendant hierarchy Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  17. 17. Interviews Ontology, evaluation hierarchy. Figura: Evaluation hierarchy Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  18. 18. Interviews Ontology, method hierarchy. Figura: Method hierarchy Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  19. 19. Interviews Ontology, structure hierarchy. Figura: Structure hierarchy Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  20. 20. Results analyses It has been reported that Baby Steps, Pair Programming and TDD helps gradual solutions, simplifies the process of finding a solution to a problem and learn TDD in a Coding Dojo Session by the survey volunteers. The interviewed specialists alleged that Coding Dojo is focused on practice, so it is not appropriated to conceptual classes. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  21. 21. Conclusion At this moment it is possible to notice that the Coding Dojo is a dynamic activity which favors the participation and collaboration in an inclusive learning environment where students are able to participate in the teaching process showed by papers like [Bossavit e Gaillot 2005] and [Sato, Corbucci e Bravo 2008]. Coding Dojo is very focused on practice, so it is indicated to repetitive and disciplined tasks as TDD, pair programming and continuous integration. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  22. 22. Acknowledgement Adolfo Gustavo Serra Seca Neto - Mentor Robson Vida - Co-Mentor. Tatiane Guimar˜aes, Matheus Ara´ujo, PETECO e PETCOCE, Coding Dojo organization at UTFPR. Jo˜ao Alberto Fabro and Gustavo Alberto Gim´enez Lugo - institutional support to attend events. Rodrigo Senra, Gustavo Alberto Gim´enez Lugo and Cesar Augusto Tacla, ontology help Danilo Sato, Hugo Corbucci, Daniel Wildt, Alexandre Freire, Roberto Leite de Moraes Rodrigues, Mauricio Aniche and Elizabeth Leddy - interviews. The surveys volunteers. All the ICALT team, specially Lanqin Zheng for all the help. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  23. 23. References I BOSSAVIT, L.; GAILLOT, E. The coder’s dojo – a different way to teach and learn programming. In: HUTCHISON, D. et al. (Ed.). Extreme programming and agile processes in software engineering. Berlin, Heidelberg: Springer Berlin Heidelberg, 2005, (Lecture Notes in Computer Science, v. 3556). p. 290–291. ISBN 978-3-540-26277-0, 978-3-540-31487-5. Dispon´ıvel em: <http://www.springerlink.com/index/10.1007/11499053 54>. BRAVO, M.; GOLDMAN, A. Reinforcing the learning of agile practices using coding Dojos. In: SILLITTI, A. et al. (Ed.). Agile processes in software engineering and extreme programming. Springer Berlin Heidelberg, 2010, (Lecture Notes in Business Information Processing, v. 48). p. 379–380. ISBN 978-3-642-13054-0. 10.1007/978-3-642-13054-0 41. Dispon´ıvel em: <http://dx.doi.org/10.1007/978-3-642-13054-0 41>. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  24. 24. References II BRAVO, M. V. Abordagens para o ensino de pr´aticas de programa¸c˜ao extrema. Disserta¸c˜ao (Mestrado) — Instituto de Matem´atica e Estat´ıstica da Universidade de S˜ao Paulo, maio 2011. Dispon´ıvel em: <http://grenoble.ime.usp.br/ gold/orientados/dissertacao- MarianaBravo.pdf>. CARMO, D.; BRAGANHOLO, V. Um estudo sobre o uso did´atico de dojos de programa¸c˜ao. In: Workshop de educa¸c ao em computa¸c ao (wei). sociedade brasileira de computa¸cao. [S.l.: s.n.], 2012. DELGADO, C.; TOLEDO, R. de; BRAGANHOLO, V. Uso de dojos no ensino superior de computa¸c˜ao. 2012. DUBINSKY, Y.; HAZZAN, O. eXtreme programming as a framework for student-project coaching in computer science capstone courses. In: . IEEE Comput. Soc, 2003. p. 53–59. ISBN 0-7695-2047-2. Dispon´ıvel em: <http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1245424> Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  25. 25. References III JANZEN, D.; SAIEDIAN, H. Does test-driven development really improve software design quality? IEEE Software, IEEE Computer Society, Los Alamitos, CA, USA, v. 25, p. 77–84, 2008. ISSN 0740-7459. LOPEZ, M. F.; PEREZ, A. G.; JURISTO, N. METHONTOLOGY: from Ontological Art towards Ontological Engineering. In: Proceedings of the aaai97 spring symposium. Stanford, USA: [s.n.], 1997. p. 33–40. PANCUR, M. et al. Towards empirical evaluation of test-driven development in a university environment. In: The IEEE region 8 EUROCON 2003. computer as a tool. Ljubljana, Slo- venia: IEEE, 2003. v. 2, p. 83–86. ISBN 0-7803-7763-X. Dispon´ıvel em: <http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1248153> Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  26. 26. References IV SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: an environment for learning and sharing agile practices. AGILE Conference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p. 459–464, 2008. SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: an environment for learning and sharing agile practices. AGILE Conference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p. 459–464, 2008. SINIAALTO, M.; ABRAHAMSSON, P. A comparative case study on the impact of test-driven development on program design and test coverage. In: Proceedings of the first international symposium on empirical software engineering and measurement. Washington, DC, USA: IEEE Computer Society, 2007. (ESEM ’07), p. 275–284. ISBN 0-7695-2886-4. Dispon´ıvel em: <http://dx.doi.org/10.1109/ESEM.2007.2>. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  27. 27. References V VODDE, B.; KOSKELA, L. Learning test-driven development by counting lines. IEEE Software, IEEE Computer Society, Los Alamitos, CA, USA, v. 24, p. 74–79, 2007. ISSN 0740-7459. Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
  28. 28. Contact ramiroluz@gmail.com http://www.slideshare.net/ramiroluz Ramiro Luz et al. Teaching TDD, The Coding Dojo Style

×