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

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

Autora: Thais Castro Orientador: Prof. Hugo Fuks

Apresentações semelhantes


Apresentação em tema: "Autora: Thais Castro Orientador: Prof. Hugo Fuks"— Transcrição da apresentação:

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]


Carregar ppt "Autora: Thais Castro Orientador: Prof. Hugo Fuks"

Apresentações semelhantes


Anúncios Google