WebSite

Gerador de Código XML para Fichas de Avaliação no Fenix e
OpenEdx para problemas na plataforma elearning.

Interface Mathematica™


Amaro Rica da Silva
(Departamento de Física, IST-CENTRA)

Os notebooks deste pacote foram criados em Mathematica™ para facilitar a realização de listas de exercícios e testes disponibilizados em cada disciplina dos cursos lecionados no IST através do menu "Fichas de Trabalho" da Área de Docência do Fenix.
Nesta funcionalidade o Fenix oferece a possibilidade de criar fichas de estudo e testes (com ou sem respostas e/ou feedback) que são automaticamente avaliados com cotações previamente determinadas pelo docente, distribuídas a sub-grupos ou à totalidade dos alunos inscritos na cadeira, com duração, prazos e datas de avaliação programados. O resultado da avaliação pode ser imediatamente visível para os alunos e docente após o fim do prazo estipulado, as cotações dos exercícios individuais pode ser corrigida/alterada pelo docente e um log de submissão da prova está disponível bem como um mecanismo de certificação da mesma. O Fenix gera ainda para cada lista distribuída uma pauta em formato excell que pode ser descarregada pelo docente para posterior submissão para a avaliação da cadeira.
Embora o Fenix ofereça a possibilidade de criar online estas fichas, o editor que disponibiliza é muito limitado, não permite a inclusão de imagens, não permite reedição da ficha uma vez criada, usa um conjunto limitado de diretivas latex para a composição de expressões matemáticas e não oferece a possibilidade de criar versões diferentes dos exercícios automaticamente. Oferece contudo a possibilidade de importar arquivos .zip com múltiplos ficheiros .xml contendo um número grande de instâncias dum exercício geradas exteriormente. O pacote aqui apresentado remove as limitações anteriores e permite a geração automática destes arquivos .zip com múltiplas versões .xml dum exercício.
O notebook README_FIRST.nb deste pacote inicializa as definições necessárias e gera a conversão de Notebooks individuais que contém as variáveis necessárias para preencher todos os elementos de uma ficha, incluindo gráficos gerados pelo Mathematica ou importados de imagens exteriores (ficheiros jpeg, png, gif, etc. ), texto de enunciados e respostas com equações no formato bi-dimensional do Mathematica que serão posteriormente traduzidos para LaTeX.
Este notebook controla ainda as variáveis de Metadata dos diferentes tipos de fichas disponíveis (MultChoice, Ckbox,NumIn e Text) e o número de instâncias diferentes duma ficha a incorporar num arquivo .zip que pode ser importado para o Fenix como um exercício. Estas instâncias serão aleatoriamente usadas pelo Fenix ao distribuir pelos alunos as listas/testes que usarem o exercício de forma que todos os alunos vejam os mesmos exercícios mas com valores diferentes.
O pacote inclui ainda Notebooks com exemplos de exercícios para gerar fichas dos tipos aceites pelo Fenix, a saber:
  • MultChoice - Identificadores Lógicos: Resposta Simples
  • Ckbox - Identificadores Lógicos: Resposta Múltipla
  • NumIn - Perguntas Numéricas: Resposta Inteira, Decimal (ou Notação Cientifica) e Texto.
  • Text - Perguntas de Texto: Resposta em caixa de Texto com dimensões ou nº máximo de carateres definidos.
  • MultChoice com 2 Alíneas - Escolha Simples, total ou parcialmente correta nas duas alíneas, com ou sem penalização.
Estes notebooks Exemplo podem ser editados e guardados com nomes diferentes para criar uma nova ficha do respetivo tipo. A definição de variáveis aleatórias com valores em intervalos definidos permite que o notebook seja avaliado sucessivamente com valores diferentes que serão exportados para uma nova versão do exercício num ficheiro .xml que o Fenix aceita. O texto para o enunciado e respostas pode ser introduzido em quadros que geram as necessárias células de inicialização para refletir esta variabilidade.

Pacotes de Notebooks e Exemplos
Versões Comentários
(v. 12/25/2023)
Correção do código XMLOutput[] que dava valores fronteira alterados para fichas de tipo NumIn.
(v. 12/25/2023)
Upgrade com modificações maiores:
  • Formato com várias alíneas de tipos diversos NumIn, Multcoice, Ckbox e Text.
  • Exportação para openEdX suportada.
  • Tabela de enunciados com linhas numeradas para facilitar a edição.
  • Enunciados com trigger " Alínea n:" para identificar alíneas.
  • Tabela para introdução de variáveis com texto identificador.
  • Botões para gerar tabelas de respostas para cada alínea.
  • Ordenamento "Alínea n:", "Resposta n:" consecutivos no texto.
NB: A exportação para openEdX do MOOC passará a estar numa página própria em FichasMOOC
(v. 08/06/2023)
Upgrade para a versão 13.3 do Mathematica. Não usar com versões anteriores do Mathematica.
Nota: A versão 13.3 do Mathematica introduz várias variações aos formatos e funcionalidades dos botões, pelo que foi necessário desativar os botões de exportação para XML do Fenix, até obter uma resposta do suporte da Wolfram. Pode-se contudo obter a mesma funcionalidade executando o comando XMLOutput[] de uma linha de Input do notebook.
(v. 08/05/2023)
Update do pacote para versão 13.2 do Mathematica.
(v. 10/25/2022)
Upgrade para a versão 13.1 do Mathematica.
(v. 07/15/2022)
Inclui botões para conversores no cabeçalho de cada notebook.
(v. 06/15/2022)
Updates e correções. Usar de preferência os novos templates de exercícios.
(v. 02/05/2022)
Novas funcionalidades na exportação para EDX, agora com problemas do tipo NumIn com alíneas. Importante: Fazer Clear ou Unset de variáveis definidas na célula de Inicialização com o Tag "Vars" antes de exportar para EDX. Eliminar também quaisquer outras células de Output com o mesmo Tag "Vars" que possam ter sido geradas em avaliações anteriores.
(v. 11/09/2021)
Nova versão com conversor para openEDX dos cursos MOOC. Inclui ToPython.m um conversor de expressões para python. O README_FIRST.nb contém botões para fazer as conversões em notebooks não avaliados, instruções aí incluídas.
(v. 07/22/2021)
O quadro Metadata agora altera a célula de respostas do notebook alvo nb para ficar de acordo com o tipo de questão que se escolha no popup "Tipo de questão". Importante se se pensa reutilizar um notebook antigo de outro tipo sem o criar a partir do quadro NewNB. Uma função "mkbuttons" cria botões para gerar quadros de enunciados e respostas,e um para copiar quadros antigos para novos. Os novos quadros de enunciados (e respostas) deixaram de ter o preview dinâmico que aparecia logo abaixo à medida que se preenchiam as entradas, deixando assim de ter o inconveniente dese perder o cursor na entrada e ter que clicar outra vez para poder editar. Uma função "mkfig" gera o quadro de importação e dimensionamento de imagem, que convém substituir em notebooks antigos para beneficiar da memorização da imagem usada entre sessões. Os templates de notebooks tipo não devem ser abertos e editados individualmente, são apenas para ser usados pelo quadro NewNB do README_FIRST para criar novos notebooks. Este pacote foi gerado com a versão 12.3.1 do Mathematica
(v. 07/09/2021)
Corrigidos templates de fichas-tipo com quadro de importação de figura que agora memoriza imagem Afig e path para imagem.
(v. 04/13/2021)
Correções de gralhas menores.
(v. 03/12/2021)
Novo README_FIRST com templates para criar novos notebooks de cada tipo.
(v. 02/25/2021)
Pequenas modificações no LEIA.m para corrigir incompatibilidade com notação científica em feedbacks.
(v. 09/24/2020)
Pequena modificação no LEIA.m para corrigir incompatibilidade do Fenix com notação científica em fichas tipo NumIn. Problema com a interpretação do Fenix para a notação científica de reais de módulo < 10, o Mathematica escreve x.yE e o Fenix não entende, tem que se escrever x.yE0 ou só x.y (agora por default para números <1000).
(v. 09/15/2020)
Adicionadas abreviaturas a InitialDefinitions.m.
(v. 07/11/2020)
O LEIA.m foi atualizado para aceitar Matrizes nos enunciados e respostas, bem como toda uma série de letras em forma caligráfica que se podem inserir nos notebooks como combinações scA, ... , scZ ou sca, ... , scz .
(v. 06/24/2020)
Alterações no pacote e notebooks exemplos. Já é legítimo especificar NumberForm e ScientificForm nos quadros.
(v. 06/16/2020)
Correção do LEIA.m da versão anterior* para o output de Perguntas tipo Ckbox com as cotações automáticas do Fenix .
(v. 06/10/2020)*
Novos botões em README_FIRST.nb com Notebooks exemplo para criar Fichas Multichoice para exercícios com 2 Alíneas (com ou sem penalização para escolhas erradas), com valorização separada por alínea. Para obter cotações totais/parciais nas respostas é necessário escolher a opção "Fórmulas de correção: Utilizar cotações indicadas no ficheiro." ao inserir o exercício numa Lista de Trabalho no Fenix ( Editar Lista » Visualizar Ficha » Editar Exercício ). Se quiser usar quadros de resposta de versões anteriores deste pacote deve usar os botões incluídos em README_FIRST.nb para criar novos quadros e copiar quadros antigos para os desta versão *.
(v. 05/21/2020)#
Nova versão do README_FIRST.nb com explicação mais pormenorizada dos procedimentos a usar. Correções em alguns quadros dos notebooks exemplo na versão anterior¤ para os diversos tipos de fichas. Em um dos exemplos a geração de células de inicialização a partir do quadro dava resultados com erros de sintaxe, e tornava-se necessário recriar o quadro ou copiar para um novo.
(v. 05/11/2020)¤
Já é possível escolher o formato Scientific nas respostas numéricas NumIn, aceita ambos formatos Decimal ou Cientifico na forma x.yyyE(+/-)zz. (Por ex. 0.345 ou 3.45E-1)
Novos quadros e botão para copiar dos antigos para os novos, atualizado InitialDefinitions.m. Nos exemplos, comando para apagar cabeçalho dos notebooks. HoldForm já pode ser usado em perguntas/respostas/feedback.
(v. 05/04/2020)
A combinação Esc+ret+Esc no enunciado é convertida em nova linha (equiv a \newline) no xml. InitialDefinitions.m corrige erros nos quadros de enunciado e resposta ao apagar/criar algumas linhas. Usar botões "Criar quadro para enunciado" e "Criar quadro para resposta" para carregar novas instâncias dos quadros. Esta versão dos notebooks Exemplos já introduz um botão para gerar células de inicialização com enunciados e respostas que são forçosamente avaliadas em sequência com os valores dinâmicos dos parâmetros, não havendo assim o problema que as versões anteriores § com quadros introduziram.
(v. 04/27/2020)§
Nota: Nestas versões§ com o enunciado introduzido num quadro, se o quadro não estiver visível no notebook durante a exportação para xml, o update dinâmico das expressões variáveis pode causar problemas de sincronização, com os valores dos parçãmetros nos enunciados a aparecerem fixos mas os das respostas a variar corretamente. Corrigido na versão seguinte.
(v. 04/17/2020)
Funciona em Windows 7 e Mathematica 11.3 e Windows 10. Desenvolvido em Linux OS, deve funcionar sem grandes problemas em Mac OS.


Documentação do Mathematica™
Mathematica FrontEnd (Interface com o Utilizador) (2006)
Mathematica Kernel (Arquitetura de Computação) (2006)
Estas notas foram criadas para uma versão do Mathematica™ de 2006, e algumas funcionalidades podem estar desatualizadas, e não cobrem certamente as capacidades adicionadas desde essa altura até hoje. A sua leitura não é necessária para a utilização deste pacote de conversão para XML.

ScreenShots


README_FIRST.nb

MultChoice_Unica.nb

Ckbox.nb

NumIn.nb

Text.nb

Justifique

MultChoice Única

Ckbox Múltipla

NumIn

Text

Exemplos do 1 º Teste de MO/LMAC+MEBiom da Ana Mourão

Declaração de Honra

Montanha russa e forças

Movimento Circular

Montanha russa

Classificações


Exemplos de Exercícios e Testes no partners.elearning.tecnico.ulisboa.pt




Exemplos de Exercícios e Testes no Fenix/Fichas de Trabalho



© Amaro Rica da Silva, Abril 2020
Statcounter