SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
apresenta
CoDIng dOjo
coM arduINO
coding dojo
* Treino coletivo de programação
* Divertido e eficaz para:
 * Treinar boas práticas (Ex. TDD)
 * Aprender novas linguagens ou APIs
 * Integrar novos membros ao time
randorI: treIno lIvRe
* Duplas se sucedem resolvendo o
problema usando TDD e baby steps
* Uma dupla: piloto e co-piloto
 * Piloto opera o teclado
 * Co-piloto ajuda na solução
* Após 5 minutos, piloto volta
para a platéia; co-piloto vira
piloto; voluntário da platéia
é o novo co-piloto
tdd =
test-driven design
* Escrever testes *antes* de
implementar qualquer nova
funcionalidade
* Enquanto o teste não passa, a
platéia não pode se manifestar
(exceto a pedido dos pilotos)
* Quando o teste passa, pessoas
da platéia podem sugerir o
próximo passo
tdd com hardware?
* É complicado automatizar
testes com hardware
* No DOJO COM ARDUINO fazemos
testes manuais e observamos os
resultados
* Mas cada teste tem que ser
documentado *antes* de
implementar o próximo passo
babY steps
* Para avançar com segurança e
constância, cada passo deve ser
bem simples
 * Resista à tentação de
 resolver o problema todo de
 uma vez só, ou partir direto
 para abstração e generalização
* Não tenha medo de sugerir
passos bem pequenos e triviais
exemplO:
   Primeiro teste
* Piscar o led do pino 13
 * Para verificar a conexão
 USB e funcionamento básico do
 Arduino e do circuito sob
 teste
O probleMa de hoje

* Fazer uma animação simples
acendendo e apagando
sequencialmente os leds do
perímetro do display de 7
segmentos, com a velocidade
controlada pelo potenciômetro
Mão na massA!

* Voluntários?
 * Se não houver voluntários,
 o RANDORI pode ser terminado
 prematuramente!
venhaM nos vIsITAR eM São Paulo,
     todos são bem-vindos!




     http://garoa.net.br

Contenu connexe

Tendances

Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
Introdução ao Spider CPM (4)
Introdução ao Spider CPM (4)Introdução ao Spider CPM (4)
Introdução ao Spider CPM (4)Peter Mello
 
AI, UI & UX do amor - parte 1
AI, UI & UX do amor - parte 1AI, UI & UX do amor - parte 1
AI, UI & UX do amor - parte 1Bianca Trancoso
 
Test-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsTest-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsRodrigo Manhães
 
Testes - Pra quê - 2013
Testes - Pra quê - 2013Testes - Pra quê - 2013
Testes - Pra quê - 2013rodrigodealer
 
Automatizando testes em 4 passos
Automatizando testes em 4 passosAutomatizando testes em 4 passos
Automatizando testes em 4 passosHélio Medeiros
 
Femug #9 iniciando com testes em node js!
Femug #9   iniciando com testes em node js!Femug #9   iniciando com testes em node js!
Femug #9 iniciando com testes em node js!Leandro Nishijima
 
Protocolo experiência e-lab boyle-mariotte
Protocolo experiência e-lab boyle-mariotteProtocolo experiência e-lab boyle-mariotte
Protocolo experiência e-lab boyle-mariotteMinistry of Education
 
Recortando vídeos no a tube catcher
Recortando vídeos no a tube catcherRecortando vídeos no a tube catcher
Recortando vídeos no a tube catcherMariangela Santos
 
Test Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoTest Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoHélio Medeiros
 
Como Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé LeiteComo Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé LeiteTchelinux
 
Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaElias Nogueira
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malAndrei Tognolo
 

Tendances (20)

Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
Introdução ao Spider CPM (4)
Introdução ao Spider CPM (4)Introdução ao Spider CPM (4)
Introdução ao Spider CPM (4)
 
AI, UI & UX do amor - parte 1
AI, UI & UX do amor - parte 1AI, UI & UX do amor - parte 1
AI, UI & UX do amor - parte 1
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
 
Test-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsTest-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on Rails
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Testes - Pra quê - 2013
Testes - Pra quê - 2013Testes - Pra quê - 2013
Testes - Pra quê - 2013
 
Automatizando testes em 4 passos
Automatizando testes em 4 passosAutomatizando testes em 4 passos
Automatizando testes em 4 passos
 
Open shot
Open shotOpen shot
Open shot
 
Femug #9 iniciando com testes em node js!
Femug #9   iniciando com testes em node js!Femug #9   iniciando com testes em node js!
Femug #9 iniciando com testes em node js!
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Protocolo experiência e-lab boyle-mariotte
Protocolo experiência e-lab boyle-mariotteProtocolo experiência e-lab boyle-mariotte
Protocolo experiência e-lab boyle-mariotte
 
Recortando vídeos no a tube catcher
Recortando vídeos no a tube catcherRecortando vídeos no a tube catcher
Recortando vídeos no a tube catcher
 
Test Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoTest Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concreto
 
Como Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé LeiteComo Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé Leite
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
 
Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem prática
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira mal
 
Java reativo
Java reativoJava reativo
Java reativo
 

En vedette

Apresentação Hero Live Studio
Apresentação Hero Live StudioApresentação Hero Live Studio
Apresentação Hero Live Studioherolive
 
As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013
As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013
As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013Universidade Federal da Bahia
 
Domótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDomótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDesiree Santos
 
Domótica Aplicabilidade e Sistemas de Automação Residencial
Domótica  Aplicabilidade e Sistemas de Automação ResidencialDomótica  Aplicabilidade e Sistemas de Automação Residencial
Domótica Aplicabilidade e Sistemas de Automação ResidencialAldais Almeida
 
Domotica - projeto comando de voz com arduino
Domotica - projeto comando de voz com arduinoDomotica - projeto comando de voz com arduino
Domotica - projeto comando de voz com arduinoDesiree Santos
 
Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Desiree Santos
 
Game Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalGame Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalRoger Tavares
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Davi Kawasaki
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]Davi Kawasaki
 
Pesquisa - Animação 3D
Pesquisa - Animação 3DPesquisa - Animação 3D
Pesquisa - Animação 3DJoao Costa
 
Historia da Animação Digital
Historia da Animação DigitalHistoria da Animação Digital
Historia da Animação DigitalDra. Camila Hamdan
 
Animação - Processo Criativo
Animação - Processo CriativoAnimação - Processo Criativo
Animação - Processo CriativoDAC UFS
 
A Arte da Animação: História da Animação e Técnicas de Animação
A Arte da Animação: História da Animação e Técnicas de AnimaçãoA Arte da Animação: História da Animação e Técnicas de Animação
A Arte da Animação: História da Animação e Técnicas de AnimaçãoAna Beatriz Cargnin
 

En vedette (20)

Cp game design
Cp game designCp game design
Cp game design
 
Apresentação Hero Live Studio
Apresentação Hero Live StudioApresentação Hero Live Studio
Apresentação Hero Live Studio
 
As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013
As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013
As tecnologias Motion tracking e Mocap: Poeticas e Ciberneticas, UnB 2013
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Processos criativos de game design
Processos criativos de game designProcessos criativos de game design
Processos criativos de game design
 
DDR
DDRDDR
DDR
 
Domótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDomótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduino
 
Robotica para-humanos
Robotica para-humanosRobotica para-humanos
Robotica para-humanos
 
Domótica Aplicabilidade e Sistemas de Automação Residencial
Domótica  Aplicabilidade e Sistemas de Automação ResidencialDomótica  Aplicabilidade e Sistemas de Automação Residencial
Domótica Aplicabilidade e Sistemas de Automação Residencial
 
OZI Mercado de Animação 3D
OZI Mercado de Animação 3DOZI Mercado de Animação 3D
OZI Mercado de Animação 3D
 
Domotica - projeto comando de voz com arduino
Domotica - projeto comando de voz com arduinoDomotica - projeto comando de voz com arduino
Domotica - projeto comando de voz com arduino
 
Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012
 
Game Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalGame Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digital
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [SICITE 2012]
 
Pesquisa - Animação 3D
Pesquisa - Animação 3DPesquisa - Animação 3D
Pesquisa - Animação 3D
 
Historia da Animação Digital
Historia da Animação DigitalHistoria da Animação Digital
Historia da Animação Digital
 
Animação - Processo Criativo
Animação - Processo CriativoAnimação - Processo Criativo
Animação - Processo Criativo
 
A Arte da Animação: História da Animação e Técnicas de Animação
A Arte da Animação: História da Animação e Técnicas de AnimaçãoA Arte da Animação: História da Animação e Técnicas de Animação
A Arte da Animação: História da Animação e Técnicas de Animação
 
Blender manual
Blender manualBlender manual
Blender manual
 

Similaire à Coding Dojo com Arduino: treino livre de programação em grupo

Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamentothiagodp
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
 
Sistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o ArduinoSistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o ArduinoSuzana Viana Mota
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitAdolfo Neto
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com PythonDorneles Treméa
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesPablo Bender
 
Coding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoMauricio Matsuda
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Maurício Aniche
 
Projetor proinfo nte_taguatinga
Projetor proinfo nte_taguatingaProjetor proinfo nte_taguatinga
Projetor proinfo nte_taguatingaEdiberto de Souza
 

Similaire à Coding Dojo com Arduino: treino livre de programação em grupo (20)

Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
Dojo abril
Dojo abrilDojo abril
Dojo abril
 
Apresentando o Arduino - UESPI
Apresentando o Arduino - UESPIApresentando o Arduino - UESPI
Apresentando o Arduino - UESPI
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saber
 
Debugging node
Debugging nodeDebugging node
Debugging node
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Sistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o ArduinoSistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o Arduino
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com Junit
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com Python
 
Testes de unidade - Conhecendo e aplicando
Testes de unidade - Conhecendo e aplicandoTestes de unidade - Conhecendo e aplicando
Testes de unidade - Conhecendo e aplicando
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
 
Coding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programando
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Projetor proinfo nte_taguatinga
Projetor proinfo nte_taguatingaProjetor proinfo nte_taguatinga
Projetor proinfo nte_taguatinga
 

Plus de Luciano Ramalho

Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritoresLuciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonLuciano Ramalho
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etcLuciano Ramalho
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaqueLuciano Ramalho
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 
Alex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsAlex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsLuciano Ramalho
 

Plus de Luciano Ramalho (20)

Wiki-wiki S/A
Wiki-wiki S/AWiki-wiki S/A
Wiki-wiki S/A
 
Mongodb: agregação
Mongodb: agregaçãoMongodb: agregação
Mongodb: agregação
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritores
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em Python
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Open Library no Mongodb
Open Library no MongodbOpen Library no Mongodb
Open Library no Mongodb
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaque
 
Modelos ricos
Modelos ricosModelos ricos
Modelos ricos
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
Ensinando OO com Python
Ensinando OO com PythonEnsinando OO com Python
Ensinando OO com Python
 
Alex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsAlex Martelli's Python Design Patterns
Alex Martelli's Python Design Patterns
 
Dspace em 5 minutos
Dspace em 5 minutosDspace em 5 minutos
Dspace em 5 minutos
 

Coding Dojo com Arduino: treino livre de programação em grupo

  • 3. coding dojo * Treino coletivo de programação * Divertido e eficaz para: * Treinar boas práticas (Ex. TDD) * Aprender novas linguagens ou APIs * Integrar novos membros ao time
  • 4. randorI: treIno lIvRe * Duplas se sucedem resolvendo o problema usando TDD e baby steps * Uma dupla: piloto e co-piloto * Piloto opera o teclado * Co-piloto ajuda na solução * Após 5 minutos, piloto volta para a platéia; co-piloto vira piloto; voluntário da platéia é o novo co-piloto
  • 5. tdd = test-driven design * Escrever testes *antes* de implementar qualquer nova funcionalidade * Enquanto o teste não passa, a platéia não pode se manifestar (exceto a pedido dos pilotos) * Quando o teste passa, pessoas da platéia podem sugerir o próximo passo
  • 6. tdd com hardware? * É complicado automatizar testes com hardware * No DOJO COM ARDUINO fazemos testes manuais e observamos os resultados * Mas cada teste tem que ser documentado *antes* de implementar o próximo passo
  • 7. babY steps * Para avançar com segurança e constância, cada passo deve ser bem simples * Resista à tentação de resolver o problema todo de uma vez só, ou partir direto para abstração e generalização * Não tenha medo de sugerir passos bem pequenos e triviais
  • 8. exemplO: Primeiro teste * Piscar o led do pino 13 * Para verificar a conexão USB e funcionamento básico do Arduino e do circuito sob teste
  • 9. O probleMa de hoje * Fazer uma animação simples acendendo e apagando sequencialmente os leds do perímetro do display de 7 segmentos, com a velocidade controlada pelo potenciômetro
  • 10. Mão na massA! * Voluntários? * Se não houver voluntários, o RANDORI pode ser terminado prematuramente!
  • 11. venhaM nos vIsITAR eM São Paulo, todos são bem-vindos! http://garoa.net.br