Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGabriel Machado Alterado mais de 10 anos atrás
1
Autora: Thais Castro Orientador: Prof. Hugo Fuks
Uma Abordagem Sistematizada para Aprendizagem de Programação em Grupo Autora: Thais Castro Orientador: 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 O que está em destaque são elaborações próprias, baseadas na literatura e em experimentos 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 Versão Intervalo Categoria 1 Sintática 2 Mesmo minuto 3 1 minuto 4 5 8 minutos Refactoring 6 2 horas e 51 minutos Semântica 7 44 horas
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
O ColabWeb possui várias camadas de interface, de acordo com o perfil.
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
Não há dicas de como configurar o curso
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
Categoria Exemplo 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) ::= 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
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
Trabalhos Futuros Integrar a abordagem ao Open Knowledge
Aplicar diferentes combinações dos elementos a times de desenvolvimento de software Investigar 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 problemas Aplicar a abordagem no mesmo domínio com outro paradigma não imperativo
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, 2007. [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. CASTRO, T., FUKS, H. & CASTRO, A. Detecting Code Evolution in Programming Learning. In Proceedings of the 19th 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 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]
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.