1 / 55

Autora: Thais Castro Orientador: Prof. Hugo Fuks

Uma Abordagem Sistematizada para Aprendizagem de Programação em Grupo. Autora: Thais Castro Orientador: Prof. Hugo Fuks. Contexto. As aulas de Introdução à Computação na UFAM se baseiam no modelo tradicional. Seguidas de práticas de laboratório. Os professores queriam que fossem como abaixo.

Download Presentation

Autora: Thais Castro Orientador: Prof. Hugo Fuks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uma Abordagem Sistematizada para Aprendizagem de Programação em Grupo Autora: Thais CastroOrientador: Prof. Hugo Fuks

  2. Contexto As aulas de Introdução à Computação na UFAM se baseiam no modelo tradicional... Seguidas de práticas de laboratório... Os professores queriam que fossem como abaixo em algum outro lugar...

  3. Contexto – Prática Adotada

  4. O Problema • A dificuldade em saber quando intervir.

  5. A Hipótese As oportunidades de intervenção na aprendizagem de programação em grupo são ampliadas com o uso de uma abordagem sistematizada de acompanhamento.

  6. A Tese

  7. A Tese – Elaboração do 1º. Eixo

  8. Pressuposto Pedagógico Animação de códigos Pair programming Programação em Grupo Ensino de Programação Solução de problemas Times de desenvolvimento Jogos Epistemologia Genética (Piaget): estudo dos mecanismos do aumento dos conhecimentos.

  9. Programação em Grupo Métodos Ágeis (pair programming) Times de desenvolvimento

  10. Ensino de Programação Animação de Códigos / Algoritmos

  11. Ensino de Programação Solução de problemas John Mason, baseado em Polya

  12. Ensino de Programação Jogos

  13. A Tese – Elaboração do 1º. Eixo Fases do desenvolvimento da cognição Epistemologia genética Necessidade de interagir com os pares A abstração precisa ser mais desenvolvida Apoio de ferramentas computacionais Ênfase nos processos de solução de problemas Ensino de programação O processo de solução de problemas precisa ser explícito Pressupõe-se que cada passo para a solução tem relação com um estágio do raciocínio As atividades precisam ser prazerosas Programação em grupo Times de desenvolvimento para o contexto de aprendizagem Algo como pair programming para direcionar os alunos

  14. Evolução dos Códigos na Aprendizagem de Programação • Uso do AAEP e entrevistas seguindo o método clínico piagetiano • Elaboração de trabalhos práticos com registros parciais da solução • Análise de correlações estatísticas para identificar os alunos que estavam acima ou abaixo do corte • Na tese • As modificações foram agrupadas de acordo com nível de reflexão envolvido • Desenvolvimento do AcKnow

  15. Evolução dos Códigos na Aprendizagem de Programação • Tipos de Modificação • Sintáticas: visam tornar o código interpretável, processo que sugere correções em intervalos menores • Semânticas: afetam diretamente a avaliação da função, resultando em uma saída diferente da esperada • Refactoring: refinamentos nas soluções visando melhor legibilidade no código

  16. Evolução dos Códigos na Aprendizagem de Programação O funcionamento do AcKnow

  17. Evolução dos Códigos na Aprendizagem de Programação Histórico da Aluna Jane Doe

  18. A Tese – Elaboração do 2º. Eixo

  19. Ferramentas, LMS, etc. Ambientes CSCL Tecnologias de Apoio Métodos de Avaliação de Ambientes Linguagens de representação Sistemas multiagente

  20. Ambientes CSCL O que é necessário para o contexto da programação? Configuração e adaptação Estrutura adicional de acompanhamento das interações Uso de ferramentas de coordenação para facilitar a intervenção

  21. Ferramentas para Apoiar a Programação em Grupo Apóiam as atividades relacionadas à aprendizagem de programação em grupo: RAPTOR Construção de algoritmos

  22. Ferramentas para Apoiar a Programação em Grupo Apóiam as atividades relacionadas à aprendizagem de programação em grupo: Scratch Entendimento de construção de algortimos

  23. Ferramentas para Apoiar a Programação em Grupo Apóiam as atividades relacionadas à aprendizagem de programação em grupo: Scratch JeCo Visualização de programas Percepção dos times

  24. Ferramentas para Apoiar a Programação em Grupo Apóiam as atividades relacionadas à programação em grupo: Jazz – foi incorporado ao Rational Team Concert RECIPE – compartilhamento de códigos

  25. Métodos para Avaliação de Ambientes CSCL Uso do Método de Inspeção Semiótica (MIS) Sugestões de Melhoramentos na Interface Contexto de Aprendizagem de Programação

  26. MIS no ColabWeb O ColabWeb possui várias camadas de interface, de acordo com o perfil. Características • Os grupos utilizam seus próprios recursos, como chat e fórum • Visualização da turma e dos grupos em espaços diferentes • Programas são desenvolvidos externamente • Os grupos seguem um esquema para resolução de exercícios

  27. Problemas encontrados

  28. Sugestões Não há dicas de como configurar o curso

  29. Linguagens de Representação de Interações (Sistemas Multiagente) Acompanhamento das interações é difícil: os logs tornam-se muito extensos quanto mais participativo é o grupo

  30. Linguagens de Representação de Interações (Sistemas Multiagente) Acompanhamento das interações é difícil: os logs tornam-se muito extensos quanto mais participativo é o grupo

  31. A Tese – Elaboração do 2º. Eixo Podem ser utilizados ambientes de propósito geral, desde que sejam configurados para o contexto Algumas ferramentas específicas para visualização de código e ambientes de desenvolvimento devem ser incorporadas Ambientes CSCL Recursos como chat e fórum podem ser configurados para atender a especificidades dos exercícios Ambientes multiagente podem ser integrados aos ambientes CSCL para auxiliarem na identificação de características de interação Tecnologias de Apoio Métodos de inspeção ou avaliação de elementos de interface devem ser aplicados periodicamente Apesar de alguns problemas de navegabilidade, um curso de programação se configurado no ColabWeb conforme IC-Ccomputacao tem uma estrutura e interface aceitáveis para o propósito

  32. A Tese – Elaboração do 3º. Eixo

  33. Método de Colaboração • Precisa usar algum método? • Como os alunos colaboram em programação? • Estudo de Caso Exploratório • Um exercício no final da disciplina. Como requisito necessário, as soluções foram acompanhadas pelos registros das interações nos grupos • Questionário de avaliação

  34. Estudo de Caso Exploratório (2007.1) Achados: • É necessário se trabalhar em grupo e há uma demanda por compromisso, esforço e acordo dos participantes. • Os grupos apresentaram dificuldades relativas à codificação em linguagem Haskell possivelmente em decorrência da falta de critérios para a interação nos grupos • Os grupos acharam a atividade prazerosa, embora difícil de coordenar o grupo

  35. Um Esquema Progressivo para Aprendizagem de Programação em Grupo

  36. Workflow do Esquema Progressivo

  37. Estudo de Caso Descritivo (2008.1) • Investigar como os grupos utilizam o esquema progressivo de aprendizagem de programação em grupo • Reutilização de códigos • Qualidade das interações • Estilos individuais de programação • Intervenção do professor • Como identificar oportunidades de intervenção nos grupos?

  38. Padrões de Interação Cada turno de conversa tem uma intenção que pode gerar uma continuidade Atos de fala estendidos Padrões de interação em ambientes CSCL

  39. Identificação de Padrões de Interação

  40. Identificação de Padrões de Interação

  41. Identificação de Padrões de Interação

  42. Identificação de Padrões de Interação

  43. Uso dos Padrões de Interação na Caracterização das Interações Alternância de “explicar”, “esclarecer”, “sugerir”, “disponibilizar” Interação produtiva

  44. Uso dos Padrões de Interação na Caracterização das Interações Sequências de “disponibilizar” com pouca alternância de outros padrões de interação Interação não produtiva

  45. Representação dos Padrões de Interação

  46. Representação Formal dos Padrões de Interação 1 a(clarifier,C) ::= 2 a(broadcaster(X,L,Er),B) <-- new_clarification(X,L). 3 a(broadcaster(X,L,Er),B) ::= 4 (information(X) => a(reader,R) <-- L=[R|Rs] then 5 Er=[E|Es] <-- evaluation(X,E) <= a(reader,R) then 6 a(broadcaster(X,Rs,Es),B)) or 7 null <-- L=[] and E=[]. 8 a(reader,R) ::= 9 information(X) <= a(broadcaster(X,_,_),B) then 10 (evaluation(X,E) => a(broadcaster(X,_,_),B) <-- agree(X,E) or 11 evaluation(X,E) => a(broadcaster(X,_,_),B) <-- do_query(X,E)).

  47. Identificação de Estereótipos Estereótipos = pistas para intervenção Interações produtivas Estereótipos positivos Interações não produtivas Estereótipos negativos

  48. Identificação de Estereótipos Estereótipos emergem sempre que: Um padrão de interação aparece repetitivamente Somente um ou dois membros do grupo se mantêm trabalhando, mesmo que usem diferentes padrões de interação A combinação de padrões de interação reforçam estereótipos negativos

  49. Estudo de Caso Explanatório (2009.1) • Replicação das configurações do estudo de caso anterior para avaliar a relevância dos padrões de interação e estereótipos a uma nova turma de programação introdutória • Identificação de um novo estereótipo: ausência de interações • Confirmação dos estereótipos e representação dos padrões de interação

  50. Conclusão • Três estudos de caso e uma inspeção semiótica no ambiente CSCL utilizado nesta tese comprovam a hipótese • Oportunidades de intervenção na aprendizagem de programação em grupo são ampliadas com o uso de uma abordagem sistematizada de acompanhamento • Os padrões de interação encontrados provaram-se aplicáveis na aprendizagem de programação devido à ação na resolução de problemas, o que também evidencia potencial aplicação em outras áreas • Estereótipos são importantes para orientar as ações e estratégias dos professores devendo também incorporar novas instâncias quando adequadamente identificados

More Related