usando dojos de programação para o ensino de tdd

20
Usando Dojos de Programa¸c˜ ao para o Ensino de TDD 23 o Simp´ osio Brasileiro de Inform´ atica na Educa¸ ao (SBIE) 2012 Ramiro Batista Luz 1 , Adolfo Neto 1 Universidade Tecnol´ ogica Federal do Paran´ a (UTFPR) DAINF - Departamento Acadˆ emico de Inform´ atica Mestrado Profissional do Programa de P´ os-Gradua¸c˜ ao em Computa¸c˜ ao Aplicada Av. Sete de Setembro, 3165 Curitiba - Paran´ a - Brasil - CEP: 80230-901 [email protected], [email protected] 26 a 30 de Novembro de 2012 Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸c˜ ao para o Ensino de TDD

Upload: ramiro-batista-da-luz

Post on 14-Dec-2014

375 views

Category:

Education


1 download

DESCRIPTION

Apresentação de artigo academico no 23 Simpósio Brasileiro de Informática na Educação - SBIE, evento do Congresso Brasileiro de Informática na Educação - CBIE.

TRANSCRIPT

Page 1: Usando Dojos de Programação para o Ensino de TDD

Usando Dojos de Programacao para o Ensino deTDD

23o Simposio Brasileiro de Informatica na Educacao (SBIE) 2012

Ramiro Batista Luz1, Adolfo Neto1

Universidade Tecnologica Federal do Parana (UTFPR)DAINF - Departamento Academico de Informatica

Mestrado Profissional do Programa de Pos-Graduacao em Computacao AplicadaAv. Sete de Setembro, 3165

Curitiba - Parana - Brasil - CEP: 80230-901

[email protected], [email protected]

26 a 30 de Novembro de 2012

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 2: Usando Dojos de Programação para o Ensino de TDD

Resumo

Dojo de programacao e uma atividade dinamica onde e possıvel praticardiversas tecnicas usadas em metodos ageis de desenvolvimento, dentreelas o Desenvolvimento Dirigido por Testes, num ambiente colaborativo edivertido. Essa palestra apresenta o andamento da pesquisa sobre o Usode Dojos de Programacao para o Ensino de Desenvolvimento Dirigido porTestes pelo Mestrado Profissional do Programa de Pos Graduacao emComputacao Aplicada da Universidade Tecnologica Federal do Parana(UTFPR).

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 3: Usando Dojos de Programação para o Ensino de TDD

Introducao

Origem da palavra, ”lugar do caminho”, ”lugar onde se estuda avida”, lugar onde se pratica artes marciais.

Origem da atividade (Dave Thomas, Laurent Bossavit, EmannuelGaillot).

O que e dojo de programacao?

Aspecto educacional.

Desenvolvimento dirigido por testes. (TDD)

Programacao em par.

Passos de bebe.

Requisitos.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 4: Usando Dojos de Programação para o Ensino de TDD

Aspecto Educacional

Turmas desniveladas.

Interacao e participacao nas aulas.

Teoria, exemplo e pratica.

Aprendizado colaborativo e aprender a colaborar.

Trabalho em equipe.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 5: Usando Dojos de Programação para o Ensino de TDD

Pesquisa

A presente pesquisa busca verificar a tecnica de dojo de programacaopara ensinar desenvolvimento dirigido por testes a fim de obter softwarecom maiores taxas de cobertura de teste.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 6: Usando Dojos de Programação para o Ensino de TDD

Foto de um dojo de programacao.

Figura: Dojo de programacao do grupo dojo-parana.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 7: Usando Dojos de Programação para o Ensino de TDD

Ciclo de trabalho do desenvolvimento dirigido por testes.

Figura: TDD mantra

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 8: Usando Dojos de Programação para o Ensino de TDD

Estado da arte

Estudos que avaliaram qualidade de software produzido commetodologias ageis [Vodde e Koskela 2007],[Siniaalto e Abrahamsson 2007], [Janzen e Saiedian 2008] e[Pancur et al. 2003].

Estudos que avaliaram a aderencia a pratica de metodos ageis[Bravo e Goldman 2010] e [Dubinsky e Hazzan 2003].

Mariana Bravo, [Bravo 2011] utilizou dojos de programacao paratreinar os participantes de uma pesquisa e verificar a percepcao deaprendizado dos participantes.

Relato dos encontros de dojo de programacao do Instituto deMatematica e Estatıstica da Universidade de Sao Paulo,[Sato, Corbucci e Bravo 2008].

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 9: Usando Dojos de Programação para o Ensino de TDD

Metodologia

Registro das atas dos encontros de programacao.

Questionario experimental sobre o perfil de participantes de dojo deprogramacao.

Questionario eletronico sobre a opiniao com relacao ao aprendizadode participantes de encontros de dojo de programacao.

Entrevistas com especialistas.

Ainda esta planejado um experimento com duas turmas nummini-curso de testes de unidade.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 10: Usando Dojos de Programação para o Ensino de TDD

Resultados

Nos proximos slides sao apresentados graficos de fatia que representamas respostas obtidas pelo questionario eletronico para tecnicas exercitadasem encontros de dojo de programacao.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 11: Usando Dojos de Programação para o Ensino de TDD

Influencia positiva de Passos de Bebe.

Figura: Respostas de participantes com relacao a influencia positiva de passosde bebe em dojo de programacao.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 12: Usando Dojos de Programação para o Ensino de TDD

Influencia positiva de Programacao em par.

Figura: Respostas de participantes com relacao a influencia positiva deprogramacao em par em dojo de programacao.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 13: Usando Dojos de Programação para o Ensino de TDD

Influencia positiva de TDD.

Figura: Respostas de participantes com relacao a influencia positiva de TDDem dojo de programacao.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 14: Usando Dojos de Programação para o Ensino de TDD

Analise dos resultados

Os resultados do questionario eletronico indicam que os participantesconcordam que o dojo de programacao ajuda o aprendizado de metodosageis, as questoes relacionadas a programacao em par, passos de bebe eTDD receberam valores altos na escala de Likert. Outro pontoconsiderado forte foi a troca de experiencia entre os participantes. Essesresultados direcionaram o planejamento da ultima etapa da pesquisa, oexperimento sera limitado a avaliacao de TDD, onde usaremosferramentas de estatısticas de cobertura de testes e avaliacao de codigopor avaliadores independentes.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 15: Usando Dojos de Programação para o Ensino de TDD

Conclusao

No momento podemos dizer que o dojo de programacao favorece aparticipacao incluindo os programadores na ambiente de aprendizado. Odojo de programacao favorece a socializacao dos programadores, segundoconstatamos nas entrevistas. O proximo passo e avaliar o ensino dedesenvolvimento dirigido por testes usando dojo de programacao a fim deobter software com maiores taxas de cobertura de testes.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 16: Usando Dojos de Programação para o Ensino de TDD

Agradecimentos

Adolfo Gustavo Serra Seca Neto - Orientador

Robson Vida - Co-Orientador.

Tatiane Guimaraes, Matheus Araujo, PETECO e PETCOCE,organizacao do dojo UTFPR.

Joao Alberto Fabro - apoio institucional para participar de eventos.

Danilo Sato, Hugo Corbucci, Daniel Wildt, Alexandre Freire,Roberto Leite de Moraes Rodrigues, Mauricio Aniche and ElizabethLeddy - participacao nas entrevistas.

Aos participantes voluntarios do questionario eletronico.

Toda equipe do CBIE e SBIE.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 17: Usando Dojos de Programação para o Ensino de TDD

Referencias I

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>.

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>.

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 Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 18: Usando Dojos de Programação para o Ensino de TDD

Referencias II

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.

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>.

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.

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 19: Usando Dojos de Programação para o Ensino de TDD

Referencias III

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>.

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 Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD

Page 20: Usando Dojos de Programação para o Ensino de TDD

Contato

[email protected]

[email protected]

http://www.slideshare.net/ramiroluz

Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programacao para o Ensino de TDD