Thaís Helena Chaves de Castro Sistematização da Aprendizagem de Programação em Grupo Tese de Doutorado

Documentos relacionados
Uma Abordagem de Desenvolvimento de Groupware Baseada em Linha de Produto de Software e Modelo 3C de Colaboração

Thaís Helena Chaves de Castro Sistematização da Aprendizagem de Programação em Grupo Tese de Doutorado

Utilização de uma estratégia para identificação de fontes de informação na fase de elicitação

Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO

Bruno Siqueira Silva. Workflows dinâmicos em gerência de projetos ágeis. Dissertação de Mestrado

Elicitação de requisitos de software através da utilização de questionários

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes

Aliana Pereira Simões. Avaliação Ergonômica da Usabilidade do Ambiente Virtual de Aprendizagem: CEAD-IFES/ES, um estudo de caso

Uma Proposta de Sistema de Dependência a Distância Usando a Plataforma Moodle

Uma investigação reflexiva sobre uma abordagem de ensino-aprendizagem baseada em gêneros discursivos: o caso de turma 601

Sistematização da Aprendizagem de Programação em Grupo

Sistema para Consultas sobre Banco de Dados Relacional Baseado em Palavras-Chave

Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais

Uma meta-ferramenta de geração de diagramas utilizada na engenharia reversa de sistemas legados.

SQLLOMining: Obtenção de Objetos de Aprendizagem utilizando técnicas de Aprendizado de Máquina

Marcos Borges Pessoa. Geração e execução automática de scripts de teste para aplicações web a partir de casos de uso direcionados por comportamento

Framework para coordenação e mediação de Web Services modelados como Learning Objects para ambientes de aprendizado na Web

Geraldo da Silva Rocha Netto. Escalonamento Flexível de Workflows com Restrições Temporais. Dissertação de Mestrado

Geração semi-automática de massas de testes funcionais a partir da composição de casos de uso e tabelas de decisão

João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado

Adriano Francisco Branco. Um modelo de programação para RSSF com. Dissertação de Mestrado

Renato Figueiró Maia. Um Framework para Sistemas Baseados em Componentes Distribuídos. Informática DEPARTAMENTO DE INFORMÁTICA

Virginia Maria Castilho Ribeiro de Souza. Design em Trabalhos Lúdicos para Arteterapia em Educação e Saúde

Iam Vita Jabour. O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML. Dissertação de Mestrado

Integração de Ontologia com Modelagem de Processo: Um Método para Facilitar a Elicitação de Requisitos

Tânia Cristina Soeiro Simões O uso das preposições locais no processo de aquisição formal da língua alemã como segunda língua

Debora Carvalho Capella. Um estudo descritivo do vocativo em linguagem oral para Português L2. Dissertação de Mestrado

Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques.

Fabíola Alice Alves Rocha dos Reis

Renata Thomaz Lins do Nascimento. Visualização por Imagens Auto-animadas de Campos Vetoriais Baseada na sua Topologia. Dissertação de Mestrado

Avaliação Preliminar dos Movimentos Aéreos no Aeroporto Internacional Antônio Carlos Jobim Galeão

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado

Imagens do brasileiro construídas pelo estrangeiro: dos estereótipos nas expressões qualificativas

Matchmaking Uma infraestrutura para alinhamento de esquemas

Trigonometria: Fórmulas de Adição e Subtração de Arcos

Adriano Medeiros dos Santos. Suporte a Componentes Compostos Para o Middleware SCS. Dissertação de Mestrado

Usando a abordagem MDA no desenvolvimento de sistemas multi-agentes

Gingando em Português: como os aspectos culturais presentes na Capoeira auxiliam o estrangeiro na aquisição de competência intercultural

Mauricio Kreczmarsky Guimarães Meinicke. Opacidade 3D na Visualização Volumétrica de Dados Sísmicos

Desenvolvimento e avaliação de um jogo de computador para ensino de vocabulário para crianças com autismo

Alexandre Roberto Rentería ESTIMAÇÃO DE PROBABILIDADE FUZZY A PARTIR DE DADOS IMPRECISOS. Tese de Doutorado

Design de experiências e ambientes interativos:

OPERADORES LOGÍSTICOS E SEUS CLIENTES: UM ESTUDO EMPÍRICO

Rogério Miguel Coelho

QEEF-G: Execução Paralela Adaptativa de Consultas Iterativas

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Proposta de um sistema de suporte à decisão para programação de navios baseado em otimização: um caso prático

Ricardo Fukasawa. Resolução de problemas de logística ferroviária utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Bernardo de Mendonça G. Ferreira. Valoração de uma opção sobre um contrato futuro. Dissertação de Mestrado

Estudo Comparativo de Estratégias de Classificação de Páginas Web

Suzana Soares Duprat. Entretenimento Via Celular para Baixa Renda. Dissertação de Mestrado. Dissertação apresentada ao Programa de Pósgraduação

Francisco Eduardo Torres Cursino de Moura. Uma proposta para Rendering Baseado em Imagens em celulares

Luzia da Costa Tonon. O Teorema de Cramér-Lundberg via martingais DISSERTAÇÃO DE MESTRADO. Programa de Pós Graduação em Matemática

Davi Romero de Vasconcelos. Análise de Estratégias Utilizando Verificação Formal de Modelos. Dissertação de Mestrado

Entropia de Rényi e Informação Mútua de Cauchy-Schwartz Aplicadas ao Algoritmo de Seleção de Variáveis MIFS-U: Um Estudo Comparativo

Atos de fala, atos falhos: uma aproximação entre as teorias linguísticas de Austin e de Wittgenstein e a psicanálise de Freud e Lacan

Carla Jardim Dias. Um modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo. Dissertação de Mestrado

A INTERNET E A EDUCAÇÃO A DISTÂNCIA DOS SURDOS NO BRASIL: UMA EXPERIÊNCIA DE INTEGRAÇÃO EM UM MEIO EXCLUDENTE

Gerenciando Conflitos em Reuniões: Uma Estratégia para a Elicitação de Requisitos de Software

Natália Moreira Félix

Os desafios de interface e de interação na computação ciente de contexto

Estimadores de Curvaturas para Curvas no R 4

Regina Maria de Britto Figueiredo. Uma Teoria Literária em Expansão. Tese de Doutorado

Gerenciamento de projetos no âmbito da Economia Criativa Um estudo de caso das Incubadoras Rio Criativo

Gustavo Simão Rodrigues

Marcelo de Mattos Bezerra. Interações no Ensino e na Prática do Design e da Arquitetura. Dissertação de Mestrado

O Planejamento e Controle de Produção para uma Fábrica de Vacinas.

Heidegger e a relação homem-técnica-natureza na crise ambiental contemporânea

Análise e Avaliação do Equity Premium Puzzle no Mercado Acionário Brasileiro sob diferentes Contextos Econômicos

Memes: Conceito de Conteúdo de Informação Como Alternativa de Pesquisa de Posicionamento de Marca

Pontifícia Universidade Católica do Rio de Janeiro

Márcia Araújo Almeida

Vinci Pegoretti Amorim. Uma Arquitetura Flexível para Replicação de Bases Distribuídas Heterogêneas. Dissertação de Mestrado

Efeito do erro de apontamento de antenas fixadas em plataformas móveis no desempenho de sistemas de comunicação digital por satélite

Comparação de estratégias de construção de poços marítimos incorporando incertezas

Considerações sobre a flutuação no emprego do subjuntivo em contextos orais do Português do Brasil

Metáforas para linguagem no Curso de Saussure

Marcos José Gomes Cristovão

Realce de Imagens no Domínio da Transformada

Gilda Alves Batista. Relações Raciais e Educação: Uma análise do Programa Políticas da Cor na Educação Brasileira (PPCOR) Dissertação de Mestrado

Uma abordagem baseada em SPH para animação interativa de águas rasas em jogos

Escola em Ciclos: o desafio da heterogeneidade na prática pedagógica

Sérgio Queiroz de Medeiros. Correspondência entre PEGs e Classes de Gramáticas Livres de Contexto. Tese de Doutorado

Crime e Poupança: Teoria e Evidências para o Brasil

Aplicação de Opções Reais ao Setor de Circuitos Integrados

Marcelo Ribeiro de Carvalho. Modelagem da Operação de um Recinto Especial para Despacho Aduaneiro de Exportação (Redex) Dissertação de Mestrado

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado

Análise da satisfação dos clientes de serviços de cabotagem no Brasil: Um estudo de caso

Análise de Riscos na Logística de Movimentação de Derivados de Petróleo

Contribuições de Basil Bernstein e Yves Chevallard para a discussão do conhecimento escolar

Jogos eletrônicos que encantam o universo infantil: interface lúdica e aprendizagem

Tatiana Waintraub. Modelagem da calçada de Copacabana. Dissertação de Mestrado

Liquidez e Formação de Preço: Evidência do mercado acionário brasileiro

Otávio de Pinho Forin Braga. Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO

Um Estudo Sobre Middlewares Adaptáveis

Experimentos de Previsão da Estrutura a Termo da Taxa de Juros Americana: Reversão à Media, Inércia e Influência de Variáveis Macroeconômicas

Estabilidade e Densidade dos Difeomorfismos Morse-Smale do Círculo

Transcrição:

Thaís Helena Chaves dee Castro Sistematização daa Aprendizagem de Programação emm Grupo Tese T de Doutorado Tese apresentada como requisito parcial para obtenção do título de Doutor peloo Programaa de Pós- de Graduação em Informática do Departamento Informática daa PUC-Rio. Orientador: Hugo Fuks Rio de Janeiro Marçoo de 2011

Thaís Helenaa Chaves de Castro Sistematização daa Aprendizagem de Programação emm Grupo Tese apresentadaa como requisito parcial para obtenção do título de Doutorr pelo Programa de Pós-Graduação em Informática do Departamento de Informática da PUC-Rio. Aprovada pela Comissão Examinadoraa abaixo assinada. Hugo Fuks Orientador Departamento de Informática PUC-Rio Carlos José Pereira dee Lucena Departamento de Informática PUC-Rio Simone Diniz JunqueiraJ a Barbosa Departamento de Informática PUC-Rio Denise Del Re Filippo Escola Superior de Design Industrial UERJ Credinéé Silva de Menezes Departamento de Informática UFES José Eugenio Leal Coordenador( a) Setorial do Centro Técnico Científico C - PUC-Rio Rio de Janeiro, 244 de marçoo de 2011

Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, da autora e do orientador. Thaís Helena Chaves de Castro Concluiu o Bacharelado em Processamento de Dados pela Universidade Federal do Amazonas (UFAM) em 2001, e o Mestrado em Informática pela Universidade Federal do Espírito Santo (UFES) em 2003. É professora do Departamento de Ciência da Computação da UFAM desde 2004, onde atua na pesquisa em Engenharia de Software (processos de desenvolvimento de software, interface humano-computador), Sistemas Colaborativos e Inteligência Artificial (interfaces adaptativas, sistemas multiagente, representação do conhecimento). Castro, Thaís Chaves de Ficha Catalográfica Sistematização da aprendizagem de programação em grupo / Thaís Helena Chaves de Castro ; orientador: Hugo Fuks. 2011. 152 f.: il. (color.) ; 30 cm Tese (doutorado) - Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática, 2011. Inclui referências bibliográficas. 1. Informática - Teses. 2. Aprendizagem de Programação. 3. Programação em Grupo. 4. CSCL. I. Fuks, Hugo. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título. CDD:004

A meus pais, marido e filhos, pela dedicação e apoio.

Agradecimentos A Deus, por tudo. A meu orientador pelo apoio e objetividade. A David Robertson (School of Informatics, University of Edinburgh) pela atenção e expertise. Aos colegas do Groupware@LES pelo companheirismo. Aos professores e funcionários da PUC-Rio que facilitaram meu trabalho na instituição. Ao CNPq pelo suporte financeiro na PUC-Rio e na University of Edinburgh. À UFAM pelo investimento na titulação de seu corpo docente.

Resumo Castro, Thaís Chaves de; Fuks, Hugo. Sistematização da Aprendizagem de Programação em Grupo. Rio de Janeiro, 2011. 152p. Tese de Doutorado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. A investigação aqui relatada trata da concepção de elementos estruturantes para ampliar as oportunidades de intervenção pelo professor em um contexto de aprendizagem de programação em grupo. A partir de uma série de estudos de caso com turmas de calouros em cursos de computação, foi desenvolvida a sistematização de práticas, metodologias e tecnologias em uma abordagem para apoiar a aprendizagem de programação em grupo, baseada em três frentes de investigação: pressupostos pedagógicos, ferramentas LMS e métodos de colaboração. O eixo teórico referente à aprendizagem é a teoria de desenvolvimento cognitivo de Piaget, aliada a técnicas conhecidas de programação em grupo utilizadas no ensino de graduação em disciplinas introdutórias de programação. As ferramentas computacionais são utilizadas para monitorar e intervir durante o processo de aprendizagem. Nesse contexto, ambientes CSCL incentivam a colaboração e regulam as práticas desejadas. Nesta tese, outras tecnologias, como linguagens para representação de agentes e identificação de padrões são agregadas a eles para melhorar o acompanhamento e facilitar a intervenção. Por fim, como método de colaboração, é proposto um esquema progressivo de aprendizagem de programação em grupo, que auxilia os alunos a gradativamente adotarem práticas colaborativas na resolução de exercícios e que pode ser formalizado para incorporação a plataformas automatizadas. Palavras-chave Aprendizagem de programação, programação em grupo, CSCL.

Abstract Castro, Thaís Chaves de; Fuks, Hugo (Advisor). Systematic Approach for Group Programming Learning. Rio de Janeiro, 2011. 152p. D.Sc. Thesis Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. The research reported here deals with devising structuring elements that may broaden intervention opportunities from the teacher in a context of group programming learning. Based on a set of case studies with freshmen in computing courses a systematization for practices, methods and technologies was developed producing an approach for supporting group programming based in three investigation paths: pedagogical assumptions, CSCL environments and collaboration methods. The main learning rationale is Jean Piaget s Cognitive Development Theory, used alongside group programming techniques commonly applied in undergraduate introductory programming courses. Computational tools are used to monitor and intervene during learning process and in such context, CSCL environments encourage collaboration and regulate expected practices. In this thesis other technologies like languages for agent representation and patterning identification are also exploited for improving control and facilitate interventions. Finally, as collaboration method, it is proposed a Programming Progressive Learning Scheme that helps students to adopt collaborative practices when solving exercises and that can be formalized to be used with automated platforms. Keywords Programming learning, group programming, CSCL.

Sumário 1 Introdução 14 1.1. A Tese 15 1.2. Objetivo e como atingi-lo 16 1.3. Estrutura da Tese 17 2 Análise sobre Aprendizagem de Programação 19 2.1. Experiências em Disciplinas Introdutórias de Programação para Cursos de Graduação em Computação 22 2.2. A Evolução dos Códigos em Aprendizagem de Programação 25 2.2.1. Identificação de Categorias na Evolução dos Códigos 32 2.3. Conclusão do Capítulo 37 3 Tecnologias para Aprendizagem de Programação em Grupo 39 3.1. Ferramentas para Apoiar a Aprendizagem de Programação em Grupo 41 3.2. Aportes Metodológicos e Tecnológicos como Apoio a Disciplinas de Programação Introdutória 45 3.3. Proposta de Adaptações de um ambiente CSCL para o Contexto da Aprendizagem de Programação 46 3.3.1. A Engenharia Semiótica 47 3.3.1.1. O Método de Inspeção Semiótica 48 3.3.2. O Contexto da Aprendizagem de Programação utilizando o ColabWeb 50 3.3.3. Inspeção Semiótica do ColabWeb 51 3.3.3.1. Etapas do MIS 52 3.3.4. Proposta de Melhorias e Adaptações 62 3.4. Conclusão do Capítulo 64 4 Colaboração na Aprendizagem de Programação 66 4.1. Scripts para Apoiar o Processo de Colaboração 68

4.2. Análise de Interações em Ambientes CSCL 69 4.3. Um Estudo de Caso Exploratório sobre Aprendizagem de Programação em Grupo 70 4.3.1. Análise Quantitativa 71 4.3.2. Análise Qualitativa 73 4.4. Um Esquema Progressivo para Aprendizagem de Programação em Grupo 76 4.5. Conclusão do Capítulo 82 5 Sistematização da Aprendizagem de Programação em Grupo 84 5.1. Definindo Padrões de Interação Estudo de Caso Descritivo 85 5.1.1. Metodologia 86 5.1.2. Análise Parte 1 Obtendo padrões 92 5.1.3. Análise Parte 2 Usando os padrões na caracterização das Interações 101 5.2. Representando Padrões de Interação 111 5.3. Identificando Oportunidades de Intervir 114 5.4. Usando a Sistematização Estudo de Caso Explanatório 116 5.5. Conclusão do Capítulo 123 6 Conclusão 124 6.1. Contribuições 126 6.2. Reflexões Adicionais no Tema 127 6.3. Trabalhos Futuros 128 6.4. Publicações de Resultados Parciais da Tese 129 Referências 131 Apêndice A 138 Exercício sobre Banco de Sangue: Padrões de Interação 138 Análise das Conversas 139 Apêndice B 146 Padrões de Interação no LCC 146

Lista de figuras Figura 1.1 Elementos da Tese 16 Figura 2.1 Funcionamento recursivo do AcKnow 33 Figura 3.1 Metamensagem para o wiki 54 Figura 3.2 Página de abertura do ColabWeb 55 Figura 3.3 Predominância da Linguagem Textual 56 Figura 3.4 Recurso Calendário 56 Figura 3.5 Perda de Contexto 57 Figura 3.6 Visualização de Informações sobre Grupo 58 Figura 3.7 Navegação nos Grupos 59 Figura 4.1 Esquema Progressivo de Aprendizagem de Programação em Grupo 78 Figura 4.2 Workflow do Esquema Progressivo de Aprendizagem de Programação em Grupo 81 Figura 5.1 Representação Formal das Conversas 112

Lista de tabelas Tabela 2.1 Histórico da aluna Jane Doe 34 Tabela 4.1 Distribuição de Critérios para Estudo Experimental 72 Tabela 4.2 Dificuldades sentidas pelos grupos 74 Tabela 4.3 Conclusões fornecidas pelos grupos 75 Tabela 4.4 Percepções sobre as dificuldades sentidas pelos grupos 76 Tabela 5.1 Tipos e exemplos de padrões de interação 100 Tabela 5.2 Padrões de Interação para a Fase 3 dos Grupos 1 e 2 101 Tabela 5.3 Padrões de Interação para a Fase 3 dos Grupos 3 e 5 102 Tabela 5.4 Padrões de Interação para a Fase 3 dos Grupos 7 e 8 105 Tabela 5.5 Padrões de Interação do 2º.Exercício da Fase 5, dos Grupos 1 e 5 106 Tabela 5.6 Padrões de Interação do 2º.Exercício da Fase 5, dos Grupos 3 e 4 107 Tabela 5.7 Padrões de Interação do 2º. Exercício para a Fase 5, do Grupo 7 108 Tabela 5.8 Padrões de Interação do 2º. Exercício para a Fase 5, dos Grupos 6 e 9 108 Tabela 5.9 Padrões de Interação do 2º. Exercício para a Fase 5, dos Grupos 2 e 8 109 Tabela 5.10 Estereótipo repetição de padrões de interação (caso i) 115 Tabela 5.11 Pistas para intervir nos estereótipos do caso (iii) 116 Tabela 5.12 Padrões de Interação do 1º. Exercício para a Fase 5 dos Grupos 2 e 5 de 2009 118 Tabela 5.13 Padrões de Interação do 1º. Exercício para a Fase 5 do Grupo 6 de 2009 118 Tabela 5.14 Padrões de Interação do 1º. Exercício para a Fase 5 do Grupo 3 de 2009 119 Tabela 5.15 Padrões de Interação do 2º. Exercício para a Fase 5 dos Grupos 2 e 3 de 2009 121

Tabela 5.16 Padrões de Interação do 2º. Exercício para a Fase 5 dos Grupos 4 e 5 de 2009 122

Lista de quadros Quadro 5.1 Enunciado do exercício Campeonato de Futebol 93 Quadro 5.2 Enunciado do exercício Atendimento em Ambulatório 93