Este documento apresenta a dissertação de doutoramento de Ricardo Rodrigues Nunes sobre o desenvolvimento de uma abordagem pedagógica denominada SimProgramming para promover a motivação na aprendizagem de programação no ensino superior. A abordagem foi testada ao longo de três ciclos de investigação-ação e mostrou resultados promissores para manter a motivação dos alunos na transição entre programação básica e avançada. Futuros trabalhos incluem a adaptação da abordagem a outros contextos educacionais.
SimProgramming: Uma abordagem motivacional para aprendizagem de programação
1. Ricardo Rodrigues Nunes
Universidade de Trás-os-Montes e Alto Douro / INESC TEC
SimProgramming:
uma abordagem pedagógica motivacional para a
aprendizagem de programação em turmas
intermédias do ensino superior
Provas de Doutoramento
Escola de Ciências e Tecnologia
UTAD
Júri:
(Presidente) Doutor José Boaventura
Universidade de Trás-os-Montes e Alto Douro
Doutor António Fernando Vasconcelos Cunha Castro Coelho
Universidade do Porto
Doutor João Manuel Pereira Barroso
Universidade de Trás-os-Montes e Alto Douro
Doutor Leonel Caseiro Morgado
Universidade Aberta
Doutora Ângela Margarida de Sousa Pereira
Instituto Politécnico de Leiria
Doutor Arsénio Monteiro Reis
Universidade de Trás-os-Montes e Alto Douro
Doutora Daniela Cristina Carneiro Pedrosa
Universidade de Aveiro
Doutor Hugo Paredes
Universidade de Trás-os-Montes e Alto Douro
Doutor Paulo Martins
Universidade de Trás-os-Montes e Alto Douro
Doutor Leonel Caseiro Morgado
Universidade Aberta
Orientadores:
2. SimProgramming // Itinerância do investigador
Ensinar não é transferir conhecimento,
mas criar as possibilidades
para a sua própria produção
ou a sua construção.
Ninguém educa ninguém,
ninguém educa a si mesmo,
as pessoas se educam entre si,
mediatizados pelo mundo.
“
“
“
“
3. SimProgramming // Contexto da investigação
Licenciaturas
Engenharia em Informática;
Tecnologias de Informação e Comunicação.
Disciplina
Metodologias de Programação III (MPIII).
Semestre
4° semestre, num curso de seis semestres.
Conhecimentos e disciplinas relacionadas
Conceitos/Técnicas Disciplina
Algoritmia Algoritmia e Lógica Computacional
Programação Imperativa/
Procedimental Metodologias de Programação I e Laboratório de Informática I
Programação Orientada a
Objetos Metodologias de Programação II e Laboratório de Informática II
Código Assembly Arquitetura de Computadores
Programação Concorrente Sistemas Operativos
Model-View-Controller (MVC)
e linguagem C# Laboratório de Informática III
Componentes
Teórica e prática.
Conceitos
Programação em larga escala.
Competências
Instrumentais, interpessoais e sistémicas.
4. SimProgramming // De programador iniciante a especialista
Especialista
Proficiente
Competente
Iniciante Avançado
Iniciante
Grande experiência;
Distinguem detalhes relevantes e irrelevantes;
Percebem características e padrões significativos;
Tomam decisões de forma intuitiva e fluida.
Se preocupam com a aprendizagem;
Estão abertos a reverem suas abordagens;
Consideram os padrões de projetos de software;
Tiram proveitos de feedback.
Resolvem problemas autonomamente;
Elaboraram estratégias de resolução de problemas;
São bons integrantes de equipas;
Tendem a ter um papel de liderança.
Não precisam de regras muito fixas;
Propensos a buscar informação rápida;
Podem levar em conta o domínio do problema;
Têm dificuldade em abordar problemas complexos.
Aprendem via instrução formal;
Não se preocupam com sua aprendizagem;
Apresentam insegurança sobre suas capacidades;
Ignoram características do domínio dos problemas.
E
P
C
IA
I
5. SimProgramming // Motivação para aprendizagem
Objetivos de realização
Objetivo de mestria;
Objetivo de desempenho;
Objetivo de escapatória ao esforço;
Objetivo social.
Interesse
Interesse individual;
Interesse situacional.
Expectativa-Valor
Expectativas de sucesso;
Valor da tarefa.
Atribuições causais
Atribuição otimista;
Atribuição pessimista;
Atribuição hostil.
Autoeficácia
Experiência de mestria;
Modelos sociais;
Persuasão social;
Reações fisiológicas.
Autodeterminação
Motivação intrínseca;
Motivação extrínseca.
6. SimProgramming // Pergunta de Investigação
A motivação tem sido investigada
como fator importante na aprendizagem.
Há conhecimento acumulado e
recomendações de práticas.
Como trazer esse conhecimento sobre
motivação para a aprendizagem
na transição da programação
básica para avançada?
SimProgramming // Pergunta da investigação
7. SimProgramming // Desenho da investigação
Abordagem: Qualitativa;
Tipo: Descritiva;
Método: Investigação-ação;
Recolha e análise: Múltiplas fontes, triangulação de dados e MEDS;
Dados: Observações dos investigadores; relatórios individuais e de
grupos dos alunos; entrevistas individuais e de grupos; questionários
online; log de dados dos ambientes virtuais usados; gravações
audiovisuais de algumas aulas e reuniões;
Resultado: Abordagem pedagógica SimProgramming.
8. SimProgramming // Desenho das atribuições
Comunidades
de Prática
Equipes Descrição
E1 Escrever um documento pormenorizado que explique como aplicar o
padrão arquitetônico MVC ao desenvolvimento de aplicações com
a libOpenMetaverse. Esse documento deve complementar essa
explicação com exemplos concretos das várias formas de aplicação que
concebam.
E2 Escrever um documento pormenorizado que explique como aplicar o
padrão arquitetônico MVC ao desenvolvimento de aplicações na
Windows Phone Application Platform, com a framework XNA. Esse
documento deve complementar essa explicação com exemplos
concretos das várias formas que concebam para aplicação do padrão.
E3 Idêntico a Equipe 2, mas com framework Silverlight.
(...) (...)
Aprendizagem
baseada em problemas
9. SimProgramming // Estrutura da investigação -ação
Investigação-ação
4 Etapas (planear, agir, observar e refletir)
3 Ciclos (2010/2011, 2011/2012 e 2012/2013)
10. SimProgramming // Primeiro ciclo da investigação -ação
Problemas identificados:
✓ Dificuldade para a formação do grupos;
✓ Motivação baixa;
✓ Falta de feedback;
✓ Pouco tempo;
✓ Pouco engajamento nas comunidades de prática;
✓ Desempenho muito baixo nas atividades de aprendizagem;
✓ Dificuldade na utilização do Wiki
✓ Nenhum código desenvolvido para discussão.
Primeiro Ciclo
Fases
Fase 1
Atividades
pesquisa sobre o tema.
Fase 2 procura por comunidades de prática e
Fase 3
profissionais nas redes sociais.
reuniões para debater sobre o tema com os
Fase 4
profissionais encontrados online.
relatório final; apresentação das equipes
com os melhores resultados.
4 investigadores;
74 alunos participantes em 20 grupos;
7 grupos desenvolveram suas atividades regularmente;
4 alunos apresentaram bom desempenho;
8 semanas;
Questionário on-line, relatórios finais, registos no wiki, observações dos
investigadores, mensagens trocadas entre estudantes e investigadores;
4 num total de 20 valores.
11. SimProgramming // Segundo ciclo da investigação -ação
*Foram realizadastrês dinâmicas de grupos ao longo deste ciclo.
Problemas identificados:
✓ Dificuldade para a formação do grupos;
✓ Motivação baixa;
✓ Falta de feedback;
✓ Pouco tempo;
✓ Atraso nas entregas;
✓ Pouco engajamento nas comunidades de prática;
✓ Desempenho muito baixo nas atividades de aprendizagem;
✓ Nenhum código desenvolvido para discussão.
Segundo Ciclo
3 investigadores;
95 alunos participantes em 21 grupos;
9 grupos desenvolveram suas atividades regularmente;
6 alunos apresentaram bom desempenho;
Fases Atividades
Fase 1 pesquisa sobre o tema; interação nas
comunidades de prática e redes sociais.
Fase 2 interação nas comunidades de prática e
redes sociais.
Fase 3 relatório final; apresentação das equipes
com os melhores resultados.
13 semanas;
Log das plataformas de e-learning, relatórios finais, entrevistas
presenciais, observações dos investigadores, mensagens trocadas entre
estudantes e investigadores, gravações audiovisuais, questionário on-line;
4 num total de 20 valores.
12. SimProgramming // Terceiro ciclo da investigação -ação
Problemas identificados:
✓ Dificuldade para a formação do grupos, porém com menos impacto no projeto;
✓ Pouco engajamento nas comunidades de prática;
✓ 2 alunos ainda reportaram baixa motivação;
✓ Falta de tempo.
Abordagem
Terceiro Ciclo SimProgramming
(3 + 2) investigadores;
97 alunos participantes em 15 equipas;
11 equipas desenvolveram suas atividades regularmente;
59 alunos apresentaram bom desempenho;
Fases Atividades
Fase 1
(conceção)
organização das equipes; levantamento da
literatura; interação nas comunidades de
prática; apresentação inicial; relatório
semanal.
Fase 2
(desenvolvimento)
interação nas comunidades de prática;
apresentação intermédia; relatório semanal;
relatório das interações nas comunidades.
Fase 3
(refinamento)
apresentação final; relatório final.
Fase 4
(encerramento)
relatório final melhorado; autoavaliaçãoe
heteroavaliação.
13 sprints;
Log das plataformas de e-learning, mensagens no grupo interno da rede social,
relatórios semanais e finais, entrevistas presenciais, observações dos investigadores,
mensagens trocadas entre estudantes e investigadores, gravações de audio,
gravações audiovisuais das apresentações, questionários on-line;
6 num total de 20 valores.
13. SimProgramming // Resultados (abordagem pedagógica)
Simulação de um
ambiente empresarial
Aprendizagem
ativa
Aprendizagem
situada
Avaliação
formativa
Abordagem
SimProgramming
A abordagem SimProgramming é promissorapara
a manutenção da motivação para aprendizagem de
programação de computadores na transição da
programação de nível básico para o avançado, bem
como em outros contextos educacionais.
14. SimProgramming // Trabalhos futuros
Adaptação a
outros contextos
+ Dinâmicas de grupos
Problema ≠ Desafio
Gamificação
Abordagem do
SIM
(Sistema de Incentivo Motivacional)
15. Ricardo Rodrigues Nunes
Universidade de Trás-os-Montes e Alto Douro / INESC TEC
SimProgramming:
uma abordagem pedagógica motivacional para a
aprendizagem de programação em turmas
intermédias do ensino superior
Provas de Doutoramento
Escola de Ciências e Tecnologia
UTAD