60
Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa desenvolvimento, evolução e novas perspectivas Danilo Leite Dalmon

Módulos de Aprendizagem Interativa – iMAddalmon/files/SeminarioLInE.pdf · O Título •Linha de Produto de Software –Técnica de Engenharia de Software para desenvolver famílias

  • Upload
    haanh

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

desenvolvimento, evolução e novas perspectivas

Danilo Leite Dalmon

O Título

• Linha de Produto de Software

– Técnica de Engenharia de Software para desenvolver famílias de sistemas similares

• Módulos de Aprendizagem Interativa

– Software educacionais para autoria (professor) e execução (aluno) de atividades interativas

2www.matematica.br LInE - Lab. de Informática na Educação 2

PRÓLOGOContexto do Lab. de Informática na Educação - LInE

3

Informática na Educação

Pesquisa na área

1. Problema educacional

2. Solução computacional

3. Desenvolve

4. Aplica

5. Avalia

6. Refina... (iteração)

4www.matematica.br LInE - Lab. de Informática na Educação 4

Lab. de Informática na Educação

LInE se envolve com dois problemas

• Gerenciamento e Disponibilidade de Recursos

– Moodle

– Repositórios

– Relatórios

• Atividades Interativas

– Módulos de Aprendizagem Interativa (iMA)

– Tutores Inteligentes

5www.matematica.br LInE - Lab. de Informática na Educação 5

Arquitetura Externa iMA

iMA

iTarefa

Moodle

6www.matematica.br LInE - Lab. de Informática na Educação 6

iMA Existentes

7www.matematica.br LInE - Lab. de Informática na Educação 7

Sumário

• Introdução

• Desenvolvimento

• A Linha de Produto de Software para iMA

• Resultados

• Considerações Finais

8www.matematica.br LInE - Lab. de Informática na Educação 8

INTRODUÇÃOSurgimento do tema de pesquisa

9

Interatividade Existente dos iMA

• Correção Automática de Atividades

– retroação (feedback)

10www.matematica.br LInE - Lab. de Informática na Educação 10

Interatividade Existente pelo Mundo

• Tutoria Inteligente

– atuação pró-ativa

– atuação adaptada ao aluno

11

Projeto de Pesquisa

• Adicionar Tutoria Inteligente no iGeom!!

• Que tipo de Tutoria?

• Características do iGeom

– Applet

– Autoria por professores

12www.matematica.br LInE - Lab. de Informática na Educação 12

Example-Tracing Tutors (ETT)

14www.matematica.br LInE - Lab. de Informática na Educação 14

DESENVOLVIMENTOMudança de tema...

15

Ao longo do trabalho...

Percebemos que:

• ETT são independentes de domínio

– Em vez de fazer um ETT apenas para o iGeom, poderia fazer para todos os iMA

16www.matematica.br LInE - Lab. de Informática na Educação 16

Ao longo do trabalho...

Percebemos que:

• iGeom e outros iMA precisavam ser refatorados

– Em vez de refatorar apenas o iGeom, poderia refatorar todos os iMA de uma vez

17www.matematica.br LInE - Lab. de Informática na Educação 17

Projeto de Pesquisa (v.2)

• Criar um software-base do zero que tenha

– as funcionalidades comuns dos iMA

– o modelo para funcionar os ETT

• Como?

18www.matematica.br LInE - Lab. de Informática na Educação 18

O que foi Desenvolvido...

• Linha de Produto de Software

• Arcabouço de Aplicação

• Modelo de Sistema para iMA

• Tutor do tipo ETT Genérico*

19www.matematica.br LInE - Lab. de Informática na Educação 19

A LPS PARA iMAResultados do desenvolvimento

20

Estrutura do Trabalho

iMA

Modelo

Arcabouço

Linha de Produto21www.matematica.br LInE - Lab. de Informática na Educação 21

Linha de Produto de Software

• Técnica da Engenharia de Software

• Reúso

– Processo

– Arquitetura

– Código

22www.matematica.br LInE - Lab. de Informática na Educação 22

Arcabouço de Aplicação

• Parte de código-fonte da LPS

• Um software semi-acabado que fornece

– Arquitetura e código

– Inversão de controle

– Pontos fixos (frozen) e variáveis (hot)

23www.matematica.br LInE - Lab. de Informática na Educação 23

Modelo de Sistema para iMA

• Abstração que descreve o sistema

• Faz compatível e independente de domínio as funcionalidades de:

– Atividades

– Comunicação

– Tutor Inteligente

– Interatividade

24www.matematica.br LInE - Lab. de Informática na Educação 24

Módulo de Aprendizagem Interativa

• Características obrigatórias– Applet

– Protocolo de comunicação com sistemas de gerenciamento

• Características “fortemente” desejadas– Ferramentas de autoria para professores

– Correção automática das atividades

– Interatividade

25www.matematica.br LInE - Lab. de Informática na Educação 25

Demonstração

http://www.matematica.br/igeom/

26www.matematica.br LInE - Lab. de Informática na Educação 26

Módulo de Aprendizagem Interativa

• Características novas

– Fácil manutenção e evolução

– Mesma aparência

– Tutoria inteligente

27www.matematica.br LInE - Lab. de Informática na Educação 27

Modelo de Sistema

Estrutura Domínio

Tutor Atividade

28www.matematica.br LInE - Lab. de Informática na Educação 28

Modelo de Sistema – Atividade

29

Atividade

Estado Inicial

Estado Atual

Estado Esperado

Objetos de Domínio

www.matematica.br LInE - Lab. de Informática na Educação 29

Modelo de Sistema – Domínio

30

Interface Usuário

Regras de Domínio

Ações de Domínio

Objetos de Domínio

Estado Atual

www.matematica.br LInE - Lab. de Informática na Educação 30

Modelo de Sistema – Tutor

31

Observador de Ações

Botão de Ajuda

Controlador do Tutor

Tutor Inteligente

Ações de Tutoria

www.matematica.br LInE - Lab. de Informática na Educação 31

Arcabouço de Aplicação

32www.matematica.br LInE - Lab. de Informática na Educação 32

Arcabouço de Aplicação

33www.matematica.br LInE - Lab. de Informática na Educação 33

Arcabouço de Aplicação

34www.matematica.br LInE - Lab. de Informática na Educação 34

Arcabouço de Aplicação

35www.matematica.br LInE - Lab. de Informática na Educação 35

Arcabouço de Aplicação

36www.matematica.br LInE - Lab. de Informática na Educação 36

Generalização do Tutor

Tutor dividido em duas partes:

• Autoria

– Professor define comportamento

• Tutoria

– Executa comportamento definido para ajudar o aluno

37www.matematica.br LInE - Lab. de Informática na Educação 37

Generalização do Tutor

Dois tipos de funcionalidade

• Sobre atividades

– Define comportamento do tutor

• Sobre as ações de domínio

– Percebe ação realizada e executa ação de tutoria

38www.matematica.br LInE - Lab. de Informática na Educação 38

Generalização do Tutor – Plug-ins

Dois tipos de plug-in

• Funcionalidades sobre atividades

– SystemModule

• Funcionalidades sobre ações de domínio

– AssignmentModule

39www.matematica.br LInE - Lab. de Informática na Educação 39

Arcabouço de Aplicação

40www.matematica.br LInE - Lab. de Informática na Educação 40

Plug-ins de Sistema

• Funcionalidades sobre atividades

– Autoria de tutor

– Exportar para imagem

– Exportar para Objeto de Aprendizagem

– Anotações

– Gerar código em C, Java (específico para iVProg)

41www.matematica.br LInE - Lab. de Informática na Educação 41

Plug-ins de Atividade

• Funcionalidades sobre ações de domínio

– Undo/Redo

– Histórico de Ações

– Lista de Objetos

– Script

– Execução do Tutor

– Animações

– Camadas de Objetos

42www.matematica.br LInE - Lab. de Informática na Educação 42

Arcabouço de Aplicação – Hoje

• Hoje tem cerca de 5000 LOC

• Serve de base para 7 projetos de desenvolvimento

• Faltam

– Versão Applet

– Configuração

– Detalhes GUI

43www.matematica.br LInE - Lab. de Informática na Educação 43

Características

• Op. de Domínio

• Gerenciamento de Atividades

• Comunicação

• Configuração

• Funcionalidades sobre atividades

• Funcionalidades sobre op. de domínio

44www.matematica.br LInE - Lab. de Informática na Educação 44

Características

• Op. de Domínio -> domínio

• Gerenciamento de Atividades -> atividades

• Comunicação -> estrutura

• Configuração -> estrutura

• Funcionalidades sobre atividades -> tutor

• Funcionalidades sobre op. de domínio -> tutor

45www.matematica.br LInE - Lab. de Informática na Educação 45

Características

46www.matematica.br LInE - Lab. de Informática na Educação 46

Linha de Produto de Software

• Arcabouço

– Arquitetura e código

• Exemplos

– Arquitetura e código

• Manuais

– Processo

47www.matematica.br LInE - Lab. de Informática na Educação 47

Exemplo de iMA

48http://ccsl.ime.usp.br/redmine/projects/ima/files

Manuais

• Como usar o arcabouço?

– Desenvolvimento de iMA

• Como estender o arcabouço?

– Desenvolvimento de plug-ins

• Como o arcabouço funciona?

– Descrição do modelo e da estrutura interna

49www.matematica.br LInE - Lab. de Informática na Educação 49

RESULTADOSO que foi feito com isso?

50

LPS usada para...

• Desenvolver novos iMA

• Reescrever ou reestruturar iMA existentes

• Expandir arcabouço

51www.matematica.br LInE - Lab. de Informática na Educação 51

Novos iMA

• Tangran

• Genética

52www.matematica.br LInE - Lab. de Informática na Educação 52

iMA Existentes

• iGeom

• iGraf

• iComb

• iVProg

53www.matematica.br LInE - Lab. de Informática na Educação 53

Expansão do Arcabouço

• Example Tracing Tutor

• Tutor de Orientação a Objetos

54www.matematica.br LInE - Lab. de Informática na Educação 54

Vantagens

• Programador não se preocupa com arquitetura, organização do código, sequência de tarefas, funcionalidades estritamente computacionais

• Se preocupa apenas com a parte educacional, com a usabilidade, com o usuário-aprendiz, com a aplicação para alunos e professores

55www.matematica.br LInE - Lab. de Informática na Educação 55

CONSIDERAÇÕES FINAISPara fechar

O que aprendemos

• Se preocupar com manutenção de software é importante

• Reúso de código, arquitetura e processo ajudam nisso

• Desenvolver modelos e arcabouços dá trabalho mas no longo prazo compensa

57www.matematica.br LInE - Lab. de Informática na Educação 57

O que produzimos

• Reunimos informações sobre todos os iMA e sobre o processo de desenvolvimento em um lugar só

• Desenvolvemos a Linha de Produto, e seus elementos para reúso de código, arquitetura e processo

• Começamos diversos projetos usando a LPS para desenvolver software educacionais, todos código-aberto

58www.matematica.br LInE - Lab. de Informática na Educação 58

Nossa mensagem

• Comece com um problema

• Trabalhe em grupo

• Trabalhe iterativamente

• Não tenha dó de código ou de texto

• Se preocupe com o futuro

59www.matematica.br LInE - Lab. de Informática na Educação 59

OBRIGADO PELA ATENÇÃO!Perguntas?

60

AgradecimentosBolsa Fapesp 2010/06805-2, apoio parcial de Fapesp 2011/10926-2 e CNPq 550449/2011-6