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

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

Embed Size (px)

Citation preview

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

Autora: Thais CastroAutora: Thais CastroOrientador: Prof. Hugo FuksOrientador: Prof. Hugo Fuks

Uma Abordagem Sistematizada para Aprendizagem de

Programação em Grupo

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

ContextoContexto

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...

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

Contexto – Prática AdotadaContexto – Prática Adotada

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

• A dificuldade em saber quando intervir.A dificuldade em saber quando intervir.

O ProblemaO Problema

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

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

A HipóteseA Hipótese

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

A TeseA Tese

Generalizaçãopara outraatividade

colaborativa

Esquemaprogressivopara adoçãode práticas

colaborativasMétodo de

Colaboração

Sistematizaçãoda Aprendizagemde Programação

em Grupo

Tecnologias deapoio

Ambientes CSCLFerramentas,

LMSs

Ensino deProgramação

EpistemologiaGenética

Programaçãoem Grupo

PressupostoPedagógico

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

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

Generalizaçãopara outraatividade

colaborativa

Esquemaprogressivopara adoçãode práticas

colaborativasMétodo de

Colaboração

Sistematizaçãoda Aprendizagemde Programação

em Grupo

Tecnologias deapoio

Ambientes CSCLFerramentas,

LMSs

Ensino deProgramação

EpistemologiaGenética

Programaçãoem Grupo

PressupostoPedagógico

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

Pressuposto PedagógicoPressuposto Pedagógico

Programação em Grupo

Ensino de Programação

Epistemologia Genética (Piaget): estudo dos mecanismos do aumento dos

conhecimentos.

Pair programmi

ng

Jogos

Animação de

códigos

Times de desenvolvimen

to

Solução de

problemas

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

Programação em GrupoProgramação em Grupo

Métodos Ágeis (pair programming) Times de desenvolvimento

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

Ensino de ProgramaçãoEnsino de Programação

Animação de Códigos / Algoritmos

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

Ensino de ProgramaçãoEnsino de Programação

Solução de problemas

John Mason, baseado em Polya

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

Ensino de ProgramaçãoEnsino de Programação

Jogos

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

A Tese – Elaboração do 1º. EixoA 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

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

• Uso do AAEP e entrevistas seguindo o Uso do AAEP e entrevistas seguindo o método clínico piagetianométodo clínico piagetiano– Elaboração de trabalhos práticos com registros Elaboração de trabalhos práticos com registros

parciais da soluçãoparciais da solução– Análise de correlações estatísticas para Análise de correlações estatísticas para

identificar os alunos que estavam acima ou identificar os alunos que estavam acima ou abaixo do corteabaixo do corte

• Na teseNa tese– As modificações foram agrupadas de acordo As modificações foram agrupadas de acordo

com nível de reflexão envolvidocom nível de reflexão envolvido– Desenvolvimento do AcKnowDesenvolvimento do AcKnow

Evolução dos Códigos na Evolução dos Códigos na Aprendizagem de ProgramaçãoAprendizagem de Programação

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

• Tipos de ModificaçãoTipos de Modificação– Sintáticas: visam tornar o código interpretável, Sintáticas: visam tornar o código interpretável,

processo que sugere correções em intervalos processo que sugere correções em intervalos menoresmenores

– Semânticas: afetam diretamente a avaliação Semânticas: afetam diretamente a avaliação da função, resultando em uma saída diferente da função, resultando em uma saída diferente da esperadada esperada

– Refactoring: refinamentos nas soluções Refactoring: refinamentos nas soluções visando melhor legibilidade no códigovisando melhor legibilidade no código

Evolução dos Códigos na Evolução dos Códigos na Aprendizagem de ProgramaçãoAprendizagem de Programação

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

O funcionamento do AcKnowO funcionamento do AcKnow

Evolução dos Códigos na Evolução dos Códigos na Aprendizagem de ProgramaçãoAprendizagem de Programação

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

Histórico da Aluna Jane DoeHistórico da Aluna Jane Doe

Evolução dos Códigos na Evolução dos Códigos na Aprendizagem de ProgramaçãoAprendizagem de Programação

Versão

Intervalo Categoria

1 0 Sintática

2 Mesmo minuto Sintática

3 1 minuto Sintática

4 1 minuto Sintática

5 8 minutos Refactoring

6 2 horas e 51 minutos Semântica

7 44 horas Refactoring

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

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

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

Ferramentas, LMS, etc.Ferramentas, LMS, etc.

Ambientes CSCL

Linguagens de

representação

Sistemas multiagente

Métodos de Avaliação de Ambientes

Tecnologias de Apoio

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

Ambientes CSCLAmbientes 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

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

Ferramentas para Apoiar a Ferramentas para Apoiar a Programação em GrupoProgramação em Grupo

RAPTOR

Apóiam as atividades relacionadas à aprendizagem de programação em grupo:

Construção de

algoritmos

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

Ferramentas para Apoiar a Ferramentas para Apoiar a Programação em GrupoProgramação em Grupo

Scratch

Apóiam as atividades relacionadas à aprendizagem de programação em grupo:

Entendimento de construção de algortimos

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

Ferramentas para Apoiar a Ferramentas para Apoiar a Programação em GrupoProgramação em Grupo

ScratchJeCo

Apóiam as atividades relacionadas à aprendizagem de programação em grupo:

Visualização de

programas

Percepção dos times

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

Ferramentas para Apoiar a Ferramentas para Apoiar a Programação em GrupoProgramação em Grupo

RECIPE – compartilhamento de códigos

Jazz – foi incorporado ao Rational Team Concert

Apóiam as atividades relacionadas à programação em grupo:

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

Métodos para Avaliação de Métodos para Avaliação de Ambientes CSCLAmbientes CSCL

Uso do Método de Inspeção

Semiótica (MIS)

Contexto de Aprendizagem

de Programação

Sugestões de Melhoramentos na Interface

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

MIS no ColabWebMIS 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

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

Problemas encontradosProblemas encontrados

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

SugestõesSugestões

Não há dicas de como

configurar o curso

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

Linguagens de Representação de Linguagens de Representação de Interações (Sistemas Multiagente)Interações (Sistemas Multiagente)

Acompanhamento das interações é difícil: os logs tornam-se muito extensos quanto mais participativo é o grupo

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

Linguagens de Representação de Linguagens de Representação de Interações (Sistemas Multiagente)Interações (Sistemas Multiagente)

Acompanhamento das interações é difícil: os logs tornam-se muito extensos quanto mais participativo é o grupo

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

A Tese – Elaboração do 2º. EixoA 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 contextoAlgumas 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íciosAmbientes 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

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

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

Generalizaçãopara outraatividade

colaborativa

Esquemaprogressivopara adoçãode práticas

colaborativasMétodo de

Colaboração

Sistematizaçãoda Aprendizagemde Programação

em Grupo

Tecnologias deapoio

Ambientes CSCLFerramentas,

LMSs

Ensino deProgramação

EpistemologiaGenética

Programaçãoem Grupo

PressupostoPedagógico

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

• Precisa usar algum método?Precisa usar algum método?

• Como os alunos colaboram em Como os alunos colaboram em programação?programação?– Estudo de Caso ExploratórioEstudo de Caso Exploratório– Um exercício no final da disciplina. Como Um exercício no final da disciplina. Como

requisito necessário, as soluções foram requisito necessário, as soluções foram acompanhadas pelos registros das interações acompanhadas pelos registros das interações nos gruposnos grupos

– Questionário de avaliaçãoQuestionário de avaliação

Método de ColaboraçãoMétodo de Colaboração

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

• É necessário se trabalhar em grupo e há É necessário se trabalhar em grupo e há uma demanda por compromisso, esforço e uma demanda por compromisso, esforço e acordo dos participantes.acordo dos participantes.

• Os grupos apresentaram dificuldades Os grupos apresentaram dificuldades relativas à codificação em linguagem relativas à codificação em linguagem Haskell possivelmente em decorrência da Haskell possivelmente em decorrência da falta de critérios para a interação nos falta de critérios para a interação nos gruposgrupos

• Os grupos acharam a atividade prazerosa, Os grupos acharam a atividade prazerosa, embora difícil de coordenar o grupoembora difícil de coordenar o grupo

Estudo de Caso Exploratório Estudo de Caso Exploratório (2007.1)(2007.1)

Achados:

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

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

Fase 1 Fase 2 Fase 3 Fase 4 Fase 5 Fase 6

Preparação

Codificação

Individual I

Codificação

Individual II

Codificação

em Grupo I

Codificação

em Grupo II

Codificação

em Grupo

III

Indivíduo Grupo Time

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

Workflow do Esquema ProgressivoWorkflow do Esquema Progressivo

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

• Investigar como os grupos utilizam o Investigar como os grupos utilizam o esquema progressivo de aprendizagem de esquema progressivo de aprendizagem de programação em grupoprogramação em grupo– Reutilização de códigosReutilização de códigos– Qualidade das interaçõesQualidade das interações– Estilos individuais de programaçãoEstilos individuais de programação– Intervenção do professorIntervenção do professor

• Como identificar oportunidades de Como identificar oportunidades de intervenção nos grupos?intervenção nos grupos?

Estudo de Caso Descritivo Estudo de Caso Descritivo (2008.1)(2008.1)

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

Padrões de InteraçãoPadrõ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

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

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

StVi Aê pessoal!!! já fiz a minha e

achei bem simples:

aux_menores x xs = [ y | y <- xs

, y < x ]

indice_menor xs = [i | i <-

[0..length xs-1], aux_menores

(xs!!i) xs == []]

Mas apesar de ter achado

simples, queria que dessem uma

olhado no final da função do

"indice_menor xs" ( aux_menores

(xs!!i) xs == []), porque foi

onde tive mais dificuldade.

esclarecer

disponibilizar

perguntar

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

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

StFla Bem a minha ficou bem pequena,

achei até estranho, mas axo q

está completa já que era uma

questão simples. O que fiz foi

aproveitar a questão 2 que

mostra o índice menor, e usa-la

para mostrar o médico com menos

pacientes. Segue abaixo:

medicos_menos_pacientes = disp!!

indice_menor

Indice_menor foi a questão usada

na 2ª, já que ela pode ser usada

para mostar também o médico com

menos pacientes. Vejam aew qq

pode estar errado!

esclarecer

explicar

disponibilizar

explicar

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

Identificação de Padrões de Identificação de Padrões de InteraçãoInteraçãoStJa Eu achei que o problema é sequêncial...

Cada uma das funções exigidas tem a sua

resolução facilitada se usada a

anterior a ela, já que uma aparente

interdepender da outra... Acredito que

a melhor solução do problema seria

fazer ordenadamente cada função para ir

aproveitando-as aos poucos,

criando funções auxiliares quando

necessário.

sugerir

StLu Eu também acho que é um problema em que

cada resposta segue a lógica de sua

anterior, deveriamos então fazê-las em

ordem para tornar o problema mais fácil

e "entendível".

re-sugerir

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

Identificação de Padrões de Identificação de Padrões de InteraçãoInteraçã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…”

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

Uso dos Padrões de Interação na Uso dos Padrões de Interação na Caracterização das InteraçõesCaracterização das Interações

Grupo 2

StDi sugerir / disponibilizar

StHu esclarecer / explicar

StDi re-explicar-StHu / disponibilizar / explicar

StHu esclarecer / disponibilizar

StDi sugerir StKa esclarecer /

disponibilizar StJofi informar StDi informar StDi explicar /

disponibilizar StDi perguntar

StJofi informar StKa confirmar

Alternância de “explicar”, “esclarecer”,

“sugerir”, “disponibilizar”

Interação produtiva

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

Uso dos Padrões de Interação na Uso dos Padrões de Interação na Caracterização das InteraçõesCaracterização das Interações

Sequências de “disponibilizar” com pouca alternância de

outros padrões de interação

Interação não produtiva

Grupo 1

StAf disponibilizar

StAl disponibilizar

StAf disponibilizar

StAl esclarecer

StAl disponibilizar

StAt confirmar

StAt disponibilizar

StAt disponibilizar

StAt disponibilizar

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

Representação dos Padrões de Representação dos Padrões de InteraçãoInteração

Leitor

Broadcaster

Leitor / Avaliador

Coordenador

Inicia um turno

Envia avaliação

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

Representação Formal dos Representação Formal dos Padrões de InteraçãoPadrõ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] then5 Er=[E|Es] <-- evaluation(X,E) <= a(reader,R) then6 a(broadcaster(X,Rs,Es),B)) or7 null <-- L=[] and E=[].8 a(reader,R) ::=9 information(X) <= a(broadcaster(X,_,_),B) then10 (evaluation(X,E) => a(broadcaster(X,_,_),B) <-- agree(X,E) or11 evaluation(X,E) => a(broadcaster(X,_,_),B) <-- do_query(X,E)).

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

Identificação de EstereótiposIdentificação de Estereótipos

Interações produtivas

Interações não

produtivas

Estereótipos positivos

Estereótipos negativos

Estereótipos = pistas para intervenção

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

Identificação de EstereótiposIdentificaçã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

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

• Replicação das configurações do estudo Replicação das configurações do estudo de caso anterior para avaliar a relevância de caso anterior para avaliar a relevância dos padrões de interação e estereótipos a dos padrões de interação e estereótipos a uma nova turma de programação uma nova turma de programação introdutóriaintrodutória

• Identificação de um novo estereótipo: Identificação de um novo estereótipo: ausência de interaçõesausência de interações

• Confirmação dos estereótipos e Confirmação dos estereótipos e representação dos padrões de interaçãorepresentação dos padrões de interação

Estudo de Caso Explanatório Estudo de Caso Explanatório (2009.1)(2009.1)

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

• Três estudos de caso e uma inspeção semiótica no Três estudos de caso e uma inspeção semiótica no ambiente CSCL utilizado nesta tese comprovam a ambiente CSCL utilizado nesta tese comprovam a hipótesehipótese– Oportunidades de intervenção na aprendizagem de Oportunidades de intervenção na aprendizagem de

programação em grupo são ampliadas com o uso de uma programação em grupo são ampliadas com o uso de uma abordagem sistematizada de acompanhamentoabordagem sistematizada de acompanhamento

• Os padrões de interação encontrados provaram-se Os padrões de interação encontrados provaram-se aplicáveis na aprendizagem de programação devido aplicáveis na aprendizagem de programação devido à ação na resolução de problemas, o que também à ação na resolução de problemas, o que também evidencia potencial aplicação em outras áreasevidencia potencial aplicação em outras áreas

• Estereótipos são importantes para orientar as ações Estereótipos são importantes para orientar as ações e estratégias dos professores devendo também e estratégias dos professores devendo também incorporar novas instâncias quando incorporar novas instâncias quando adequadamente identificadosadequadamente identificados

ConclusãoConclusão

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

ContribuiçõesContribuiçõ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

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

• Integrar a abordagem ao Open KnowledgeIntegrar a abordagem ao Open Knowledge• Aplicar diferentes combinações dos elementos Aplicar diferentes combinações dos elementos

a times de desenvolvimento de softwarea times de desenvolvimento de software• Investigar a integração de outras ferramentas Investigar a integração de outras ferramentas

nos diversos estágios da abordagemnos diversos estágios da abordagem• Aplicar a abordagem a outros domínios, que Aplicar a abordagem a outros domínios, que

envolvam a necessidade de abstração, com envolvam a necessidade de abstração, com ênfase na solução de problemasênfase na solução de problemas

• Aplicar a abordagem no mesmo domínio com Aplicar a abordagem no mesmo domínio com outro paradigma não imperativooutro paradigma não imperativo

Trabalhos FuturosTrabalhos Futuros

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

PublicaçõesPublicaçõ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 978-85-7669-159-4, 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.[1]

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. 5249. Sublibrary: Lecture Notes in Artificial Intelligence. ISBN: 978-3-540-88189-6, pp.145-156.[2]

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

PublicaçõesPublicaçõ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: 978-1-4244-1970-8. Library of Congress: 79-640810. ISSN: 0190-5848. 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 2008. 27 a 29 Outubro 2008, Vila Velha, ES. ISBN: 978-0-7695-3500-5/08, Ed. IEEE-CS, pp. 45-54.[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 2009. ISBN: 978-989-8111-85-2.[5]

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

PublicaçõesPublicaçõ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 71-81. ISSN 1414-5685. 2009[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: 1932-8540. V.4, N.2, pp. 155-160. 2009.[1]