quarta-feira, 1 de janeiro de 2014

Aprender Programação em Dojos!

Olá a todos! Espero que todos tenham um ano novo melhor que o anterior!

Para o primeiro artigo do ano vou falar de Dojos de Programação! Isso porque vou tentar usá-los em uma disciplina nova que serei responsável neste ano: laboratório de programação.


Dojos de Programação são eventos em que programadores se reúnem para programar de um jeito bem especial. Dois programadores (denominados piloto e co-piloto) trabalham em um computador cuja tela é compartilhada com todos os outros (plateia). Os programadores usam as técnicas de programação chamadas "programação em pares", "passos de bebê" e "desenvolvimento dirigido por testes".

Programação em pares diz que o programador-piloto usa o teclado enquanto que o co-piloto vê tudo que ele faz e vai conversando sobre como continuar resolvendo a questão. Essa é uma estratégia muito boa quando há um desenvolvedor mais experiente que o outro, aprende-se muito rápido enquanto trabalha!

Passos de bebê é uma técnica que define um tamanho máximo para as alterações feitas durante o desenvolvimento. O trabalho de programação deve ser feito a passos lentos (de bebê), nada de criar muitas coisas de uma vez...

Isso é essencial para usar o desenvolvimento dirigido por testes. Essa técnica define que primeiro você cria um teste para a funcionalidade que você ainda não fez (e por isso falha -> semáforo vermelho), e só depois você faz o teste passar (semáforo verde). Geralmente essa primeira forma de fazer o teste passar não é boa, então os programadores arrumam o código para ele ficar bom, mantendo sempre o semáforo verde.

No dojo, a plateia assiste a tudo, mas só pode ajudar o piloto e o co-piloto quando o semáforo está em verde. Isso é um grande limitador e as pessoas às vezes não se seguram. Além disso, o piloto e o co-piloto só ficam nessas funções durante 5 minutos (tempo exato!). Quando o tempo acaba o piloto volta para a plateia, o co-piloto vira piloto e alguém da plateia assume seu posto.

Essa dinâmica faz com que todos prestem atenção no que os programadores principais estão fazendo e há espaço para discussão de formas diferentes para solução do problema. O importante não é resolver o problema, mas aprender. Então ao final, sempre deve haver um espaço para discutir o que foi aprendido e o que impediu a aprendizagem.

==

Tudo que descrevi aprendi com o pessoal do DojoSP: http://www.dojosp.org/. Essa associação é formada de programadores que trabalham em formação continuada. Agora o desafio é adaptar essa dinâmica para alunos do 1o ano da faculdade que nunca programaram na vida!!


Acompanhem os próximos episódios!!

segunda-feira, 16 de dezembro de 2013

Resumo do 1o semestre como professor

No 2o semestre de 2013 comecei a dar aulas na Fatec. Neste artigo faço um resumo da disciplina que ministrei para o curso tecnólogo em redes, cujo conteúdo principal era shell script.

Comecei a disciplina com uma aula para conhecer os alunos. Nela levei scripts com códigos avançados para os alunos tentarem entender. Eles gostaram e me falaram que não gostam de programar, mas gostam de redes. Isso comprovou minha hipótese e reforçou minha proposta de fazer a disciplina ter apenas exemplos de scripts para problemas de redes. Artigo original.

Para a aula seguinte preparei uma atividade que resumiria grande parte do conteúdo específico da linguagem de programação da disciplina. Pensei nisso porque os alunos falaram que viram muita programação, então eles levariam pouco tempo para assimilar a sintaxe de uma nova linguagem. Engano meu, os alunos não saíram do lugar. Por isso tive que replanejar todo o curso. Artigo original. Artigo original.

Seguiu-se uma série de aulas em que eu trazia um problema de redes (geralmente simplificado e um pouco abstrato para a situação do laboratório de informática da faculdade), que os alunos teriam que resolver usando scripts. Essas aulas correram bem mas meio desorganizadas, pois os alunos demoraram mais tempo do que eu havia pensado para cada uma. O que fez eu replanejar de novo.

Exemplo de alunos tentando resolver os problemas nas atividades

Fiz a primeira prova abordando todo o conteúdo das atividades, que correspondia a quase toda a ementa. Isso foi possível porque eu passei uma atividade para cada item nela. O que não garante que os alunos tenham aprendido tudo o que se espera de cada conteúdo, mas pelo menos já dava para eles terem uma noção do que cada conteúdo é. Assim cumpri a ementa e fiquei livre para usar outras abordagens na segunda metade do curso. A prova foi longa e cansativa para os alunos, cobrindo os conteúdos sob vários aspectos. No final os alunos foram bem e gostaram da experiência.

Após a prova pedi para os alunos definirem um projetinho para realizarem nas aulas seguintes. O projeto deveria ser feito em grupo, envolver algum conceito de rede e scripts em shell. Os projetos foram bem legais, os alunos conseguiram avançar razoavelmente e eu consegui ajudá-los na maior parte das vezes. Foi uma experiência interessante para eles, eu percebi. O fato de eles poderem escolher o tema fez bastante diferença.

Como eu tinha que repor algumas aulas perdidas antes de eu começar a trabalhar, propus o seguinte: vamos fazer uma prova sobre o conteúdo da disciplina e um conteúdo geral sobre redes. Para os alunos estudarem eu separei um conjunto de vídeos no youtube. Então pedi para eles escolherem quando preferem fazer essa prova, quando poderão ver os vídeos e fazer a prova. Isso não deu certo, no final eu tive que marcar a prova e eles não estudaram todos os vídeos.

Por fim, fiz a segunda prova muito parecida com a primeira. A grande diferença é que havia perguntas sobre o projeto que realizaram. Eu pedi para eles relacionarem o que eles fizeram no projeto com o que foi visto na outra parte da disciplina, e para tentarem extrapolar como o projeto ou como a disciplina poderia ter sido realizada. Na última aula eles apresentaram os projetos para os colegas em 5 minutos para cada grupo. Eu quis gravá-los apresentando mas eles não gostaram da ideia.

==

Tentei resumir o que aconteceu durante a disciplina nesse artigo. Nos próximos vou tentar analisar com mais profundidade alguns assuntos que achei importantes, como o que deu errado, o que deu mais certo, a motivação dos alunos, ensino baseado em projeto e as avaliações dos alunos e dos cursos. Até lá!

segunda-feira, 9 de dezembro de 2013

Alunos bons e alunos ruins

Conversando com outros professores colegas na instituição em que trabalho como docente, sempre que falamos dos cursos e turmas vêm à tona quem são os alunos bons e quem são os alunos ruins. Chega ao ponto em que a turma é mais facilmente reconhecida pelos funcionários quando identificamos os alunos "bons":

- Eu dou aula para o 3o semestre do curso de redes
- Hmmm, não conheço essa turma... Ah, lembrei, é a turma do Joãozinho não é?
A joia dos olhos dos professores! A única motivação de continuar dando aulas.


Mas o que faz um aluno bom, de maneira que o professor deixa de prestar atenção em toda a turma e prestar atenção apenas nele? Alunos bons são "inteligentes", "esforçados", "interessados", etc. Enquanto que os alunos ruins não têm nenhuma dessas características. Parece que faz parte do trabalho do professor perceber quais alunos são bons, quais são ruins e quais "conseguem passar na matéria".

Professores adoram comentar sobre como os alunos bons são bons, e criticar os alunos ruins. "Ah, nessa turma só o Joãozinho se salva, os outros são ruins!"
"É mesmo, eu dei uma prova outro dia e só ele tirou nota boa..."

Acho toda essa conversa muito triste, muito errada. Acredito que o papel do professor é desenvolver interesse nos alunos, para que cada um trabalhe sua inteligência no que gosta e se esforce nisso. Esse é um ensino bom e para todos!

Existem muitos tipos de alunos "bons", os interessados, os curiosos, e aqueles que fazem de tudo para tirar boas notas. Não gosto de valorizar aqueles que só querem tirar notas, para mim esse é um aluno ruim. Do outro lado, existem vários tipos de alunos "ruins", os bagunceiros, os que estão cansados demais, os desinteressados. Grande parte deles está sedenta por aulas boas e conteúdos interessantes... onde estão?

O que acontece na prática é que o professor identifica os alunos que funcionam bem com o seu jeito de trabalhar e simplesmente ignora os outros, ou os culpa por não se adaptarem às suas aulas. A culpa é sempre do aluno! Os alunos de hoje em dia são ruins! Os alunos só querem saber de festa!

O professor deve fazer com que todos os alunos fiquem bons, cada um do seu jeito. O professor não deve simplesmente agraciar os "bons" e eliminar os "ruins". Muitos alunos ruins podem se tornar bons com uma mudança de atitude dos professores. No fim das contas, as notas boas dos bons alunos não são mérito dos professores, pois eles já eram bons antes de terem as aulas. Enquanto que as notas ruins dos alunos ruins podem ser a demonstração do trabalho ruim de professores ruins.

Defendendo o lado dos professores

Esse comportamento dos professores é (parcialmente) justificado. Principalmente no ensino básico, as condições de trabalho são muito ruins. Tenho um amigo professor que dava aula para 17 turmas e tinha quase 1000 alunos. Como uma pessoa consegue administrar tanta gente e trabalhar para que todos fiquem bons? Acho muito difícil...

Isso se reflete também no ensino superior. Hoje em dia há muitas turmas com 60, 80 e até 120 alunos. Essas situações condicionam o trabalho do professor a um nível muito ruim, eles perdem a sensibilidade com alunos que exigem outras formas de trabalho. Assim, quando trabalham em condições favoráveis, com poucas turmas de poucos alunos, não têm vontade ou conhecimento para fazer um bom trabalho.

==

Enquanto isso a educação se resume a julgar e separar os alunos bons dos alunos ruins...

segunda-feira, 2 de dezembro de 2013

Como o governo constrói cursos

Esse é um artigo onde falo de como fui contratado e como percebo que as coisas funcionam nas instituições públicas de ensino.

Isso se reflete também no ensino superior...

Fui contratado como professor temporário para lecionar em um curso novo da Fatec em seu 4o semestre de existência. Soube da vaga na primeira quinzena de agosto, fui escolhido sem que o coordenador entrevistasse outros candidatos. Isso aconteceu porque ele estava com muita pressa, os alunos já estavam perdendo aulas. Enquanto esperava a contratação, fui estudar o que lecionaria pois não sou especialista no assunto.

Como o processo de contratação é lento, comecei a dar aulas antes do início do contrato. Isso fez os alunos não perderem 3 aulas, o que é muito relevante. Por causa do início atrasado das aulas, a disciplina foi encurtada, o conteúdo um pouco espremido. Tive que fazer um planejamento estranho. De qualquer forma, acredito que consegui contornar a situação.

Por que estou falando de tudo isso? Quero ressaltar alguns pontos. Um: a instituição pública contrata professores em caráter emergencial ao longo dos novos semestres de um curso. Era a primeira vez que o 4o semestre do curso era oferecido, sem professores, a instituição espera o semestre começar para ir atrás deles. Eu acho que ela deveria se precaver, contratar professores concursados o suficiente para os alunos não ficarem sem aulas. Será que dá muito trabalho ou seria muito caro ter professores o suficiente?

Dois: falta bons candidatos para as vagas de professor. Modéstia à parte acho que era um bom candidato para a vaga, mas eu não sou especialista na área. Dessa forma, a Fatec não tem opções para escolher quais os melhores professores que quer para seus alunos. Três: um agravante é que eu realmente não fui atraído pela carreira. A carreira de professor na Fatec é muito ruim, não consegue atrair muitos bons profissionais. Além disso, não consegue manter bons profissionais. O salário é baixo em comparação com o do ensino privado, não há expectativa de promoção de cargos (se bem que a diferença entre o valor da hora de aula entre professor assistente e professor associado é de menos de 5 reais).

segunda-feira, 25 de novembro de 2013

Fazemos projetos para tirar nota e jogar no lixo...

Há um vídeo resume resultados científicos que mostram o quanto uma pessoa trabalha com relação ao retorno que recebe da atividade (prêmio). Os estudos também tratam do fato de alguém avaliar o produto final do trabalho da pessoa e mostrar que aquilo significou algo é relevante para ela. Recomendadíssimo:

Para uma versão com legendas em português, acesse aqui.


Essa é uma situação que afeta nossas vidas em geral, sendo mais reconhecida na relação empregado-empregador, como usado de exemplo no vídeo. Porém, isso também vale para o ensino, principalmente em engenharia.

Um amigo meu me contou outro dia o seguinte caso. Ele e uns amigos, durante a faculdade, fizeram uma disciplina Laboratório de Eletrônica. Nela, um professor de outra engenharia (química, eu acho) pediu um dispositivo sensor para um certo experimento. O grupo fez um circuito meia boca no prazo estipulado, o professor deu 10, mas ele não estava bom o suficiente para o químico utilizá-lo. Então, um dos membros do grupo se motivou e, durante as férias após as provas finais do semestre, melhorou o circuito e o calibrou de forma que, no ano seguinte, entregou para o químico a solução funcionando. Ele nunca aprendeu tanto em qualquer outro momento da faculdade.

Geralmente nós na faculdade fazemos trabalhos propostos pelo professor que não têm propósito algum, apenas aquele de cumprir a ementa da disciplina e dar notas aos alunos. Além disso, a forma com que os conduzimos faz com que os produtos finais sejam meros demonstrativos para a apresentação final, que irão para o lixo logo depois da aula.

Não seria mais legal se estudássemos e trabalhássemos em projetos que fossem aproveitados depois? Mesmo que fossem para nós mesmos! Os próprios estudos relatados no vídeo mostram: se eu tenho apenas motivação externa (notas) e meu trabalho não significa nada para ninguém, minha motivação é muito baixa.

Como alguém sem motivação vai gostar do curso? Você que é estudante, como se sente?

Durante minha graduação, nenhuma vez um professor chegou para mim e disse para melhorar meu projeto após entregá-lo. Eu apenas recebia uma nota, boa ou ruim, mas nunca tive oportunidade de receber retorno do professor e concluir de verdade um projeto. Acredito que isso poderia melhorar muito a aprendizagem dos alunos, e não daria muito trabalho para a instituição.

Além do retorno para indicar como é importante e como pode melhorar, projetos realizados nas faculdades (ou em escolas, também) devem ser motivados pela necessidade real de alguém. Devem produzir algo que funcione, que tem propósito, algo que facilita ou melhora a vida de uma pessoa. Essa é uma forma de motivar e dar mais responsabilidade aos alunos, vários aprimoramentos para o processo educacional.

Uma das disciplinas mais legais que fiz na faculdade, e que o projeto tinha uma certa utilidade, foi uma competição de pontes de palitos de sorvete!!


Uma pena que só houve uma rodada. Teria sido muito interessante se a competição permitisse que os alunos que não foram muito bem melhorassem suas pontes... e aprendessem mais...

Gostaria de saber se alguém já teve experiências assim? Como foi? Ou, caso contrário, como não foi? Quantos projetos já foram para o lixo...

segunda-feira, 18 de novembro de 2013

Como fazer uma prova mais justa

Eu já fiz muitas provas na vida, e hoje vejo que muitas delas eram bem injustas. Injustas no sentido de não dar notas altas para alunos que sabiam o que o professor queria que eles soubessem e não dar notas baixas para os alunos que não sabiam nada. Então, hoje eu trabalho para tentar fazer uma prova justa.

E a sua sentença é: 3,5!! Reprovado!

Existem livros e mais livros sobre como fazer uma avaliação somativa escrita (vulgo: prova) mais justa. Eu vou tentar listar aqui algumas dicas simples:

- Faça questões de vários tipos

Como pessoas pensam e aprendem de maneira diferente, é injusto cobrá-las na prova que se expressem de uma única maneira. Assim, você privilegia (e condiciona) as pessoas a pensarem e se expressarem apenas de uma forma. As perguntas tem que ser abertas, fechadas, dissertativas, de múltipla escolha, de resolução de problema, de execução de procedimento, etc.

- Faça questões de vários níveis de dificuldade

Uma pessoa que tira 0,0 em uma prova pode não saber nada, mas pode saber bastante, mas não ter conseguido resolver as perguntas, se todas forem difíceis demais. Então é interessante colocar perguntas fáceis para alunos que só sabem as fáceis, médias para aqueles que sabem as médias e as fáceis, e difíceis, para aqueles que saibam todas. Aí sim, você vai conseguir dividir (simplificadamente) os alunos que sabem pouco, dos que sabem médio e dos que sabem tudo.

- Faça questões que reflitam seus objetivos (diferentes habilidades)

Se seus objetivos incluem conhecer, entender, aplicar, analisar, etc. a prova deve conter questões que, separadamente, avaliem cada uma dessas habilidades! Se você faz questões que só avalia uma das habilidades, ou não sabe qual questão avalia qual habilidade, você não consegue saber o que o aluno realmente sabe... e é esse o objetivo da prova!!

Esse é um começo. O que vocês acham? Será possível (e bom) fazer uma prova com essas características?

Que outras características vocês acham importantes e eu não citei aqui? Se quiserem eu tento escrever um pouco sobre elas depois!

Até a próxima!

segunda-feira, 11 de novembro de 2013

Multi, Inter e Transdiciplinaridade

Vou ser rápido para não ser chato. Em qualquer campo de estudo há termos que são difíceis de compreender e quem é de fora até usa esses termos mas não da maneira correta. Apesar da educação ser um assunto mais genérico em que muita gente consegue discutir (o que geralmente não ocorre com controle robusto, por exemplo), ela também possui palavras assim.

Um exemplo é o trio: multidisciplinar, interdisciplinar e transdisciplinar. Eu mesmo demorei bastante para entender a diferença. Vejam uma imagem que resume bem a diferença entre elas:

Multi, inter e transdisciplinaridades em diagramas!!

Explicando o diagrama:
  • Multidisciplinar - algo que usa pelo menos duas disciplinas
  • Interdisciplinar - a intersecção entre duas ou mais disciplinas
  • Transdisciplinar - um campo novo que nasce da junção de duas ou mais disciplinas
Exemplos:
  • Multidisciplinar - museu de ciências, onde há vários experimentos separados, cada um em seu ramo
  • Interdisciplinar - informática aplicada à educação, que é uma área definida pela intersecção de informática e educação
  • Transdisciplinar - ciência do serviço (em inglês service science), uma área que estuda cientificamente a humanidade dos serviços
O que acham? Gostaram de algum termo em específico?

Querem que eu tente explicar "engenharisticamente" algum outro termo da educação? É só falar!!