teaching tdd, the coding dojo style
DESCRIPTION
Presented on the 13 International Conference on Advanced Learning Tecnologies - ICALT 2013.TRANSCRIPT
Teaching TDD, The Coding Dojo StyleThe 13th IEEE International Conference on Advanced Learning
Technologies (ICALT) 2013
Ramiro Batista Luz1 [email protected]
Adolfo Gustavo Serra Seca Neto2 [email protected]
Robinson Vida Noronha3 [email protected]
1Systems development departmentCity Chamber of Curitiba
Barao do Rio Branco St., S/N, Downtown, Curitiba, Parana, Brazil.
2Academic Department of InformaticsFederal University of Technology - Parana
Curitiba, Parana, Brazil
3Academic Department of ElectronicsFederal University of Technology - Parana
Curitiba, Parana, Brazil
July 15-18, 2013
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Abstract
Coding Dojo is a dynamic and collaborative activity inspired in martialarts 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. Thisarticle presents some Coding Dojo characteristics that help teaching agiledevelopment techniques. Some experienced practitioners wereinterviewed to get qualitative information about their perception of theCoding Dojo practice. An electronic survey was answered by Coding Dojoparticipants from several Coding Dojo groups in Brazil. One ontology isbeing elaborated to represent the interviews knowledge.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Introduction
The word DOJO, place of the way, the place to study life, placewhere martial arts are practiced.
Coding Dojo Origin (Dave Thomas, Laurent Bossavit, EmannuelGaillot).
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
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
The research
We are researching how the Coding Dojo can help the knowledge sharingduring programming classes, the advantages and disadvantages. Toacquire this surveys were submitted to Coding Dojo practitioners,interviews were recorded and Ontologies were made to represent theinterviews knowledge.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Coding Dojo Picture
Figura: Coding Dojo of a local group.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
State of the art
Some studies evaluate the quality of the software using agilemethods [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 thepractitioner’s perception of their agile method’s learning.
Report sharing the experience of running a Coding Dojo Group atUniversity of Sao 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 classesby, [Carmo e Braganholo 2012].
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
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
Results
The next slides will show some graphics representing the survey responsesfor the Coding Dojo techniques.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
The on-line survey got 64 answers. Figure 2 shows the distribution of theparticipants regarding the experience in Coding Dojo sessions.
Figura: Coding Dojo number of sessions
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
The programming experience in years of the surveys respondents areshown in Figure 3.
Figura: Programming experience in years
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
The majority of the volunteers agreed that baby steps help to solvechallenges gradually. Only 17% disagreed or are neutral to theaffirmation 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
The participants believe that writing tests before coding helps theprogress of the activity. In Figure 5, we see that 77% agree or stronglyagree with this affirmation.
Figura: Test driven development Coding Dojo practitioner’s perception.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
The participants agree that pair programming helps the leveling of theattendees (Figure 6).
Figura: Pair programming Coding Dojo practitioner’s perception.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Interviews Ontology.
Figura: High level ontology
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Interviews Ontology, attendant hierarchy.
Figura: Attendant hierarchy
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Interviews Ontology, evaluation hierarchy.
Figura: Evaluation hierarchy
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Interviews Ontology, method hierarchy.
Figura: Method hierarchy
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Interviews Ontology, structure hierarchy.
Figura: Structure hierarchy
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Results analyses
It has been reported that Baby Steps, Pair Programming and TDD helpsgradual solutions, simplifies the process of finding a solution to a problemand learn TDD in a Coding Dojo Session by the survey volunteers. Theinterviewed specialists alleged that Coding Dojo is focused on practice, soit is not appropriated to conceptual classes.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Conclusion
At this moment it is possible to notice that the Coding Dojo is a dynamicactivity which favors the participation and collaboration in an inclusivelearning environment where students are able to participate in theteaching 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, pairprogramming and continuous integration.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
Acknowledgement
Adolfo Gustavo Serra Seca Neto - Mentor
Robson Vida - Co-Mentor.
Tatiane Guimaraes, Matheus Araujo, PETECO e PETCOCE, CodingDojo organization at UTFPR.
Joao Alberto Fabro and Gustavo Alberto Gimenez Lugo -institutional support to attend events.
Rodrigo Senra, Gustavo Alberto Gimenez Lugo and Cesar AugustoTacla, ontology help
Danilo Sato, Hugo Corbucci, Daniel Wildt, Alexandre Freire,Roberto Leite de Moraes Rodrigues, Mauricio Aniche and ElizabethLeddy - 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
References I
BOSSAVIT, L.; GAILLOT, E. The coder’s dojo – a different way toteach and learn programming. In: HUTCHISON, D. et al. (Ed.).Extreme programming and agile processes in software engineering.Berlin, Heidelberg: Springer Berlin Heidelberg, 2005, (Lecture Notesin 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 agilepractices using coding Dojos. In: SILLITTI, A. et al. (Ed.). Agileprocesses in software engineering and extreme programming. SpringerBerlin Heidelberg, 2010, (Lecture Notes in Business InformationProcessing, 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
References II
BRAVO, M. V. Abordagens para o ensino de praticas de programacaoextrema. Dissertacao (Mestrado) — Instituto de Matematica eEstatıstica da Universidade de Sao 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 didatico dedojos de programacao. In: Workshop de educac ao em computac ao(wei). sociedade brasileira de computacao. [S.l.: s.n.], 2012.
DELGADO, C.; TOLEDO, R. de; BRAGANHOLO, V. Uso de dojosno ensino superior de computacao. 2012.
DUBINSKY, Y.; HAZZAN, O. eXtreme programming as a frameworkfor student-project coaching in computer science capstone courses. In:. IEEE Comput. Soc, 2003. p. 53–59. ISBN 0-7695-2047-2. Disponıvelem:<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1245424>.
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style
References III
JANZEN, D.; SAIEDIAN, H. Does test-driven development reallyimprove software design quality? IEEE Software, IEEE ComputerSociety, Los Alamitos, CA, USA, v. 25, p. 77–84, 2008. ISSN0740-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-drivendevelopment in a university environment. In: The IEEE region 8EUROCON 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
References IV
SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: anenvironment for learning and sharing agile practices. AGILEConference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p.459–464, 2008.
SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: anenvironment for learning and sharing agile practices. AGILEConference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p.459–464, 2008.
SINIAALTO, M.; ABRAHAMSSON, P. A comparative case study onthe impact of test-driven development on program design and testcoverage. In: Proceedings of the first international symposium onempirical software engineering and measurement. Washington, DC,USA: IEEE Computer Society, 2007. (ESEM ’07), p. 275–284. ISBN0-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
References V
VODDE, B.; KOSKELA, L. Learning test-driven development bycounting 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
Contact
http://www.slideshare.net/ramiroluz
Ramiro Luz et al. Teaching TDD, The Coding Dojo Style