Projeto do Curso ED 2016.2

Introdução

Demo http://fgv-goal.mybluemix.net

Tutorial para desenvolver https://github.com/eduardocesar93/FGV-Goal/wiki/Tutoriais

Um padrão para montagem de arquivos foi estabelicido para auxiliar a manutenção de um baco de questões colaborativo inspirado no GOAL - Gradiance On-Line Accelerated Learning

O XML é uma linguagem de marcação flexível usados para atribuir explicitamente significado ou formatação a arquivos de texto. Mais informações podem ser encontradas nas seguintes fontes:

As tags e seus respectivos atributos, que usaremos na produção das questões, futuramente definidas em um Xml Schema são:

  • question: tag raiz do documento.
    • level: inteiro de 1 a 3, indicando em de forma crescente a dificuldade da questão.
    • chapter: inteiro indicando o número do capítulo relativo à questão.
    • id: indetificador único para a questão.
  • text: uma área de texto, que pode estar no enunciado ou no corpo de uma opção.
    • choice: opção da questão.
    • type: string (correct ou incorrect), indicando se a opção está correta ou não.
  • explanation: explicação para uma determinada opção estar correta ou falsa.
  • tags html: qualquer tag html pode ser utilizada para formatação do texto.

Validação

xmllint --valid template-1.xml

O template-2.xml terá ainda erros de validação. E o que falta é dizer que todas as tags de XHTML válida dentro de uma tag p devem ser válidas para <text> e <explanation>. Também falta declarar corretamente os atributos que recebem URIs.

Recomendações

Um esquema será futuramente definido para validações dos arquivos xml, a fim de que as recomendações abaixo sejam atendidas.

  • As tags text explanation e option, devem ser filhas de question.
  • Qualquer tag html pode ocorrer dentro de question e explanation.
  • Devem haver ao menos 5 opções, pelo menos 4 opções incorretas e pelo menos 1 correta.
  • O atributo correct de option é obrigatório e deve se restringir aos valores ‘correct’ e ‘incorrect’.
  • Para a criação das questões e respostas deve seguir as sugestões do http://gradiance.com.
  • O atributo “level” deve indicar em de forma crescente a dificuldade da questão, utilizando um número inteiro de 1 a 3.
  • O atributo “chapter”, deve ser utilizado como referência ao número do capítulo do livro Algorithms: Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani - 1st edition. Utilizar apenas o numeral referente ao capítulo.
  • O elemento <explantation> imediatamente após o enunciado da questão, deve conter o gabarito da questão. Esse gabarito é divulgado para os estudantes posteriormente ao deadline da conclusão das questões.
  • Dar preferência para referências auto-contidas. Caso necessário fazer referência a links externos, utilizar sites estáveis, como: WIKIPEDIA, STACKOVERFLOW, QUORA.
  • Figuras devem ter no máximo 900px x 600px, formato png ou svg.