Главную в стране процедуру итоговой проверки знаний учащихся - Единый государственный экзамен особенно прозрачной не назовешь. Даже имена разработчиков большинства тестов остаются в строгой тайне, не говоря уже о возможности вступить с ними в диалог и получить какие-то разьяснения по наиболее сложным местам, касающихся тех или иных вопросов. О чем говорить, если за 12 лет проведения ЕГЭ не существовало даже официального списка уже “сыгравших” вопросов - их приходилось выуживать из не- и полуофициальных источников, что сплошь и рядом приводило к путанице и ошибкам. А ведь возможность работать с базой ранее использованных в предыдущих циклах ЕГЭ вопросов - это важнейший ресурс для подготовки школьников и инструмент для готовящих их преподавателей едва ли не во всех странах, где проводится стандартизированное тестирование! Не удивительно, что просьбы родителей и учителей создать такую базу звучали часто и настойчиво.
В феврале этого года наметился сдвиг - Федеральный институт педагогических измерений опубликовал вопросы, использованные в прошлые годы на ЕГЭ. Встает вопрос, как эти вопросы правильно использовать - ведь общее количество заданий в открытом банке насчитывает около 45 000 заданий - по всем предметам.
Для работы с банком как школы, так и отдельные преподаватели могут использовать проверенный инструмент - таблицы Google, которые можно использовать в качестве базы для создания неограниченного количества пробных тестов, а также Google скрипт “Баба ЕГЭ”, предназначенный для работы с вопросами такого типа.
С помощью таблиц мы можем скомпоновать любое количество вопросов из открытого банка, дополнить их вопросами, созданными по аналогии, скомпоновать их по типу сложности, по разделам и т.д. Рассмотрим, как это будет работать на примере вопросов из раздела A, где находятся задания на множественный выбор.
Итак, для создания системы проверочного тестирования нам понадобится таблица, в которую мы внесем формулировку вопроса, варианты ответов и указание на правильный ответ.
Тестовый вариант такой таблицы с вопросами по истории можно скопировать перейдя по ссылке - скрипт находится уже в ней. Скопировав таблицу себе на диск, не забывайте авторизовать скрипт. Или же вы можете вставить программный код скрипта Баба ЕГЭ, скопировав его в самостоятельно созданную таблицу.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function onOpen() { | |
var ui = SpreadsheetApp.getUi(); | |
ui.createMenu('Баба ЕГЭ') | |
.addItem('Задать количество вопросов', 'setNumQuestions') | |
.addSeparator() | |
.addItem('Создать тест', 'makeRandomTest') | |
.addToUi(); | |
} | |
function setNumQuestions() { | |
var app = UiApp.createApplication(); | |
app.setTitle("Сколько вопросов должно быть в тесте?"); | |
var panel = app.createVerticalPanel(); | |
var textBox = app.createTextBox(); | |
textBox.setName('myTextBox').setId('myTextBox'); | |
var button = app.createButton('Отправить'); | |
panel.add(textBox); | |
panel.add(button); | |
var clickHandler = app.createServerClickHandler("respondToSubmit"); | |
button.addClickHandler(clickHandler); | |
clickHandler.addCallbackElement(panel); | |
app.add(panel); | |
var doc = SpreadsheetApp.getActive(); | |
doc.show(app); | |
} | |
function respondToSubmit(e) { | |
var app = UiApp.getActiveApplication(); | |
var textBoxValue = e.parameter.myTextBox; | |
var num = parseInt(textBoxValue); | |
Logger.log(num); | |
var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
var s = ss.getActiveSheet(); | |
ss.getRange("I2").setValue(num); | |
return app.close(); | |
} | |
function makeRandomTest() { | |
var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
var s = ss.getActiveSheet(); | |
var headers = s.getRange(1, 1, 1, s.getLastColumn()).getValues()[0]; | |
var rows = s.getRange(1, 1, s.getLastRow()).getValues(); | |
var num = ss.getRange("I2").getValue() | |
var rowsNumbers = []; | |
for (j = 1; j < rows.length; j++) { | |
rowsNumbers.push(j); | |
} | |
Shuffle(rowsNumbers); | |
var day = new Date(); | |
day.setDate(day.getDate()) | |
var form = FormApp.create('Проверочный тест' + ' ' + day); | |
form.addTextItem() | |
.setTitle("Ваше имя?"); | |
for (i = 1; i < num+1; i++) { | |
var question = s.getRange(rowsNumbers[i]+1,1).getValue(); | |
var choice1 = s.getRange(rowsNumbers[i]+1,2).getValue(); | |
var choice2 = s.getRange(rowsNumbers[i]+1,3).getValue(); | |
var choice3 = s.getRange(rowsNumbers[i]+1,4).getValue(); | |
var choice4 = s.getRange(rowsNumbers[i]+1,5).getValue(); | |
var item = form.addMultipleChoiceItem(); | |
item.setTitle(question) | |
.setChoiceValues([choice1,choice2,choice3,choice4]); | |
var idForm = form.getId(); | |
ss.getRange('I3').setValue('https://docs.google.com/forms/d/' + idForm); | |
} | |
} | |
function Shuffle(o) { | |
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); | |
return o; | |
}; |
После того, как скрипт будет скопирован и авторизован, в интерфейсе таблицы появится новое меню - Баба ЕГЭ.
Формой можно начинать пользоваться. Вот и все! Удачи на экзамене.
П.С.
Если у вас есть идеи и предложения по развитию и усовершенствованию этого инструмента - буду рад их услышать. Код открыт, добавлять к нему новый функционал может любой желающий.
No comments:
Post a Comment