Quer aprender a programar direito? Pergunte-me como!

Preview:

DESCRIPTION

 

Citation preview

Quer aprender a programar direito?

Pergunte-me como!

Henri...quem?

PythonCampus

#horaextra

dojorioForkinRio

A história doBernardo

Antes de abordar o tema do título, eu preciso contar a história do Bernardo.

Bernardo era uma criança como muitas outras... um menino travesso...

...curioso que só...

Como muitos da sua geração, Bernardo era apaixonado por video games.

“Quando eu crescer quero programar jogos

quinem o Dukão!”

Essa paixão se transformou em um sonho! (link do blog)

Para perseguir seu sonho, Bernardo decidiu estudar Ciência da Computação, enfrentando um caminho árduo até o vestibular.

Mas sacrificando muitas festas e noitadas, Bernardo passou!

Pascal?No quadro negro?

#wtf

Entretanto, já no primeiro período, Bernardo teve uma grande e desagradável surpresa.

Frustração

Surpresa que se repetiu nos períodos seguintes onde ele estudou muita coisa sem conseguir compreender como isso o levaria a realizar seu sonho...

Desânimo

Período após período, Bernardo já não se sentia muito bem, e começou a questionar seu caminho...

Estágio numa Consultoria Multinacional

Sem uma visão clara das coisas, a vida foi se arrastando, e para orgulho de sua Família, Bernardo conseguiu seu primeiro trabalho. Quem sabe uma atividade profissional poderia responder suas perguntas?

Analista de Documentação

Junior

#wtf

As coisas iam bem no trabalho e Bernardo recebeu sua primeira promoção após cursar 7 períodos de Ciência da Computação.

Com o tempo, o sonho do Bernardo foi minguando... Com uma carreira para cuidar, lentamente, seu sonho se desfez corrompido em sua memória.

Por que existem tantosBernardos?

Essa já seria uma história triste se houvesse apenas 1 Bernardo. Mas existem vários! Por quê?

O ensino de computação também é

Waterfall

Sofremos de um problema crônico: Big Education Upfront! A preparação para o mercado ganha de goleada da preparação para a vida.

“Arte e Ciênciasão duas faces da mesma moeda.”

-- Donald Knuth

Mas não foi sempre assim... Mais de 30 anos atrás, os grandes mestres e pais da computação já alertavam para esse (d)efeito.

Prática e Teoriasão duas faces da mesma moeda.

Se preocupavam com a temida dissociação entre Prática e Teoria.

Feedback

Eliminando do processo de aprendizado, aquilo que nos move adiante: Feedback!

Jean Piaget

Sobre o processo de formação do conhecimento, Jean Piaget realizou muitos estudos.

O conhecimento ocorre pela interação entre sujeito e objeto

E com esta afirmação, concluiu que a única forma de um alguém conhecer o que é um choque, é colocando o dedo na tomada.

Percepção de Progresso

E uma cadeia subsequente de interações, gera a experiência fundamental do aprendizado: A Percepção de Progresso.

#comofaz?

Mas toda crítica precisa ser construtiva. Então como podemos ajudar os Bernardos?

Dojorio+

ForkinRio

Bem, aqui no Rio de Janeiro temos experimentado com muito sucesso a dupla Dojorio + ForkinRio.

Social+

Individual

O Dojorio e o ForkinRio, trabalham Teoria e Prática nas duas condições fundamentais do ser humano: Social e Individual.

O Dojo é uma experiência social onde os participantes exercitam suas habilidades de comunicação, enquanto praticam importantes técnicas de desenvolvimento de software como: TDD, OO, Modelagem, Babysteps e Programação em Par.

Pré-requisitos

1 sala

1 computador

1 projetor

Rango!

Para uma sessão de Dojo, basta reunir um grupo de pessoas em uma sala com projetor e um computador. É importante que a turma leve comida para a reunião. Isso estabelece o tom informal além de estimular o compartilhamento.

Preparação

• Alguém propõe um problema lúdico

• O grupo decide uma estratégia inicial

• O grupo define os papeis iniciais...

Então o grupo escolhe um problema simples, lúdico, para focar no processo ao invés de promover uma competição pela solução do problema. Já os papeis, durante o Dojorio, são 3: Piloto, Co-piloto e Plateia.

Piloto e Co-piloto

O Piloto é quem implementa os testes e o código (nesta ordem). É ele quem interage com o teclado. Ao seu lado, o Co-piloto ajuda o Piloto, mas sem mexer no teclado.

Platéia

Enquanto isso a Platéia ouve atentamente em silêncio enquanto houver um teste quebrado, oferecendo espaço para o Piloto interagir com o código, livremente durante seu turno.

Papeis mudam a cada turno

A cada 4 ou 5 minutos (como o grupo definir), os papeis mudam. O Piloto volta para a Platéia, o Co-piloto vira Piloto e alguém da Platéia vira Co-piloto. Idealmente, em uma sessão, todos os participantes passam por todos os papeis.

Processo

Vermelho

Verde

Refatoração

A sessão evolui seguindo ciclicamente as 3 etapas: Vermelho, Verde, Refatoração.

Vermelho

• Piloto escreve o teste e o código.

• Co-piloto ajuda o piloto.

• Plateia observa em silêncio.

O Piloto escreve um teste que corresponda ao próximo babystep na evolução do problema. Em seguida implementa o código mais simples que faça o teste passar. É importante não copiar e colar, e o silêncio da Platéia oferece espaço para o Piloto aprender.

Verde

• Teste passando!

• Hora de todos participarem sugerindo melhorias.

Agora os testes estão passando. Sinal que o código atende às necessidades dos testes. Hora de todos opinarem e sugerir como melhorar.

Refatoração

“Organizar o códigocomo se o próximo programador

fosse um psicopataque sabe onde você mora.”

Esse é o ápice da iteração do Dojorio! Devemos passar para um próximo teste, apenas quando as sugestões de refatoração estiveram concluídas.

Retrospectiva

No final da sessão, que normalmente dura entre 90 e 120 minutos, fazemos uma retrospectiva onde cada participante pode expressar o que foi bom e o que pode melhorar.

Prática ➔ Teoria ➔ Prática

O grande segredo do Dojo é unir iterativamente Prática e Teoria. Durante todo o processo, dúvidas sobre a linguagem, sobre as técnicas e até sobre o ambiente de desenvolvimento surgirão, promovendo discussões fantásticas entre os participantes.

Percepção de Progresso

E o mais importante é que coletivamente, todos têm a todo tempo a percepção de progresso.

O ForkinRio é uma reunião com objetivo de promover um ambiente para que cada indivíduo possa aprender no seu rítmo, sobre um assunto de interesse comum.

ForkinRio

Começa com o grupo elegendo um tema e um material didático que será usado por todos em subsenquentes encontros.

Preparação

O que estudaremos?

O que implementaremos?

Com base no material, o grupo escolhe o que estudar no período até o próximo encontro e define um desafio de implementação diretamente relacionado com a parte estudada. Se for um capítulo de um livro, o desafio pode ser implementar os exercícios deste capítulo.

Fork!

Então o grupo faz o fork, ou seja, se separa para que cada pessoa possa, sozinha, estudar e implementar o desafio até a data do próximo encontro.

Merge

Na data marcada, o grupo parte para o merge. Todos se reúnem trazendo consigo suas implementações e opiniões sobre a experiência vivida.

DIFF

Todos lêem juntos e ordenadamente o código de cada um. Os códigos servem como índice para lembrar das experiências no período de estudo. Neste momento, questões emergem levando o grupo a explorar os detalhes e nuances do tema.

Prática ➔ Teoria ➔ Prática

Novamente, Prática puxa Teoria em ciclos sucessivos durante o aprendizado individual.

Percepção de Progresso

E finalmente, durante os encontros, a exploração do tema pelo grupo promove uma intensa percepção de progresso.

Conclusão

Uma ementa complexa não garante um ensino apropriado nem o aprendizado.

Arte e Ciência

A dualidade da Arte e da Ciência...

Prática e Teoria

... da Prática e da Teoria ...

Individual e Social

... do Individual e do Social ...

São faces de uma mesma moeda!

Portanto, é necessário investir em Você, e não apenas em uma formação mercadológica.

Obrigado

Henrique Bastos

@henriquebastoshenrique@bastos.net

http://henriquebastos.net

FotosDenis - Hank Ketcham

Curioso http://www.flickr.com/photos/statelibraryofnsw/3210637493

Gamer http://www.flickr.com/photos/therapycatguardian/2775101798

Vestibular http://www.flickr.com/photos/bianchi/47553776

Passei http://www.flickr.com/photos/doctor_silvana/4281256949

Frustração http://www.flickr.com/photos/emagic/56206100

Desânimo http://www.flickr.com/photos/emagic/56206868

Fork http://www.flickr.com/photos/mar00ned/117128024

Merge http://www.flickr.com/photos/aidanmorgan/2344975342

Diff http://www.flickr.com/photos/28642309@N02/2678725846

Moeda http://www.flickr.com/photos/danielneto/2941938228

Você http://www.flickr.com/photos/a2gemma/1448178195

Recommended