Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Um Estudo
Experimental
do
40
60
80 Ambiente
100
ProgTest no Ensino de Programação
mm
40
Draylson Micael de Souza
Nemésio Duarte Freitas Filho
Sofia Larissa Costa
Ellen Francine Barbosa
60
Instituto de Ciências Matemáticas e de Computação
Universidade de São Paulo
120
10 de Abril de 2013
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
1
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Roteiro
mm
40
60
80
1
Introdução
2
O Ambiente ProgTest
3
Planejamento e Execução do Experimento
4
Análise dos Resultados
5
Conclusões e Trabalhos Futuros
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
2
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Roteiro
mm
40
60
80
1
Introdução
2
O Ambiente ProgTest
3
Planejamento e Execução do Experimento
4
Análise dos Resultados
5
Conclusões e Trabalhos Futuros
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
3
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Contexto e Motivação
mm
40
60
80
100
120
Fundamentos de programação não é um assunto fácil de ser
40
ensinado.
Os alunos têm dificuldades em entender os conceitos abstratos
de programação.
60
Os alunos têm visões erradas sobre a atividade de
programação.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
4
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Contexto e Motivação
mm
40
60
80
100
120
Experiências têm sugerido a introdução de conceitos de teste
40 conjunto com fundamentos de programação em cursos
em
introdutórios de ciências de computação.
60
O teste de software requer que os alunos conheçam o
comportamento do seus programas.
O ensino de teste mais cedo pode ajudar os alunos a se
tornarem melhores desenvolvedores e testadores.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
5
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Contexto e Motivação
mm
40
60
80
100
120
Teste
de software também não é um assunto fácil de ser
40
ensinado.
Dificuldade em motivar os alunos a realizar uma atividade de
teste adequada.
60
Carência de ferramentas de apoio que apoiam o ensino de
teste em um nı́vel introdutório.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
6
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Contexto e Motivação
mm
40
60
80
100
120
ProgTest
40
Submissão e avaliação automática de trabalhos de
programação dos alunos.
60
Apoio ao ensino integrado de fundamentos de programação e
conceitos básicos de teste de software.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
7
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Contexto e Motivação
mm
40
60
80
100
120
40
Validações
preliminares mostraram que o ambiente é capaz de
avaliar adequadamente o trabalho dos alunos
Nenhuma validação foi realizada visando avaliar se o apoio da
ProgTest
realmente contribui para a aprendizagem.
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
8
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Introdução
Objetivo
mm
40
60
80
100
120
Experimento
envolvendo a utilização da ProgTest.
40
Avaliar a influência da ProgTest na aprendizagem.
Identificar os principais benefı́cios e dificuldades dos alunos em
60
relação
ao uso da ProgTest.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
9
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Roteiro
mm
40
60
80
1
Introdução
2
O Ambiente ProgTest
3
Planejamento e Execução do Experimento
4
Análise dos Resultados
5
Conclusões e Trabalhos Futuros
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
10
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
40ProgTest é uma ferramenta baseada na web para a
A
submissão e avaliação automática de trabalhos práticos de
programação, baseada em atividades de teste.
60
Provê um feedback apropriado para avaliar o desempenho dos
alunos em relação tanto à programação como ao teste.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
11
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
O professor deve fornecer uma implementação de referência
com seu respectivo conjunto de teste.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
12
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
Da mesma forma, o aluno deve submeter seu programa e seu
conjunto de teste.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
13
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
A ProgTest executa o conjunto de teste do professor contra
o programa do professor.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
14
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
A ProgTest executa o conjunto de teste do aluno contra o
programa do aluno.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
15
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
A ProgTest executa o conjunto de teste do professor contra
o programa do aluno.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
16
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
A ProgTest executa o conjunto de teste do aluno contra o
programa do professor.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
17
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
Através destas execuções, a ProgTest sugere uma nota
para o trabalho submetido pelo aluno.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
18
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
O Ambiente ProgTest
Visão Geral
mm
40
60
80
100
120
Além de outros relatórios que ajudam os alunos a corrigir os
problemas identificados em seus trabalhos.
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
19
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Roteiro
mm
40
60
80
1
Introdução
2
O Ambiente ProgTest
3
Planejamento e Execução do Experimento
4
Análise dos Resultados
5
Conclusões e Trabalhos Futuros
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
20
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Definição do Estudo Experimental
mm
40
60
80
100
120
Objetivo Global: Avaliar se a aprendizagem dos alunos
melhora com o apoio do ambiente ProgTest
Meta especı́fica:
40
Objeto de estudo: a aprendizagem dos alunos com o apoio
da ProgTest.
60
Propósito: validação do ambiente ProgTest
Foco: completude e qualidade dos trabalhos desenvolvidos
pelos alunos
Perspectiva: acadêmica
80
Contexto: alunos de graduação
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
21
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Definição do Estudo Experimental
mm
40
60
80
100
120
Foco de Qualidade: Qualidade dos trabalhos de
programação desenvolvidos pelos alunos
Questões:
40
1
Os alunos que utilizam a ProgTest produzem programas
com mais qualidade do que aqueles que não utilizam tal
ambiente?
602 Os alunos que utilizam a ProgTest produzem casos de teste
com mais qualidade do que aqueles que não utilizam tal
ambiente?
3
80
10 de Abril de 2013
Os alunos que utilizam a ProgTest realizam atividades de
teste e depuração mais completa do que aqueles que não
utilizam tal ambiente?
10th Experimental Software Engineering Latin America Workshop
22
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Formulação das Hipóteses
mm
40
60
80
100
120
400 = O apoio fornecido pela ProgTest não melhora a
H
aprendizagem dos alunos.
H1 = O apoio fornecido pela ProgTest melhora a
aprendizagem
dos alunos.
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
23
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Seleção das Variáveis
mm
40
60
80
100
120
Variáveis Independentes
40
Linguagem de programação
Linguagem C
60
Ambiente de trabalho
Live DVDs pré-configurados
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
24
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Seleção das Variáveis
mm
40
60
80
100
120
Variáveis Independentes
40
Experiência dos alunos
Alunos de Graduação (ICMC/USP)
Feedback sobre os trabalhos
60
Aprendizagem Tradicional (sem feedback imediato)
Aprendizagem com ProgTest (com feedback imediato)
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
25
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Seleção das Variáveis
mm
40
60
80
100
120
40
Variáveis
Dependentes
Qualidade dos programas
60
Qualidade dos conjuntos de teste
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
26
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Definição do Estudo Experimental
mm
40
60
80
100
120
Métricas
1
40
Completude da Atividade de Depuração
2
Completude da Atividade de Teste
3
Correção do Programa
4
Correção dos Casos de Teste
60
5
Adequação do Programa
6
Adequação do Conjunto de Teste
7
Nota Sugerida pela ProgTest
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
27
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Planejamento e Execução do Experimento
Procedimentos
mm
40
60
80
100
120
Treinamento
Aula de Introdução ao Teste de Software
40
Demonstração do ambiente ProgTest
Exercı́cio de programação e teste.
60
Execução
Exercı́cio de programação e teste.
80
10 de Abril de 2013
Preenchimento do questionário
10th Experimental Software Engineering Latin America Workshop
28
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Roteiro
mm
40
60
80
1
Introdução
2
O Ambiente ProgTest
3
Planejamento e Execução do Experimento
4
Análise dos Resultados
5
Conclusões e Trabalhos Futuros
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
29
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Dados da Análise
mm
40
60
80
100
120
40
Satisfação
com a ProgTest
Resuldados – Métricas
Experiência
dos Participantes
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
30
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Satisfação com a ProgTest
mm
40
60
80
100
120
Pontos Positivos
40
Facilidade de submissão
Apoio na aprendizagem de programação e teste
60
Exibição das linhas de código não executadas
Apoio as tarefas de compilação e execução
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
31
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Satisfação com a ProgTest
mm
40
60
80
100
120
Pontos Negativos
40
Disposição e forma em que as informações são exibidas
Interface apenas em inglês
Sugestões
60
Explicações textuais sobre métricas e desempenho do aluno
Exibição das saı́das esperadas e obtidas pelos casos de teste
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
32
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Dados da Análise
mm
40
60
80
100
120
40
Satisfação
com a ProgTest
Resuldados – Métricas
Experiência
dos Participantes
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
33
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Coberturas e Notas da Execução
mm
40
60
80
100
120
Tabela: Resultados – Aprendizagem com ProgTest
Aluno
40
1
2
3
60
Completude
Depuração
Completude
Teste
Correção
Programa
Adequação
Programa
Correção
Testes
Adequação
Testes
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
Tabela: Resultados – Aprendizagem Tradicional
Aluno
Completude
Depuração
Completude
Teste
Correção
Programa
Adequação
Programa
Correção
Testes
Adequação
Testes
1
2
3
100%
100%
25%
95%
100%
50%
100%
100%
25%
95%
100%
50%
100%
100%
100%
100%
100%
100%
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
34
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Coberturas e Notas da Execução
mm
40
60
80
100
120
40
60
80
10 de Abril de 2013
Figura: Coberturas e Notas – Médias
10th Experimental Software Engineering Latin America Workshop
35
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Coberturas e Notas da Execução
mm
40
60
80
100
120
40
60
80
10 de Abril de 2013
Figura: Coberturas e Notas – Medianas
10th Experimental Software Engineering Latin America Workshop
36
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Dados da Análise
mm
40
60
80
100
120
40
Satisfação
com a ProgTest
Resuldados – Métricas
Experiência
dos Participantes
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
37
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Experiência dos Participantes
mm
40
60
80
100
120
Tabela: Participantes - Aprendizagem Tradicional
Aluno
Experiência com
Programação
Experiência com
Teste
Dificuldade em
Programar
Dificuldade em
Testar
1
2
3
Especialista
Intermediário
Especialista
Especialista
Novato
Intermediário
Muito Fácil
Muito Fácil
Fácil
Fácil
Muito Fácil
Médio
40
60
80
10 de Abril de 2013
Tabela: Participantes – Aprendizagem com ProgTest
Aluno
Experiência com
Programação
Experiência com
Teste
Dificuldade em
Programar
Dificuldade em
Testar
1
2
3
Especialista
Intermediário
Intermediário
Intermediário
Novato
Intermediário
Muito Fácil
Fácil
Muito Fácil
Fácil
Fácil
Muito Fácil
10th Experimental Software Engineering Latin America Workshop
38
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Experiência vs. Nota
mm
40
60
80
100
120
Correlação de Spearman
40
60
Aluno
Experiência (X )
1
2
3
4
5
6
3
2
3
3
2
2
Rank de Xi
2
5
2
2
5
5
Nota (Y )
9.85%
10.00%
5.83%
10.00%
10.00%
10.00%
Rank de Yi
5
2.5
6
2.5
2.5
2.5
di
di2
-3
2.5
-4
-0.5
2.5
2.5
9
6.25
16
0.25
6.25
6.25
Total
44
Coeficiênte de Correlação (rs ):
P
6 d2
6 × 44
rs = 1 − 3 i = 1 − 3
= −0.257142857
n −n
6 −6
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
39
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Experiência vs. Nota
mm
40
60
80
100
120
Classificação de |rs | segundo Teste de Rugg
Tabela: Teste de Hugg
40
60
Intervalo
Significância
0.0 – 0.20
0.21 – 0.40
0.41 – 0.70
0.71 – 0.90
0.91 – 1.0
Correlações nulas
Correlações fracas
Correlações substanciais
Correlações fortes
Correlações extremamente fortes
|rs | = 0.257142857
80
10 de Abril de 2013
Correlação fraca
10th Experimental Software Engineering Latin America Workshop
40
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Análise dos Resultados
Hipótese Aceita
mm
40
60
80
100
120
Experiência dos participantes teve pouca influência
40
Feedback fornecido pela ProgTest foi determinante
Foi aceita a hipótese:
60 H1 = O feedback fornecido pela ProgTest ajuda na
aprendizagem dos alunos.
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
41
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Conclusões e Trabalhos Futuros
Roteiro
mm
40
60
80
1
Introdução
2
O Ambiente ProgTest
3
Planejamento e Execução do Experimento
4
Análise dos Resultados
5
Conclusões e Trabalhos Futuros
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
42
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Conclusões e Trabalhos Futuros
Conclusões
mm
40
60
80
100
120
A análise mostrou que os resultados com a ProgTest foram
melhores do que com a aprendizagem tradicional
40
Coberturas e notas foram melhores com a ProgTest do que
com a aprendizagem tradicional
A experiência dos participantes com programação pode ter
influenciado o resultado positivo
60
Porém, com base na correlação entre experiência e notas,
concluiu-se que a experiência teve pouca influência nos
resultados
Há indı́cios de que a aprendizagem com a ProgTest
80
proporciona benefı́cios em relação à aprendizagem tradicional
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
43
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
Conclusões e Trabalhos Futuros
Trabalhos Futuros
mm
40
60
80
100
120
Repetir o experimento
40
Maior número de participantes
Participantes com menor experiência em programação
60
Exercı́cios mais desafiadores
Métodos estatı́sticos adicionais para análise dos dados
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
44
Um Estudo Experimental do Ambiente ProgTest no Ensino de Programação
mm
40
60
80
100
120
40
60
80
10 de Abril de 2013
10th Experimental Software Engineering Latin America Workshop
45
Download

Um Estudo Experimental do Ambiente ProgTest no