Measuring and fostering cognitive programming skills in beginners.

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: SANTOS, Jucelio Soares dos.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29471
Resumo: As instruções atuais para ensinar habilidades cognitivas de programação apresentam lacunas em identificá-las, estruturá-las e sequenciá-las. Os novatos no Curso de Introdução à Programação (CS1) geralmente têm níveis diferentes de conhecimento prévio e habilidades de resolução de problemas amplamente variadas. Alunos que possuem algum contato prévio com programação em estágios anteriores ao CS1 podem apresentar mais facilidade de assimilar o conteúdo. Por outro lado, alunos que não tiveram essa experiência podem apresentar dificuldades no aprendizado e devem receber mais atenção dos educadores. Em geral, esse aprendizado por parte de alunos com diversos níveis de conhecimento é impactado por variados níveis cognitivos até então pouco explorados. A falta de uma correta compreensão desses níveis e a escassez de instrumentos confiáveis e válidos para um atendimento personalizado podem ter sérias implicações no ambiente de ensino em CS1. Cerca de um terço dos alunos matriculados no CS1 geralmente acabam reprovando ou desistindo. Este fato induz a desmotivação nos alunos, e a desconfiança destes cursos superiores pela comunidade acadêmica. Assim, é essencial preencher as lacunas de conhecimento sobre a identificação/segmentação de quais habilidades cognitivas estão envolvidas no aprendizado de programação, bem como, propor instrumentos confiáveis para medi-la e fomentá-las. Desta forma, esta pesquisa tem como objetivo identificar, medir e fomentar habilidades cognitivas em iniciantes em programação por meio de um instrumento confiável, adaptativo e empiricamente válido. Este instrumento determina o nível de desafio apropriado de acordo com o nível de habilidade do aluno. Para tanto, identificamos habilidades cognitivas de programação e as abordagens para promover/medir tais habilidades. Assumimos que sequenciar as habilidades cognitivas envolvidas no aprendizado da programação por meio do Domínio Cognitivo da Taxonomia Revisada de Bloom determina o nível de desafio correto em um instrumento de avaliação. Por meio desta abordagem, criamos um banco de itens e analisamos os conteúdo e semântica desses itens. Por meio das Teorias de Mensuração, calibramos o banco de itens e avaliamos a consistência interna do instrumento. Além disso, analisamos a relação entre as habilidades cognitivas de programação e a capacidade do participante em produzir código. Integramos a seleção adaptativa ao instrumento criado a fim de melhorar a seleção dos itens e a estimativa iv das habilidades dos participantes. Por fim, investigamos se a promoção de habilidades cognitivas de programação melhora o desempenho da escrita de código para iniciantes. Como resultados, fornecemos uma abordagem para sequenciar as habilidades cognitivas de programação a fim de promovê-las e medi-las. Oferecemos instrumentos confiáveis e adaptativos, que fomentam e medem habilidades cognitivas em novatos em programação de forma incremental. Além disso, obtivemos evidências empíricas sobre a influência das habilidades cognitivas promovidas pelos instrumentos sobre o desempenho dos participantes na escrita de código. Os resultados nos dão indícios que o aprendizado pode ocorrer de forma linear à medida que os alunos avançam nos níveis cognitivos na Taxonomia Revisada de Bloom. Concluímos que o desempenho cognitivo de iniciantes em programação bem sucedidos, em tarefas de escrita de código, pode estar interligada com as habilidades fomentadas pelo instrumento. Além disso, a escolha de itens administrados pelo instrumento adaptativo determina uma redução na quantidade de itens e uma sequência adequada para determinar o nível de habilidade do sujeito. Os resultados desta pesquisa podem contribuir para a prática de ensino e aprendizagem em CS1, por fornecer um instrumento que permitirá aos professores de programação coletar evidências de dificuldades iniciais de programação de forma eficiente. Os professores podem fornecer atendimento personalizado indicando questões de acordo com o nível de habilidade do aluno para compensar suas dificuldades.