Google+

Friday, April 18, 2014

Готовимся к Единому Государственному Экзамену с Google и Бабой ЕГЭ

Главную в стране процедуру итоговой проверки знаний учащихся - Единый государственный экзамен особенно прозрачной не назовешь. Даже имена разработчиков большинства тестов остаются в строгой тайне, не говоря уже о возможности вступить с ними в диалог и получить какие-то разьяснения по наиболее сложным местам, касающихся тех или иных вопросов. О чем говорить, если за 12 лет проведения ЕГЭ не существовало даже официального списка уже “сыгравших” вопросов - их приходилось выуживать из не- и полуофициальных источников, что сплошь и рядом приводило к путанице и ошибкам. А ведь возможность работать с базой ранее использованных в предыдущих циклах ЕГЭ вопросов - это важнейший ресурс для подготовки школьников и инструмент для готовящих их преподавателей едва ли не во всех странах, где проводится стандартизированное тестирование! Не удивительно, что просьбы родителей и учителей создать такую базу звучали часто и настойчиво.




В феврале этого года наметился сдвиг - Федеральный институт педагогических измерений опубликовал вопросы, использованные в прошлые годы на ЕГЭ. Встает вопрос, как эти вопросы правильно использовать - ведь общее количество заданий в открытом банке насчитывает около 45 000 заданий - по всем предметам.


Для работы с банком как школы, так и отдельные преподаватели могут использовать проверенный инструмент - таблицы Google, которые можно использовать в качестве базы для создания неограниченного количества пробных тестов, а также Google скрипт “Баба ЕГЭ”, предназначенный для работы с вопросами такого типа.


С помощью таблиц мы можем скомпоновать любое количество вопросов из открытого банка, дополнить их вопросами, созданными по аналогии, скомпоновать их по типу сложности, по разделам и т.д. Рассмотрим, как это будет работать на примере вопросов из раздела A, где находятся задания на множественный выбор.


Итак, для создания системы проверочного тестирования нам понадобится таблица, в которую мы внесем формулировку вопроса, варианты ответов и указание на правильный ответ. 



Тестовый вариант такой таблицы с вопросами по истории можно скопировать перейдя по ссылке - скрипт находится уже в ней. Скопировав таблицу себе на диск, не забывайте авторизовать скрипт. Или же вы можете вставить программный код скрипта Баба ЕГЭ, скопировав его в самостоятельно созданную таблицу.



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;
};
view raw BabaEge hosted with ❤ by GitHub

После того, как скрипт будет скопирован и авторизован, в интерфейсе таблицы появится новое меню - Баба ЕГЭ.


В этом меню две опции - Задать количество вопросов и Создать тест. Задавая количество вопросов, мы определяем какое количество вопросов будет в нашем пробном тесте. Опция Создать тест создает форму и случайным образом наполняет ее вопросами из нашей таблицы. Ссылка на созданную таким образом форму находится в столбце Количество вопросов, ссылка на форму.



Формой можно начинать пользоваться. Вот и все! Удачи на экзамене.


П.С.


Если у вас есть идеи и предложения по развитию и усовершенствованию этого инструмента - буду рад их услышать. Код открыт, добавлять к нему новый функционал может любой желающий.

No comments:

Post a Comment