A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Autora: Thais Castro Orientador: Prof. Hugo Fuks Uma Abordagem Sistematizada para Aprendizagem de Programação em Grupo."— Transcrição da apresentação:

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

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 A dificuldade em saber quando intervir.A dificuldade em saber quando intervir. O Problema

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

6 A Tese

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

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

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 Epistemologia genética Fases do desenvolvimento da cognição Necessidade de interagir com os pares A abstração precisa ser mais desenvolvida Ensino de programação As atividades precisam ser prazerosas 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 Apoio de ferramentas computacionais Ênfase nos processos de solução de problemas Programação em grupo Times de desenvolvimento para o contexto de aprendizagem Algo como pair programming para direcionar os alunos

14 Uso do AAEP e entrevistas seguindo o método clínico piagetianoUso 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 teseNa tese –As modificações foram agrupadas de acordo com nível de reflexão envolvido –Desenvolvimento do AcKnow Evolução dos Códigos na Aprendizagem de Programação

15 Tipos de ModificaçãoTipos 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 Evolução dos Códigos na Aprendizagem de Programação

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

17 Histórico da Aluna Jane Doe Evolução dos Códigos na Aprendizagem de Programação VersãoIntervaloCategoria 10Sintática 2Mesmo minutoSintática 31 minutoSintática 41 minutoSintática 58 minutosRefactoring 62 horas e 51 minutosSemântica 744 horasRefactoring

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

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

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 RAPTOR Apóiam as atividades relacionadas à aprendizagem de programação em grupo: Construção de algoritmos

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

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

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

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

26 MIS no ColabWeb O ColabWeb possui várias camadas de interface, de acordo com o perfil. 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 Características

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 Ambientes CSCL Tecnologias de Apoio 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 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 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 Precisa usar algum método?Precisa usar algum método? Como os alunos colaboram em programação?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 Método de Colaboração

34 É necessário se trabalhar em grupo e há uma demanda por compromisso, esforço e acordo dos participantes.É 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 gruposOs 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 grupoOs grupos acharam a atividade prazerosa, embora difícil de coordenar o grupo Estudo de Caso Exploratório (2007.1) Achados:

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

36 Workflow do Esquema Progressivo

37 Investigar como os grupos utilizam o esquema progressivo de aprendizagem de programação em grupoInvestigar 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?Como identificar oportunidades de intervenção nos grupos? Estudo de Caso Descritivo (2008.1)

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

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

40

41

42 CategoriaExemplo Disponibilizar artefato Minha funções… Informar Pessoal, o problema não é tão difícil… Esclarecer Eu não pude logar antes. Confirmar Eu já anotei isso… Perguntar Alguém mais quer incluir alguma coisa no relatório? Sugerir …todos deveriam tentar criar uma solução pra cada questão do seu próprio jeito… Chamar atenção Ei, Galera! Vamos fazer o exercício! Identificar erro Eu acho que vc cometeu um erro quando definiu o tipo int como saída... Explicar …o que eu fiz foi usar a 2ª. Questão que…

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) ::= 2a(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 5Er=[E|Es] <-- evaluation(X,E) <= a(reader,R) then 6a(broadcaster(X,Rs,Es),B)) or 7null <-- L=[] and E=[]. 8 a(reader,R) ::= 9information(X) <= a(broadcaster(X,_,_),B) then 10(evaluation(X,E) => a(broadcaster(X,_,_),B) <-- agree(X,E) or 11evaluation(X,E) => a(broadcaster(X,_,_),B) <-- do_query(X,E)).

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

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 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óriaReplicaçã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çõesIdentificação de um novo estereótipo: ausência de interações Confirmação dos estereótipos e representação dos padrões de interaçãoConfirmação dos estereótipos e representação dos padrões de interação Estudo de Caso Explanatório (2009.1)

50 Três estudos de caso e uma inspeção semiótica no ambiente CSCL utilizado nesta tese comprovam a hipóteseTrê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 áreasOs 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 identificadosEstereótipos são importantes para orientar as ações e estratégias dos professores devendo também incorporar novas instâncias quando adequadamente identificados Conclusão

51 Contribuições 1. Uma série de estudos de caso 2. A definição de categorias da evolução de código dos alunos e o desenvolvimento do AcKnow 3. A aplicação da Engenharia Semiótica a um software com vários níveis de comunicabilidade 4. Um esquema progressivo para aprendizagem de programação em grupo 5. A definição de um conjunto de padrões de interação e estereótipos e sua formalização para futura integração sistemas multiagentes

52 Integrar a abordagem ao Open KnowledgeIntegrar a abordagem ao Open Knowledge Aplicar diferentes combinações dos elementos a times de desenvolvimento de softwareAplicar diferentes combinações dos elementos a times de desenvolvimento de software Investigar a integração de outras ferramentas nos diversos estágios da abordagemInvestigar a integração de outras ferramentas nos diversos estágios da abordagem Aplicar a abordagem a outros domínios, que envolvam a necessidade de abstração, com ênfase na solução de problemasAplicar a abordagem a outros domínios, que envolvam a necessidade de abstração, com ênfase na solução de problemas Aplicar a abordagem no mesmo domínio com outro paradigma não imperativoAplicar a abordagem no mesmo domínio com outro paradigma não imperativo Trabalhos Futuros

53 Publicações CASTRO, T., FUKS, H., CASTRO, A. & SPÓSITO, M. Integração de Ferramentas para Acompanhamento da Aprendizagem de Programação. Anais do XVIII Simpósio Brasileiro de Informática na Educação – SBIE 2007 / Workshop - Ambientes de apoio à aprendizagem de algoritmos e programação, ISBN , São Paulo, SP, [1] CASTRO, T., FUKS, H., SPÓSITO, M. & CASTRO, A. The Analysis of a Case Study for Group Programming Learning. ICALT - Proc. Of the 8th IEEE International Conference on Advanced Learning Technologies, July 1-5, 2008, Santander, Spain. [1] CASTRO, T., FUKS, H. & CASTRO, A. Detecting Code Evolution in Programming Learning. In Proceedings of the 19 th Brazilian Symposium on Artificial Intelligence, Salvador, Brazil, October 26-30, 2008, Salvador, Brazil. Series: Lecture Notes in Computer Science, Vol Sublibrary: Lecture Notes in Artificial Intelligence. ISBN: , pp [2]

54 Publicações CASTRO, T., FUKS, H. & CASTRO, A. Programming in Groups: a Progression Learning Scheme from the Individual to the Group. FIE - Proc. of the 38th Annual Frontiers in Education Conference, October 22-25, 2008, Saratoga Springs, New York, USA. IEEE Catalog Number: CFP08FIE-CDR. ISBN: Library of Congress: ISSN: Pp F1F15-F1F20. [4] CASTRO, T., FUKS, H. & CASTRO, A. Aprendendo a Programar em Grupo. Anais do V Simpósio Brasileiro de Sistemas Colaborativos - SBSC a 29 Outubro 2008, Vila Velha, ES. ISBN: /08, Ed. IEEE-CS, pp [4] CASTRO, T., FUKS, H., SANTOS, L. & CASTRO, A. Fleshing out Clues on Group Programming Learning. ICEIS 2009, 11th International Conference on Enterprise Information Systems, Milan, May ISBN: [5]

55 Publicações CASTRO, T. & FUKS, H. Inspeção Semiótica do ColabWeb: Proposta de Adaptações para o Contexto de Aprendizagem de Programação. Revista Brasileira de Informática na Educação. Vol.17, N. 1. Pp ISSN [3] CASTRO, T., FUKS, H., SPÓSITO, M. & CASTRO, A. Análise de um Estudo de Caso para Aprendizagem de Programação em Grupo. IEEE-RITA: Revista Iberoamericana de Tecnologia del Aprendizaje. ISSN: V.4, N.2, pp [1]


Carregar ppt "Autora: Thais Castro Orientador: Prof. Hugo Fuks Uma Abordagem Sistematizada para Aprendizagem de Programação em Grupo."

Apresentações semelhantes


Anúncios Google