english | português | español

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

Castro, T. Sistematização da Aprendizagem de Programação em Grupo. Tese de Doutorado, Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), 2011.

Temas: CSCL, Aprendizagem Colaborativa, Desenvolvimento de Sistemas, Estudo de Caso, Entrevista, Grupo Focal, Inspeção

DocumentoDocumento ApresentaçãoApresentação

Abstract: A programação é uma atividade cognitiva que envolve alto nível de abstração, cuja aprendizagem permanece bastante complexa apesar das recorrentes pesquisas no tema. Nas disciplinas introdutórias de programação em cursos de graduação, o uso de groupware baseado na Internet representa uma oportunidade para introduzir boas práticas no processo de aprendizagem dos alunos, especialmente o registro de todas as interações entre os alunos em seus grupos enquanto resolvem exercícios, bem como a evolução dos códigos produzidos por cada estudante. Os logs das conversas e os fragmentos de código nelas inseridos fornecem pistas dos processos de tomada de decisão, da metodologia de trabalho e do uso de padrões de interação e estereótipos da composição desses padrões, os quais devem ser filtrados e categorizados para análise e identificação 'just in time' de dificuldades dos estudantes e à oportuna intervenção do professor durante o processo. 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, a saber: 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, e 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.