27 апреля 2017

Создание множества вариантов тестов в Google Forms


Google открыл доступ к библиотеке управления Google Forms для создания тестовых опросов.

Теперь, любой желающий сможет на базе имеющегося пула вариантов вопросов генерировать множество различных вариантов Google Forms без использования сторонних дополнений.

В частности, вы теперь можете создать таблицу Google Sheet, которая содержит по одному листу для каждого вопроса и сгенерировать столько вариантов Google Forms, сколько захотите, выбирая в качестве варианта вопроса по одной строке с каждого листа случайным образом.

Более того, если сделаете в той же таблице Google Sheet отдельный лист для хранения списка учеников, вы сможете один нажатием сгенерировать индивидуальный вариант для каждого и сохранить имя ученика в названии формы, чтобы их легко было отличить и назначить каждому индивидуально через Google Classroom.

Создав такую таблицу однажды в своём домене G Suite for Education, вы без проблем сможете копировать её для любых предметов и заданий, не меняя кода скрипта. Однако, главное, что с помощью такой универсальной таблицы вы сможете генерировать варианты для своей школы, не рискуя сделать рассылку персональных данных учеников за пределы своего домена G Suite for Education, через недобросовестные дополнения Google Forms.

Пример простого кода, который сгенерил вариант ответа на рисунке выше, вы можете увидеть здесь:

function createGradedCheckboxQuestionWithAutofeedback() {
  // Make sure the form is a quiz.
  var form = FormApp.getActiveForm();
  form.setIsQuiz(true);

  // Make a 10 point question and set feedback on it
  var item = FormApp.getActiveForm().addCheckboxItem();
  item.setTitle("What flavors are in neapolitan ice cream?");
  item.setPoints(10);
  // chocolate, vanilla, and strawberry are the correct answers
  item.setChoices([
    item.createChoice("chocolate", true),
    item.createChoice("vanilla", true),
    item.createChoice("rum raisin", false),
    item.createChoice("strawberry", true),
    item.createChoice("mint", false)
  ]);
  // If the respondent answers correctly, they'll see this feedback when they view 
  //scores.
  var correctFeedback = FormApp.createFeedback()
      .setText("You're an ice cream expert!")
      .build();
  item.setFeedbackForCorrect(correctFeedback);
  
  // If they respond incorrectly, they'll see this feedback with helpful links to 
  //read more about ice cream.
  var incorrectFeedback = FormApp.createFeedback()
      .setText("Sorry, wrong answer")
      .addLink(
        "https://en.wikipedia.org/wiki/Neapolitan_ice_cream",
        "Read more")
      .build();
  item.setFeedbackForIncorrect(incorrectFeedback);
}
Отправить комментарий