MCTest
Manual em construção - versão 5.2

Francisco de Assis Zampirolli e colaboradores

Universidade Federal do ABC

Última atualização: dez/2022

1. Visão geral e objetivos        1

2. Navegação geral        2

3. Criar entidades        3

3.1. Instituição        3

3.2. Cursos        5

3.3. Disciplinas        7

3.4. Turmas        9

3.5. Tópicos        14

3.6. Questões        16

3.7. Exames        20

Tela de Exame - Parte I        21

Tela de Exame - Parte II        23

Tela de Exame - Parte III        24

Tela de Exame - Parte IV        25

4. Corrigir Exames        27

4.1. Questões de múltipla-escolha: apenas quadro de respostas        27

4.2. Questões de múltipla-escolha: quadro de respostas + descrições        27

4.3. Questões dissertativas        28

4.4. Questões dissertativas com Exercícios Programa (MCTest+Moodle+VPL)        28

4.5. Segurança durante um Exame        32

Solicitar ao NTI a instalação do Safe Exam Browser (SEB)        32

Solicitar aos alunos a configuração do Safe Exam Browser        32

Configuração do SEB em atividade VPL no Moodle        33

Restringir IPs de acesso        33

1. Visão geral e objetivos

Este documento apresenta (o início de um) manual sobre o uso do MCTest. Qualquer pessoa pode editar este documento (enquanto for construtivo).

O MCTest é um sistema em desenvolvimento, gratuito, de código aberto e tem como objetivo fornecer e gerenciar um banco de dados de um sistema de ensino com foco em avaliações de alunos, principalmente com questões a serem utilizadas em atividades de ensino, com geração e correção automática de Atividades e Exames.

A principal contribuição do MCTest ao estado da arte em Tecnologia da Informação e Comunicação (TIC) é fornecer métodos para a construção e correção de questões parametrizadas (de múltipla-escolha e dissertativas) utilizando diferentes bibliotecas da linguagem de programação Python, para calcular parâmetros na descrição e nas alternativas (se for de múltipla-escolha) de forma automática (para detalhes, ver publicações disponíveis em vision.ufabc.edu.br). Questões dissertativas também podem incluir questões envolvendo Exercício de Programação ou outros tipos de respostas.

Existe um ambiente de produção do MCTest disponível em mctest.ufabc.edu.br, utilizado por alguns professores e setores na Universidade Federal do ABC (ex. a Escola Preparatório usa no processo seletivo anual de mais de 3000 candidatos e também para 3 simulados durante o ano para uns 500 alunos). Existe também um ambiente para testes e divulgações científicas em inglês, disponível em nubisys.ufabc.edu.br:8000 

Outras instituições podem baixar o MCTest do GitHub, customizar e instalar livremente em seus próprios servidores.

Muitas melhorias e trabalhos futuros (ver link) podem ser realizados no MCTest, sempre seguindo a filosofia de código aberto, como definido no seu Copyright © 2018-2023.

Divulguem esse trabalho em suas listas! Quanto mais pessoas usarem, melhor será esse sistema.

2. Navegação geral

A navegação geral do sistema tem o objetivo de criar e de manter as entidades principais: Instituição, Curso, Disciplina, Turma, Exame, Tópico e Questão. Por enquanto, o sistema aceita apenas o usuário Professor. Um professor pode ser também um coordenador de disciplina, com permissão de incluir Professor(es) e Tópico(s) à disciplina. Existe também o usuário Administrador, que mantém a página do Django e deve definir um coordenador para cada disciplina. Cada tipo de usuário consegue acessar um conjunto específico de entidades, ver Figura 1.

  1. Navegação sem estar logado.

  1. Navegação para um usuário cadastrado sem perfil.

  1. Navegação para um usuário com perfil de professor.

  1. Navegação para um usuário com perfil de Coordenador, que é a mesma do Professor, mas deverá ser associado como Coordenador de alguma Disciplina pelo administrador.

  1. Navegação para um usuário com perfil de administrador.

Figura 1. Menu apresentando perfis diferentes de usuários. Por enquanto, qualquer usuário que se cadastrar no MCTest fica sem perfil (e sem qualquer permissão). O professor coordenador de disciplina pode incluir (cadastrado automaticamente no sistema) vários professores (com perfil de professor) em uma disciplina utilizando um arquivo no formato CSV.

Melhorias

  1. Cadastro no sistema somente após a validação do email institucional.
  2. Implementar funcionalidades para vincular um conjunto de professores/coordenadores a uma Instituição/Curso (o BD já suporta esses relacionamentos).

FAQ

  1. Digite a sua dúvida aqui.

3. Criar entidades

O MCTest cria e gerencia várias entidades em um BD MySQL (ver Diagramas BD1 e BD2). As principais entidades de negócio (de um Sistema Educacional com foco em avaliações) estão descritas a seguir.

3.1. Instituição

Somente o usuário com perfil de Administrador pode criar uma entidade Instituto. Além disso, somente professores com e-mail institucional podem estar associados a um Instituto (ex. e-mail contento @ufabc.edu.br, definido pela URL, ver Figura 2).

Figura 2. Tela para Administrador atualizar, apagar ou criar um Instituto.

A Figura 3 mostra a tela para atualizar um Instituto. Esta tela é semelhante à de cadastrar um novo Instituto. Os três últimos campos são contadores de exames gerados e corrigidos pelo sistema desde a criação do Instituto. O Administrador pode zerar esses contatores a qualquer momento.

Figura 3. Tela para Administrador atualizar o Instituto com nome "Universidade Federal do ABC".

FAQ

  1. Digite a sua dúvida aqui.

3.2. Cursos

Somente o usuário com perfil de Administrador pode criar uma entidade Curso, ver Figura 4. Um curso pode pertencer a um ou vários Institutos. No caso da UFABC, um Instituto pode ser o Centro de Matemática, Computação e Cognição, contendo vários Cursos. Um curso pode pertencer a mais de um instituto. Existem também cursos intercentros, como o Bacharelado em Ciência e Tecnologia, que pode pertencer ao Instituto PROGRAD (pró-reitoria de graduação) e também aos três centros existentes na UFABC. A Escola Preparatória, pode ser um curso do "Instituto" PROEC (pró-reitoria de extensão e cultura). O curso de idiomas pode pertencer ao Instituto NETEL (Núcleo Educacional de Tecnologias e Línguas), etc.

Figura 4. Tela para Administrador atualizar, apagar ou criar um Curso.

A Figura 5 mostra a tela para atualizar um curso. Esta tela é semelhante à tela de cadastrar um novo curso. Observe que é possível escolher mais de um Instituto para o curso chamado "Bacharelado em Ciência da Computação".

Figura 5. Tela para Administrador atualizar um Curso.

FAQ

  1. Digite a sua dúvida aqui.

3.3. Disciplinas

Somente o usuário com perfil de Administrador pode criar a entidade Disciplina, ver Figura 6.

Figura 6. Tela para Administrador criar uma Disciplina. Porém, o Coordenador pode atualizar ou apagar a disciplina a qual coordena.

A Figura 7 mostra a primeira parte da tela para atualizar uma disciplina. Esta primeira parte é semelhante à tela de cadastrar uma nova disciplina. Observe que é possível escolher mais de um Curso para a disciplina chamada "Processamento da Informação". Além disso, é possível escolher professores e coordenadores para esta disciplina.

Figura 7. (parte 1) Tela para o Coordenador poder atualizar a disciplina a qual coordena.

Se uma disciplina tiver muitas turmas, foram implementados funcionalidades para o coordenador cadastrar todos os professores e alunos de várias turmas através da importação de arquivos no formato CSV, ver Figura 8. ATENÇÃO, o botão Upload-Turma irá remover TODOS os alunos de TODAS as turmas desta disciplina, atualizando com os novos dados do arquivo CSV!

Figura 8. (parte 2) Tela para o Coordenador poder atualizar a disciplina a qual coordena, que pode ser através da importação de dois arquivos no formato CSV.

FAQ

  1. Digite a sua dúvida aqui.

3.4. Turmas

Somente o usuário com perfil de Professor cadastrado em uma disciplina pode criar, atualizar ou apagar Turmas da Disciplina, ver Figura 9.

Figura 9. Tela para um professor de uma disciplina poder criar, atualizar ou apagar uma Turma.

O Professor pode criar uma Turma através da tela apresentada na Figura 10. Para isso, precisa escolher uma disciplina, definir o código da sala da disciplina, além de definir se é de teoria ou prática.

Figura 10. Tela para um professor de uma disciplina poder criar uma nova Turma. O nome da turma NÃO PODE TER ACENTOS E CARACTER ESPECIAL, pois fará parte do cabeçalho do Exame.

Após o Professor criar uma Turma, é possível atualizar inserindo alunos através da importação de um arquivo no formato CSV, ver Figura 11.

Figura 11. Tela para um professor de uma disciplina poder atualizar uma Turma, inserindo estudantes com a importação de um arquivo no formato CSV.

Na Figura 11, o Professor pode clicar no código da turma (primeira coluna) e vai aparecer a tela apresentada na Figura 12, onde o professor pode atualizar ou apagar estudantes. Veja na Figura 13 a tela para atualizar os dados de um estudante.

Figura 12. Tela para um professor de uma disciplina poder atualizar uma Turma, atualizando ou apagando estudantes da Turma. Além disso, é possível incluir um novo estudante na turma.

Figura 13. Tela para um professor de uma disciplina poder atualizar os dados de um estudante da Turma.

Melhorias

FAQ

  1. Digite a sua dúvida aqui.

3.5. Tópicos

Somente o usuário com perfil de Coordenador pode criar, atualizar ou apagar um Tópico de Disciplina(s), ver Figura 14.

Figura 14. Tela para o Coordenador criar, atualizar ou apagar um tópico de uma disciplina.

A Figura 15 mostra a tela para atualizar um tópico. Esta tela é semelhante à tela de cadastrar um novo Tópico. Observe que é possível escolher mais de uma disciplina para um Tópico.

Figura 15. Tela para o Coordenador atualizar um tópico de uma disciplina.

FAQ

  1. Digite a sua dúvida aqui.

3.6. Questões

Na tela de listar questões, é possível ver todas as questões das disciplinas que um professor está cadastrado, ver Figura 16. Além disso, é possível atualizar apagar ou criar questões.

Figura 16. Tela para um professor ver todas as questões existentes de turmas que está cadastrado. É possível também criar uma nova questão através de uma nova tela, ou importar uma ou várias questões utilizando um formato TXT próprio (ver exemplo).

Na tela da Figura 17 é possível criar uma nova questão. Uma questão pode pertencer a apenas um tópico. Após criada, a questão pode ser atualizada, para inserir as alternativas, se for uma questão de múltipla-escolha, ver Figura 18.

Figura 17. Tela para um professor criar uma nova questão.

Figura 18. Tela para um professor poder atualizar uma questão já criada. Esta questão é do tipo dissertativa, mas pode mudar para múltipla-escolha e inserir as alternativas, com feedback opcional, e finalmente clicar no botão Salvar. O botão Compile-Colab será apresentado na Seção 4.4.

As questões paramétricas estão descritas em artigos citados em vision.ufabc.edu.br.

FAQ

  1. Digite a sua dúvida aqui.

3.7. Exames

Para criar um novo exame, na tela da Figura 19, clique no botão Criar um novo Exame. Essa tela aparece ao clicar em Exame, Figura 1.

Figura 19. Tela dos meus Exames.

Na tela para criar um novo Exame, ver Figura 20, escolher uma turma, definir um nome para o Exame e clique no botão Salvar. ATENÇÃO: um exame não pode existir sem estar associado a uma turma. Antes de apagar uma turma, apague todos os exames associados a essa turma.

Figura 20. Tela para criar um novo Exame.

Na tela de atualizar Exame, preencher os campos COM MUITA ATENÇÃO (esta parte é a mais sensível do sistema e precisa ainda criar várias mensagens de erro para os campos preenchidos incorretamente).

Tela de Exame - Parte I

Antes de clicar no botão Criar-PDF, é necessário clicar no botão Criar-Variações, que irá armazenar no BD as variações do Exame, conforme questões selecionadas e outros atributos definidos na Figura 22. Isso não é necessário se for gerar apenas exames com quadros de respostas, detalhado a seguir, na Parte III.

No botão Criar-PDF da Figura 21, será criado um arquivo PDF por turma. Se tiver mais de uma turma selecionada, o navegador retorna um arquivo ZIP contendo todos os arquivos PDFs. Para a impressão do PDF: (1) Escolher folha A4 com toner bom. (2) Para exames de múltipla-escolha, se tiver falhas nos círculos o corretor poderá não funcionar corretamente - mudar de impressora e imprimir novamente. (3) Antes de aplicar o exame, recomenda-se fortemente imprimir uma folha, preencher, digitalizar e seguir os passos ao lado central da página.

Figura 21. Tela de Exame - Parte I, ver explicações no texto dos cinco botões na cor azul. Esta figura apresenta também o campo Nome (NÃO PODE TER ACENTOS E CARACTER ESPECIAL, pois será o nome de um arquivo no servidor Ubuntu), com o nome da avaliação, além da opção de escolher turma(s).

ATENÇÃO: Cada vez que clicar em Criar-Variações, exames diferentes serão gerados e armazenados no BD, sorteando questões e respostas! Depois de imprimir o PDF com o exame, SALVAR O ARQUIVO NO COMPUTADOR COM SEGURANÇA e NÃO MUDAR MAIS os atributos da página de Exame (exceto em alterar as turmas e gerar novos PDFs com o botão Criar-PDF); Caso contrário, a correção automática não será possível nos exames digitalizados em Upload-PDF.

No botão Upload-PDF, na página de Exame: (1) antes de digitalizar os exames realizados pelos estudantes, verificar se todos os círculos foram preenchidos corretamente. Se passar branquinho e apagar parte do contorno do círculo, o corretor poderá não funcionar. (2) Digitalizar com resolução de 150 dpi (se falhar na decodificação do qrcode, usar 200 dpi), EM NÍVEIS DE CINZA, somente a página de frente (para múltipla-escolha) e um PDF por turma. (3) Os 4 discos pretos não podem estar com falhas. (4) Se foi escolhido apenas Respostas nesta tela de Exame, a primeira página do PDF deverá conter o gabarito e serão desconsideradas todas as questões marcadas na Figura 23. (5) Se nesta tela de Exame foi escolhida a opção de Retorno SIM, ao cadastrar os alunos da turma, terá que incluir também o e-mail do aluno. Se isso for feito, poderá seguir os passos do lado direito da página Enviar-Retornos-Estudantes, para cada aluno receber a correção do seu exame por email.

No botão Enviar-Retornos-Estudantes Questões Dissertativas, na página do Exame, se foram utilizados exames com questões dissertativas e no formato NÃO ecológico, então foi gerado uma questão por folha, certo? Se quiser enviar as correções feitas manualmente nos PDFs para cada estudante, então será necessário seguir alguns passos: (1) no passo da coluna anterior (botão Upload-PDF), ao fazer upload de todos os exames digitalizados, foi gerado um arquivo zip com uma pasta para cada questão (ex. Download.zip). Dentro desta pasta foi gerado um arquivo PDF para cada estudante no formato _e1_c2_q3_p001_5.pdf, onde 1 é o ID do exame, 2 é o ID da turma, 3 é o ID da questão, 001 é a página e 5 é o ID do estudante. O professor pode corrigir fazendo anotações no próprio PDF OU pode também digitalizar com anotações feitas à caneta. (2) alterar manualmente os nomes dos arquivos de cada questão da forma _A;e1,e2,...;_e1_c2_q3_p001_5.pdf, onde A é um conceito ou nota e ei são números de códigos de erros (opcional); na pasta da questão, pode ter um arquivo _msg.txt (um para cada questão), com uma mensagem a ser enviada para cada estudante. (3) compactar a pasta de cada questão (ex. _e1_q3.zip) e fazer upload no botão Enviar-Retornos-Estudantes. Será enviado para cada estudante o PDF com as correções e também irá retornar um arquivo CSV com os conceitos de cada estudante.

Tela de Exame - Parte II

A Figura 22 mostra a parte de escolher turmas associadas ao exame.

Figura 22. Tela de Exame - Parte II. O professor pode escolher as turmas que deseja aplicar na avaliação, mascando a primeira coluna. As turmas marcadas serão sempre as primeiras da lista de turmas, após atualizar a página.

Tela de Exame - Parte III

Existe uma falha no navegador Chrome em alterar as questões marcadas, ver Figura 23. Isso ocorre com o botão voltar do navegador Chrome. Se não clicar no botão Salvar (que salva as alterações no BD), no final da página (ver Figura 23), não tem problema algum. Isso não ocorre nos navegadores Firefox e Safari.

Figura 23. Tela de Exame - Parte II. O professor pode escolher as questões que deseja aplicar na avaliação, mascando a primeira coluna. As questões marcadas serão sempre as primeiras da lista de questões.

Tela de Exame - Parte IV

Na Figura 24 é possível ver vários campos de configurações de um Exame. Cada questão tem uma dificuldade variando de 1 até 5. O professor deve escolher quantas questões de múltipla-escolha (QM, na Figura 23) deve aparecer em cada exame. Primeiro serão exibidas as questões de dificuldade 1, depois 2, e assim por diante. Todas as questões de múltipla-escolha de um exame devem ter o mesmo número de alternativas. É possível também criar exames contendo questões dissertativas (QT), seguindo a ordem da dificuldade de cada questão. Um erro comum é definir na Figura 24 quantidades de questões inferiores às selecionadas na Figura 22. Outro erro muito comum é o campo Respostas/Questões/Ambos ser incompatível aos demais atributos do Exame:

        Respostas - mostra apenas o quadro de respostas, sem as questões. Esse recurso é útil quando o professor deseja aplicar apenas questões de múltipla-escolha, mas vai entregar os enunciados das questões em outro documento (não gerado pelo MCTest). Neste caso, não é possível ter variações de exame;

        Questões - geralmente é para avaliações com questões dissertativas (QT);

        Ambos - nesse caso, o exame vai ter o quadro de respostas e as questões de múltipla-escolha (QM), podendo incluir também questões dissertativas (QT).

Figura 24. Tela de Exame - Parte III

Na Figura 24 também é possível ver à direita o estilo do(s) bloco(s) de respostas, ou quadro(s) de respostas (onde o aluno deve marcar as alternativas, que aparece na primeira folha da avaliação. Veja nesse link vários estilos de avaliações. Se Ecológico=NÃO, cada questão dissertativa será desenhada um uma única folha em frente e verso.

MUITA ATENÇÃO AGORA!  

  1. Se na tela de Exame foi escolhido a opção de Retorno=SIM, AO PRESSIONAR O BOTÃO Criar-PDF, SERÁ ENVIADO UM E-MAIL PARA CADA ALUNO COM O SEU EXAME EM UM ARQUIVO PDF ANEXO.
  2. O Exame só existe se estiver associado a uma Turma. Assim,
  1. Antes de apagar as Turmas, deixe todos os Exames associado a uma única turma, por exemplo, fz.bcc.test. Só depois poderá apagar as outras turmas;
  2. Se deixar um Exame sem uma Turma marcada na Figura 21 e clicar em Salvar, vai dar erro e será possível corrigir somente se o Admin alterar diretamente no BD.

FAQ

  1. Digite a sua dúvida aqui.

4. Corrigir Exames

4.1. Questões de múltipla-escolha: apenas quadro de respostas

FAQ

  1. Digite a sua dúvida aqui.

4.2. Questões de múltipla-escolha: quadro de respostas + descrições

  1. Com a digitalização do quadro de respostas (somente frente da primeira folha do exame)
  2. Com exames enviados por email aos alunos
  1. A parte interessante deste recurso não é apenas sortear questões, respostas e alguns valores aleatórios, como ocorrem nas ferramentas online disponíveis, ou seja
  2. ***A resposta correta também é calculada de forma automática***
  3. Por exemplo, para calcular a integral abaixo:

coef1 = np.random.randint(3,6) # sortear um valor entre 3 e 5

coef2 = np.random.randint(3,6)

coef3 = np.random.randint(3,6)

eq = coef3*x**2 + coef2*x + coef1 # equação

a0 = latex(Integral(eq, x))   # mostrar a equação na descrição

a1 = latex(integrate(eq, x)) # calcular a resposta correta.

...

  1. Veja um modelo de atividade a ser enviada para uma turma de cinco alunos (um email para cada aluno será enviado automaticamente com a sua atividade).
  2. O aluno pode responder a sua atividade preenchendo um formulário como este: ver link
  3. O professor pode usar uma planilha como esta para a correção automática: ver link 

FAQ

  1. Digite a sua dúvida aqui.

4.3. Questões dissertativas

FAQ

  1. Digite a sua dúvida aqui.

4.4. Questões dissertativas com Exercícios Programa (MCTest+Moodle+VPL)

A adaptação do VPL no Moodle foi realizada pelo prof. Paulo Pisani e o monitor Heitor Rodrigues Savegnago.

O processo de correção individualizada com MCTest+Moodle+VPL deve seguir esses passos:

1) Montar as questões no MCTest. As questões devem ser agrupadas por tópico, dificuldade (de 1 até 5) e grupo (uma única questão por grupo é enviada ao aluno).

Quanto mais questões melhor. O MCTest sorteia questões para um Exame a ser enviado aos estudantes;

2) No Exame, é possível escolher o número de variações. Por exemplo, para uma turma de 30 alunos, podemos definir quantas variações quisermos: 1 (Exame igual para todos os alunos), 5 (cada aluno vai receber uma das 5 variações para todas as turmas, seguindo uma distribuição hash, considerando Nome e Sobrenome do aluno; Se tivermos 10 turmas e se variações > max(numAlunosTurmas), o MCTest envia por email ao professor o arquivo "*_students_variations.csv", que deverá ser renomeado para "students_variations.csv" e incluído em "arquivos de execução", na atividade VPL do Moodle. Isso foi necessário para garantir que cada aluno de uma turma receba um Exame ÚNICO.

3) Para atividade online: enviar um PDF distinto com as questões sorteadas para cada estudante das turmas que vão adotar o processo unificado de correção automatizada. Os estudantes vão receber um email de webmctest@ufabc.edu.br. Para isso, basta marcar Retorno: SIM, salvar (como botão Salvar) e clicar no botão Criar-PDF, na tela de Exame. Não esquecer de criar e validar as variações antes, com o botão Criar-Variações.

Também são gerados PDFs, um para cada turma, que poderão ser impressos, para Exame em papel.

MUITO IMPORTANTE: antes de enviar o PDF ao estudante, o professor recebe por email os gabaritos individualmente no arquivo "*_linker.json" ao escolher a opção Json e clicar no botão Criar-Variações na Figura 21. O professor deve renomear esse arquivo para "linker.json" e atualizar na atividade VPL específica no moodle, em "arquivos de execução", para ter a correção automática; Esses dois arquivos ("students_variations.csv" e "linker.json") também precisam ser marcados em "Arquivos a serem mantidos durante a execução".

4) Para usar a correção automática no Moodle+VPL, foi necessário fazer uma adaptação do plugin VPL, que está disponível no GitHub, nesse link (usar a última versão): https://github.com/fzampirolli/mctest/tree/master/VPL_modification 

5) Após isso, a atividade no Moodle pode ser liberada para o estudante submeter os códigos dos exercícios.

************************************************************************************

MUITO IMPORTANTE, cada vez que gerar as variações das Listas de Exercícios ou dos Exames, deve ser gerado um novo arquivo "linker.json" DIFERENTE, que deverá ser atualizado na atividade correspondente no Moodle.  

************************************************************************************

Detalhes de implementação para a integração MCTest+Moodle+VPL

O VPL considera cada linha como uma entrada de dados, com um input(). Por exemplo, "5003.9\n10\n", tem duas entradas. Para uma questão de parcelas sem juros, podemos ter duas entradas e uma saída no seguinte trecho de código em Python para ser testado em uma atividade VPL no Moodle:

valor = float(input())

parcelas = float(input())

print('%.2f' % (valor/parcelas))

O MCTest pode gerar vários casos de teste. Por exemplo, a seguir tem dois casos de teste:

moodle_cases = {"input": ["5009.4\n10\n", "5003.9\n10\n"], "output": ["500.94", "500.39"]}

Na descrição da questão deve existir esse trecho com comment. Isso indica ao gerador MCTest para incluir os casos de teste no arquivo "linker.json", a ser importado no Moodle.

Veja a seguir um exemplo completo de código para essa questão (em verde são variáveis e instruções em python, em vermelho são as duas sintaxes do MCTest [[code: … ]]  e [[def: …]]):

Escreva um programa que auxilia uma loja na hora de fazer uma venda. Seu programa deve: Perguntar o preço do produto; Considerar que a loja parcela este preço em somente [[code:parcelas]] parcelas (sem juros); o seu programa deve mostrar quanto será o valor de uma parcela (arredondando para duas casas decimais apenas). Veja exemplo a seguir:

Exemplo de Entrada:

\begin{verbatim}

[[code:caso0_inp]]

\end{verbatim}

Exemplo de Saída:

\begin{verbatim}

[[code:caso0_out]]

\end{verbatim}

% necessário para gerar casos de testes no moodle

\begin{comment}

[[code:moodle_cases]]

\end{comment}

[[def: 

# é fortemente recomendado testar o trecho de código Python a seguir em uma IDE

import json

import numpy as np

#

# Para criar os parâmetros da descrição da questão

# necessário usar random para ter uma questão diferente para cada aluno

#>>>> begin

parcelas =  np.random.randint(8) + 11

#<<<< end

# Para criar os Casos de Teste

inp_list, out_list, casos_teste = [], [], 2, # dois casos de teste - MUDAR se desejar

for i in range(casos_teste):

    # necessário usar random para ter casos de teste diferentes

    #>>>> begin

    valor = np.random.randint(100)/10 + 5001

    inp = str(valor)+'\n'

    out = '%.2f' % (valor/parcelas)

    #<<<< end

    inp_list.append(inp)

    out_list.append(out)

cases = {}

cases['input']  = np.array(inp_list).tolist()

cases['output'] = np.array(out_list).tolist()

moodle_cases = json.dumps(cases)

# para mostrar um exemplo na descrição da questão

caso0_inp = cases['input'][0]

caso0_out = cases['output'][0]

#print(moodle_cases)

]]

Para criar outras questões, basta mudar a descrição da questão e as linhas entre "#>>>>" e "#<<<<".

Veja esse Colab com mais detalhes de questões paramétricas no MCTest com correção automática no Moodle+VPL.

O botão Compile-Colab da Figura 18, contém outro Colab para o professor poder testar a descrição da questão utilizando a biblioteca desenvolvida no MCTest.

FAQ

  1. Digite a sua dúvida aqui.

4.5. Segurança durante um Exame

Solicitar ao NTI a instalação do Safe Exam Browser (SEB)

Solicitar ao NTI a instalação do Safe Exam Browser:

  • ATENÇÃO: a versão instalada do SEB tem que ser a mesma utilizada em todas as configurações abaixo! No início de 2023.1, no lab. 409-2 é 3.4.1 (x64), Build 3.4.1.505. Nos labs L407-2 e L404-2 é o 3.4.0.

Solicitar aos alunos a configuração do Safe Exam Browser

Pedir aos alunos, em cada computador no laboratório, os seguintes passos.

Antes de iniciar um Exame, você deve abrir no Windows o software SEB Configuration Tool e:

  • Em Security,
  • Desmarcar Ignore SEB Service; 
  • Marcar Allow to run inside virtual machine.
  • Em Config File,
  • Save Settings.

Esses passos são necessários no win7. No win10 não precisa.

Após isso, faça download e abra o arquivo disponível em arquivo_prova.seb. (definido a seguir).

Após clicar em Exame -> Atividade de teste, o ambiente vai estar disponível para a realização do Exame.

Configuração do SEB em atividade VPL no Moodle

O professor deve ler a documentação do SEB, seguir os mesmos passos em Security acima e gerar o arquivo_prova.seb, seguindo:

  • É possível restringir os aplicativos a serem usados durante um Exame, ver Applications, em SEB Configuration Tool;
  • Em User Interface, selecione a opção Use full screen mode e Show wi-fi (Win);
  • Para rodar no pc do professor, com projetor:
    Security -> Maximum allowed number of connected displays = 2
  • Em General, colar a URL da atividade do Moodle em Start URL.
  • Em Config File, marque starting an exam, Save Settings e salvar o arquivo_prova.seb em Save Settings (As…);
  • Em SEB Configuration Tool -> Exam
  • marcar Use Browser Exam Key and Config Key e
  • copiar a chave Browser Exam Key;
  • Colar a chave no Moodle (Arquivo de Configurações -> Restrições de envio -> Navegador SEB necessário: Sim -> e colar a chave em Chave(s) do exame SEB), ver documentação do VPL;
  • Qualquer alteração em SEB Configuration Tool também altera a chave e o arquivo arquivo_prova.seb, assim, realizar essa etapa de cópia da chave e criação do arquivo somente no final de todas as mudanças nas configurações.

Ver também essa documentação: link

Restringir IPs de acesso

É possível também restringir os IPs de acesso ao Exame no Moodle. Em uma atividade: Arquivo de Configurações -> Restrições de envio -> Envio permitidos a partir da rede.

Por exemplo, colando 172.17.14,172.17.85 para os laboratórios 407-2 e 404-2, respectivamente. Somente os computadores destes dois laboratórios poderão ter acesso ao Exame.

Atenção: o recurso de intervalo de IPs, disponível na documentação do VPL, não está funcionando corretamente. Por exemplo, se colocar  172.17.14.10 112, para todos os IPs entre 172.17.14.10 e 172.17.14.112 não funciona.