• Nenhum resultado encontrado

O desenvolvimento da ferramenta buscou atender aos requisitos descritos nessa seção, que foram definidos em função das características das ferramentas semelhantes. Cada requisito identificado possui um código associado e é apresentado no formato REQ #X, onde X é o código do requisito.

Além disso, os requisitos foram escritos dando destaque para alguns substantivos que poderiam se tornar entidades do sistema na etapa de análise e projeto. Esses substantivos foram escritos com a letra inicial maiúscula:

 REQ #01: A ferramenta deve ser composta de dois módulos: um para o Professor, e outro para o Aluno;

 REQ #02: O módulo do Professor deve permitir o gerenciamento de Turmas, podendo associar-lhes Objetivos de Aprendizagem, Alunos e outros Professores;

 REQ #03: O módulo do Professor deve permitir o gerenciamento de Exercícios, associando-os com uma Turma, Objetivos de Aprendizagem e uma ou mais Questões;  REQ #04: O módulo do Professor deve permitir o gerenciamento de Questões,

podendo cadastrar novas questões, editá-las, e reutilizá-las em vários Exercícios;  REQ #05: O módulo do Professor deve permitir o gerenciamento de Objetivos de

Aprendizagem, para que possa associá-los a Turmas, Exercícios e Questões;

 REQ #06: O módulo do Professor deve permitir a correção dos Exercícios dos Alunos, podendo o Professor definir se o Aluno acertou uma determinada Questão e qual a pontuação que o Aluno deve receber para aquela Questão.

 REQ #07: O módulo do Professor deve permitir a visualização de relatórios em formato de gráficos, para que o Professor possa acompanhar o desempenho dos Alunos e identificar possíveis necessidades de suporte adicional ao Aluno;

 REQ #08: As Questões possuem um Tipo. Os tipos suportados pela ferramenta são: o Tipo #01: Preenchimento de frases com palavras corretas;

o Tipo #02: Julgamento de frases, indicando “Verdadeiro” ou “Falso”, podendo haver necessidade de justificar a resposta;

o Tipo #03: Questão aberta, de livre resposta escrita; o Tipo #04: Explicação de características de programas;

o Tipo #05: Questão de múltipla escolha, podendo ter 3, 4 ou 5 alternativas; o Tipo #06: Questão problema / solução com implementação e submissão do

código-fonte.

 REQ #09: A ferramenta deve permitir que o Professor associe Questões a Exercícios, devendo indicar, no momento de cada associação, as seguintes informações:

o Nível de dificuldade: fácil, médio ou difícil;

o Objetivo de aprendizagem: indicando a qual objetivo de aprendizagem aquela questão está associada;

o Fornece feedback: indicando se será possível fornecer feedback escrito ao aluno. O valor padrão deverá ser “sim”;

o Possibilita nova submissão: indicando se é permitido ao aluno submeter o código-fonte duas vezes;

o Peso da questão (percentual): indicando qual valor percentual aquela questão deve ter, em função do valor do Exercício como um todo.

 REQ #10: O sistema deve trabalhar com correção automática e semiautomática de Exercícios. As correções automáticas devem ser realizadas imediatamente após a submissão das questões para correção, para que o feedback seja imediato.

 REQ #11: Para o Professor, o sistema deve fornecer os seguintes Relatórios: o Desempenho de aluno por exercício;

o Desempenho de turma por exercício; o Desempenho de aluno por tipo de questão; o Desempenho de turma por tipo de questão;

o Desempenho de aluno por objetivo de aprendizagem; o Desempenho de turma por objetivo de aprendizagem.

 REQ #12: Para o Aluno, o sistema deve fornecer os seguintes Relatórios: o Desempenho do aluno por exercício;

o Desempenho do aluno por objetivo de aprendizagem;

o Relatório contendo sua nota e as de seus colegas, em casos de questões de submissão de código;

o Correção do exercício, contendo os comentários do professor;

 REQ #13: O sistema deve trazer os objetivos de aprendizagem contidos em (ACM, 2013), na sua seção de Conceitos Fundamentais de Programação, previamente cadastrados:

o “Analisar e explicar o comportamento de programas simples que envolvem

os fundamentos da programação, tais como: variáveis, expressões, atribuições, I/O, estruturas de controle, funções e passagem de parâmetros”;

o “Identificar e descrever os usos de tipos de dados primitivos”; o “Escrever programas que usam tipos de dados primitivos”;

o “Modificar e expandir programas curtos que utilizam estruturas condicionais

e de controle iterativas e funções”;

o “Projetar, implementar, testar e depurar um programa que usa cada uma das

seguintes construções fundamentais de programação: computação básica, I/O simples, estruturas condicionais e iterativas, definição de funções e passagem de parâmetros”;

o “Escrever um programa que usa I/O para fornecer persistência através de

múltiplas execuções”;

o “Escolher construções condicionais e de iteração apropriadas para uma

tarefa de programação dada”.

 REQ #14: O módulo do Aluno deve permitir que o aluno responda os exercícios propostos pelo Professor.

Considerando os requisitos do iProgram listados acima, o Quadro 4.1 abaixo demonstra um comparativo do sistema com outras ferramentas importantes descritas no Capítulo 3, em função de suas características.

Quadro 4.1: Comparativo de sistemas em função de suas características Nome Tipo de Questões Banco de Questões Gráficos Objetivos de Aprendizagem CourseMarker Submissão de

código Não Não Não

BOSS Submissão de

código Não Não Não

eGrader Submissão de

código Não Sim Não

iProgram Seis tipos Sim Sim Sim

Fonte: Elaborado pelo autor

Pela análise do Quadro 4.1, é possível perceber que o iProgram se diferencia de ferramentas em função de características como: fornecer seis tipos diferentes de questões; permitir que o professor possa utilizar um banco de questões para elaborar exercícios; disponibilizar estatísticas em formato de gráficos tanto para alunos quanto para professores; e, associar questões com objetivos de aprendizagem, para mapeamento das dificuldades apresentadas pelos alunos.

Documentos relacionados