Google+

Sunday, April 2, 2017

Тестирование с помощью Google-форм. Расширение «штатных» возможностей. Часть 2

Часть 1 можно посмотреть здесь >> ссылка

Создание теста в формате Google-формы на основе случайной выборки из банка вопросов. Вольный пересказ с незначительными изменениями и дополнениями статьи Alice Keeler Google Forms: Create a Quiz from a Question Bank. Пошаговая инструкция.

1. Создаём новую Google-таблицу, в которой мы сформируем банк вопросов и затем - выборку из случайных вопросов.
  • Создаём новую таблицу, даём ей подходящее имя

  • Первый лист таблицы (Лист 1) переименовываем – даём ему имя «Тест»

  • Добавляем новый лист и даём ему имя «Вопросы». На этом листе будем формировать банк вопросов


2. На листе «Вопросы» записываем вопросы, объединив их по смыслу (теме, сложности и т.п.) в группы, и записывая вопросы разных групп в разные столбцы. Структура этого листа важна. В дальнейшем она будет влиять на запись формул. На что обратить внимание?

  • В столбце A записываются номера вопросов в строгом порядке без пропусков. Первый номер записывается в ячейку A2.
  • Количество вопросов в разных группах (разных столбцах) должно совпадать.
  • Количество групп вопросов может быть любым. 
  • Ответы записывать необязательно. Столбцы, в которые записываются ответы, могут отсутствовать

Пример:

3. Переходим на лист «Тест». В первой строке вводим заголовки:


 4. И вот теперь – внимание! В ячейку B2 вводим формулу, которая выберет случайный вопрос из первой группы вопросов банка:

=ВПР(СЛУЧМЕЖДУ(1;МАКС('Вопросы'!$A:$A));'Вопросы'!$A$2:$G;2;ЛОЖЬ)

Или в английской нотации:
=VLOOKUP(RANDBETWEEN(1;MAX('Вопросы'!$A:$A));'Вопросы'!$A$2:$G;2;FALSE)

Это функция вертикального поиска, которая ищет на листе «Вопросы» в столбце A, начиная со второй строки (с ячейки $A$2), случайное число в диапазоне от 1 до максимального номера и затем выбирает в соответствующей строке значение во втором по порядку столбце указанного в формуле диапазона.
Сложно? Разберёмся на примере.
В нашем случае в столбце A листа «Вопросы» записаны числа от 1 до 7. Случайное число может принять какое-то значение из этого диапазона. Пусть выпало число 3.
Функция Вертикального поиска ищет это число в первом столбце диапазона $A$2:$G. G – последний столбец, занятый нами под вопросы и ответы. искомое число будет найдено в строке 4.  В этой строке во втором по счёту столбце определяется содержимое ячейки и записывается в ячейку B2 листа «Тест». Будет записан текст вопроса «Сколько струн у балалайки?».

5. Копируем формулу. Если нам нужно сформировать 10 вариантов, то копируем в диапазон от B2 до B11. Вопросы в нашем случае неизбежно будут повторяться, но чем больше банк, тем реже будет повторение. 
Вот что у нас получилось: 

6. В ячейку С2 листа «Тест» пишем похожую формулу, но вопрос уже надо выбирать из 4-го столбца диапазона. Поэтому формула изменится следующим образом: 
=ВПР(СЛУЧМЕЖДУ(1;МАКС('Вопросы'!$A:$A));'Вопросы'!$A$2:$G;4;ЛОЖЬ)

7. Так же, как и с первым вопросом, копируем второй вопрос в столбце С. 

8. Соответственно, в столбец с третьим вопросом записываем формулу: 
=ВПР(СЛУЧМЕЖДУ(1;МАКС('Вопросы'!$A:$A));'Вопросы'!$A$2:$G;6;ЛОЖЬ) 

9. После копирования получаем таблицу со случайными вопросами: 

Остался последний волшебный шаг – сформировать ученикам ссылки на одну и ту же форму, но для каждого ученика – со своими собственными вопросами.

10. Создаём новую форму, даём ей название и сформируем вопросы следующим образом:
  • Первые вопросы – идентификационные. Пользователь введёт имя, класс и другую идентификационную информацию. 
  • Далее на каждый вопрос теста следует отвести два вопроса формы. Формат для первого вопроса – Текст (абзац), для второго - Текст (строка). В первом поле формы будет записан вопрос из подготовленной таблицы, во второе пользователь введёт свой ответ. Выглядит это так:


11. В меню формы выбираем «Создать образец заполнения» 


12. Все поля вопросов помечаем любым текстом, например, записываем в эти поля Q1, Q2, Q3: 

13. Нажимаем кнопку Отправить и копируем ссылку на «Образец заполнения»


14. 1Возвращаемся в таблицу и на листе «Тест» в ячейку A2 записываем формулу вида:

=ГИПЕРССЫЛКА("Образец заполнения URL";"Вариант 1"), где вместо «Образец заполнения» вставьте скопированную ссылку. У меня это выглядит так:
=ГИПЕРССЫЛКА (https://docs.google.com/forms/d/e/1FAIpQLScmadMhoeG00iYXg-6qHqy3uyc7FXFjKtK80rugdHEAtv2AOQ/viewform?usp=pp_url&entry.2049939250&entry.648054886=Q1&entry.419311063&entry.1931766485=Q2&entry.144775355&entry.1288719362=Q3;Вариант 1)

Обратите внимание – адрес (URL) пишется в кавычках, как и «Вариант 1».

15. Ключевой момент! Вместо меток Q1, Q2, Q3 пишем ссылки на ячейки с вопросами:
“&B2&”, “&C2&”, “&D2&”. Не забываем про кавычки!

Теперь наша формула выглядит так:

=ГИПЕРССЫЛКА("https://docs.google.com/forms/d/e/1FAIpQLScmadMhoeG00iYXg-6qHqy3uyc7FXFjKtK80rugdHEAtv2AOQ/viewform?usp=pp_url&entry.2049939250&entry.648054886="&B2&"&entry.419311063&entry.1931766485="&C2&"&entry.144775355&entry.1288719362="&D2&"&entry.1499371740";"Вариант 1")

16. Копируем формулу во все оставшиеся ячейки столбца B. Адреса B2, C2, D2 будут меняться соответственно на B3, C3, D3, B4, C4, D4 … И тем самым в форму будут выбираться вопросы из новых строк.

17. Осталось только поменять номера в ссылках на варианты – и таблица ссылками на многовариантный тест готова.

18. Чтобы ученики не видели вопросы друг друга, столбцы с вопросами можно спрятать.

Итог:

Или после того, как столбцы скрыты:


Так же можно скрыть столбцы на листе «Вопросы». 

Ссылка на таблицу для учеников (с развёрнутыми столбцами): https://goo.gl/OUQMtk

К сожалению, проверить такую форму с помощью Flubaroo не получится — у каждого ученика формируется свой набор вопросов. 

Ещё один очевидный недостаток этого красивого решения - в тест могут войти вопросы только одного типа - с кратким ответом.


Тестирование с помощью Google-форм. Расширение «штатных» возможностей. Часть 1

При построении образовательного информационного пространства с помощью Google Classroom для контроля знаний в форме тестирования, как правило, используются Google-формы. Но формы изначально разрабатывались как инструмент для сбора и обработки информации сетевых опросов и лишь затем стали приспосабливаться под цели тестирования. Поэтому сейчас они по своим функциональным возможностям ещё значительно уступают «аутентичным» тестирующим комплексам таким, например, как MyTestX (разработчик Башлаков А. С.), NetTest (разработчик Поляков К. Ю.), тестирующий блок LMS Moodle.
Из наиболее существенных отличий можно отметить следующие.

1. В «аутентичных» тестирующих комплексах тесты формируются на основе структурированной базы данных (банка) заданий. При формировании варианта теста вопросы и задания могут быть выбраны вручную или случайным образом.
Упомянутые тестирующие комплексы позволяют не только создавать и использовать банк заданий, но и формировать различные варианты теста «на лету» — каждый ученик во время тестирования получает свой вариант. В «штатном» тесте на основе Google-формы такие функции отсутствуют.

2. Важное свойство тестирующего комплекса, ещё не реализованное в Google-формах в полном объёме, — вариативность отображения результатов. В Moodle, например, можно по-разному отображать результаты во время прохождения теста, после завершения попытки или после того, как тест закрыт. При этом для каждой ситуации выбираются свои опции из списка:

Возможность получить немедленный отклик на введённый ответ играет существенную роль в тренировочном тесте, когда ученик может «по горячим следам» проанализировать ошибки и исправить их.
В обновлённых в 2016 году Google-формах появилась возможность немедленной проверки результатов для трёх типов вопросов — выбор одного варианта из многих, множественный выбор и выбор из списка. К сожалению, другие важные и часто используемые типы вопросов в этот перечень не попали.
О том, как воспользоваться возможностью автоматической проверки ответов без подключения дополнения Flubaroo описано здесь >> ссылка на публикацию

3. Можно также упомянуть ограничение прохождения теста по времени и возможность использовать несколько попыток с адаптивным оцениванием (лучшая попытка, средняя оценка, первая попытка и т. п.).
Что касается временных ограничений, то решить проблему можно с помощью дополнения FormLimiter


Дополнение позволяет задать время, в которое форма закроется и результаты уже не будут приниматься. FormLimiter не позволяет задать время начала тестирования – момент открытия формы.
Эта проблема тоже может быть решена, но более сложным способом – подключением скрипта (https://www.labnol.org/internet/schedule-google-forms/20707/).
Для подключения дополнения нужно выбрать в меню «Дополнительно», обозначенное вертикально расположенными точками, пункт «Дополнения» и в поисковом окне ввести FormLimiter

Но основной нерешённой проблемой «штатной» Google-формы остаётся формирование теста на основе банка заданий.
Это ограничения может быть преодолено, хотя и не в полном объёме, различными способами, например, с помощью интеграции Google-документов разного формата, применения языка программирования Google Apps Script или использования малоизвестных встроенных функций электронной таблицы.
Одним из решений является подключение скрипта «Баба ЕГЭ» (Б. Ярмахов, О. Тузова), который позволяет формировать в Google-таблице структурированный банк заданий с картинками (есть ограничения по типу вопросов), создавать тест в виде Google-формы со случайными вопросами из банка и выполнять «стандартную» проверку с помощью надстройки Flubaroo. Как работать со скриптом подробно описано здесь >> ссылка на сайт 

Другое интересное и необычное решение предложено Alice Keeler в публикации Create a Quiz from a Question Bank (англ). Этот подход опирается на использование мало известных функций, которые встроены в электронные таблицы.
В следующем посте в вольном пересказе и с небольшими изменениями и дополнениями по отношению к оригиналу будет представлена пошаговая инструкция для реализации метода Alice Keeler.

Автоматическая проверка ответов в обновлённых Google-формах

Обновленные в июне 2016 года Google-формы предложили пользователям новые заманчивые возможности, в частности, использование их в режиме «Тест» с автоматической проверкой ответов. До этого для автоматической проверки результатов необходимо было подключать дополнение Flubaroo. Теперь же всё происходит внутри самой формы без внешнего вмешательства. Ниже описаны шаги, которые нужно сделать для реализации этой возможности.

  1. Важно! Автоматическая проверка возможна только для 3 типов вопросов – «один из списка», «несколько из списков», «раскрывающийся список». Не стоит искать возможности ввести ключи проверки для других типов вопросов.
  2. Важно! Вас не должно вводить в заблуждение наличие опции «Проверка данных» для текстовых ответов.

    Эта опция предназначена для задания правил заполнения поля: https://support.google.com/docs/answer/3378864?hl=ru
    Если использовать эту опцию для контроля самого ответа, то пользователь увидит правильный ответ прежде, чем введёт свой 😊

Шаг 1. В настройках выбираем вкладку «Тесты» и на этой вкладке устанавливаем нужные параметры

Шаг 2. После ввода вопроса и возможных вариантов ответа нажимаем кнопку «Ответы»

Шаг 3. В открывшемся окне отмечаем правильные вопросы и задаём количество баллов за правильный ответ. После чего жмём кнопку «Изменить вопрос»

Подготовка теста закончена!
Пример: https://goo.gl/2Ri9sU
В статье  “New Google Form Quiz Option vs Flubaroo add-on” (англ) приведён интересный сравнительный анализ двух подходов к оцениванию, где преимущества по мнению автора пока остаются за Flubaroo. Точнее, если ваша цель – провести простой тест, в котором используются только вопросы трёх указанных типов, с простой системой оценивания, то Google-форма в режиме теста – это то, что вам надо. Но для более сложных тестов с усложнённой системой оценивания Flubaroo лучше справится с задачей.

Tuesday, March 28, 2017

Gephi: анализируем методические объединения

Иногда при анализе данных, извлекаемых из домена G Suite, нам нужно рассмотреть уже существующие структурные подразделения, например, методическое объединения. Для этого к существующей сети организации нам нужно добавить дополнительные элементы - названия методобъединений.


Это не сложно - нам просто нужно научиться импортировать в уже существующий проект новые данные. Рассмотрим это на примере проекта, описанного в предыдущей публикации. Итак, у нас есть проект со структурой организации. Добавим в него новые данные - например, из таблицы с учителями школы, в которой у нас указаны и методобъединения (или другие подразделения) к которым относятся учителя.

Для этого нам понадобится csv файл в котором будут указаны фамилии учителей и методобъединения, к которым они относятся (для удобства просто пронумеруем их). Чтобы объединить новую таблицу с существующей, зайдем в Лабораторию Gephi и выберем опцию Импортировать из CSV, далее выбираем наш csv файл с фамилиями и методобъединениями и импортируем его. Обратите внимание, что новую таблицу необходимо указывать как Таблицу Узлов.



Нажимаем далее, последнюю ячейку оставляем невыбранной.



Наша новая таблица будет объединена со старой и для каждого учителя мы увидим номер его методобъединения.



Давайте зададим цвет для каждого из наших методических объединений. Для этого зайдем в режим Обработка. В левой панели найдем вкладку Appearance. Заходим во вкладку Nodes и выбираем Цвет (значок палитры). В Attribute выбираем MOD и нажимаем применить. Узлы графа нашей сети окрасятся в четыре разных цвета в зависимости от того, к какому методобъединению принадлежит данный участник.





Теперь разделим граф сети нашей организации на кластеры по методическим объединениям, к которым принадлежат учителя. Найдем в правой части экрана панель "фильтры". Выбираем в ней раздел "Динамика" - далее - "Разбиение" и перетаскиваем нужный нам фильтр (MOD) в поле "набор фильтров".








































Выбирая нужное методобъединение (щелкаем по ячейке с нужным номером) и нажимая "отфильтровать" мы можем выбирать нужную нам группу пользователей. Теперь, чтобы работать с нашими методобъединениями было совсем удобно, научимся выделять каждый подграф (соответствующий данной группе учителей) в отдельную рабочую область. Для этого выберем отфильтрованную группу учителей с помощью инструмента прямоугольное выделение (слева от полученного графа) и с помощью правой кнопки мыши вызовем меню Скопировать - На новую рабочую область. Gephi создаст нам новую рабочую область, на которой окажутся только участники из нужного нам методического объединения. Теперь нам будут доступны две области - первая - со всем графом нашей школы, и вторая - только с выделенным методобъединением, что значительно облегчит наш дальнейший анализ.

Sunday, March 26, 2017

Gephi: инструмент для обработки данных из домена G Suite.

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


В предыдущей публикации мы рассмотрели процесс извлечения и фильтрации данных из домена G Suite. Посмотрим на то, что с этими данными можно делать дальше. Строго говоря, есть много инструментов, которые можно использовать для обработки этого массива. Здесь я предлагаю рассмотреть графический пакет Gephi, поскольку в нем хорошо решены задачи визуализации связей (нет ощущения “волосяного кома”, которые создают многие другие пакеты) и присутствуют все основные статистические процедуры.


Gephi - это бесплатный, свободно распространяемый продукт, на момент написания статьи стабильно работающей версией является Gephi 0.9.1 После установки мы запускаем Gephi, создаем новый проект под собственным именем. Теперь нам нужно импортировать в него данные из csv файла, который мы создали на предыдущем этапе.


Для этого мы идем в раздел Лаборатория данных и выбираем “Импортировать из csv”. Файл csv должен иметь название латиницей и названия столбцов source и target. При импорте тип таблицы указываем как “таблица ребер”, кодировка - UTF-8.




Нажимаем на кнопку Далее, убеждаемся, что выбрана ячейка “создать новую вершину, если конечной (или начальной) вершины не существует.”, затем “готово”. Данные будут экспортированы в Лабораторию данных Gephi.




Теперь зайдем в раздел Обработка. Скорее всего, мы увидим нечто такое:




Это первичный граф нашей организации. Точки в ней - это люди, линии между ними - установленные связи. Давайте усовершенствуем этот граф. Изменим размер точек людей, в зависимости от того, насколько активно они участвуют в сетевом взаимодействии.


Для этого нам понадобится статистический параметр “Степень”. “Степень” - это количество связей с другими участниками (узлами) сети, рассчитываемое для каждого узла. В правой панели в разделе Статистика найдите кнопку “Степень” и нажмите ее. Произойдет подсчет данных после чего в поле “Лаборатория данных” каждому узлу будет присвоено свое значение. Вы можете увидеть, кто из ваших сотрудников имеет максимальную степень взаимодействия - то есть активнее всех общается с другими сотрудниками.




Вернемся в поле обработка и визуализируем получившуюся картину. Для этого в разделе Appearance, находящейся слева от рабочей области, выберем вкладку Nodes и нажмем на кнопку Размер, далее - Attribute. В выпадающей вкладке выберем Degree (степень). Выставим минимальный размер (Min size) = 5, максимальный размер (Max size) = 30. Нажмем применить и обратим внимание на то, как изменился размер узлов в нашей сети.




Теперь давайте произведем кластеризацию нашей сети. Это нужно для того, чтобы понять, как распределены связи в нашей организации. В разделе Статистика найдем кнопку “модулярность” и нажмем ее. Ячейки “рандомизировать” и “Use Weights” должны быть выбраны.Система рассчитает нам по определенному алгоритму разбиение нашей организации на кластеры в зависимости от того, с какими другими узлами он в большей степени взаимодействует. В разделе “Лаборатория данных” для каждого узла сети будет указано то, к какому кластеру он принадлежит.


Распределим наши узлы по цветам в зависимости от их принадлежности к кластерам. В разделе Appearance заходим во вкладку Nodes и нажимаем кнопку Цвет. Далее - Attribute и выбираем Modularity Class, далее - Применить. Узлы нашей сети окрасятся в цвета в соответствии с принадлежностью к кластерам.


Теперь упорядочим нашу сеть с помощью алгоритма, который сгруппирует узлы, находящиеся в одном кластере. Для этого зайдем во вкладку Укладка и выберем алгоритм Force Atlas 2. Выберем ячейки LingerLog Режим и Запрет перекрытия и нажмем кнопку Пуск. Алгоритм рассортирует наши кластеры.




Теперь давайте сделаем подписи к узлам нашей сети - чтобы было понятно, кто из сотрудников организации где находится.


Зайдем во вкладку Labels (выпадающее меню внизу рабочей области). Выберите ячейку Labels. Выберите шрифт = 14 (Arial, полужирный), в меню Настройка выберите ячейку “ID”. На узлах появятся надписи, обозначающие сотрудников нашей организации.


Теперь зайдем во вкладку Просмотр и нажмем кнопку Обновить. Сеть нашей организации будет построена в “Чистовом виде”.





Как мы видим, это позволяет визуализировать и проанализировать структуру нашей организации.

Sunday, February 5, 2017

Relationship mining в домене Google Suite: извлекаем данные

Если вы - администратор образовательного домена Google Suite, то вам доступна такая замечательная возможность, как анализ отношений между пользователями вашего домена - Relationship Mining.

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


Далее заходим в раздел Диск и указываем временной период, за который мы будем извлекать данные. Это лучше делать помесячно, т.е. мы укажем первый и последний день интересующего нас месяца. Следующий важный момент - выбор столбцов (это делается в правом меню службы отчетов). Я обычно извлекаю все, кроме IP.


Через несколько секунд мы получим сообщение о том, что нужная нам таблица сгенерирована.
Теперь нам предстоит самое интересное. Для того, чтобы с нашими данными можно было работать, необходимо отфильтровать то, что нам нужно.

В нашем случае мы будем изучать взаимодействие учителей в домене G Suite. Поэтому нам нужно будет отфильтровать только те записи, которые 
а) Содержат только данные об учителях (а не об учениках)
б) Показывают взаимодействие учителей, а не их действия с собственными документами. В этом нам поможет Google скрипт, код которого мы здесь публикуем.







Подставляем в скрипт ID наших таблиц с данными, запускаем функцию обработки CleanData и в лист TeachersLinks этой же таблицы будут перенесены только те записи, которые нас интересуют. Удалим из таблицы все столбцы кроме столбца с учетными записями редакторов (обычно это столбец B) и авторов документа (G). Озаглавим первый столбец с данными (редактор документа) source, а второй столбец (владелец документа) - target. После этого сохраним наш лист с данными как csv файл. Теперь их можно обрабатывать!

Friday, May 20, 2016

Google создает новую платформу для языка программирования Scratch

MIT объединяется с Google, чтобы создать следующее поколение своего популярного визуального языка программирования Scratch. Партнеры работают над версией с открытым исходным кодом языка под названием "Scratch Блоки" на основе визуальной среды разработки Blockly, являющуюся продуктом компании Google. Она поможет детям научиться программированию с помощью горизонтально и вертикально стыкующихся блоков, напоминающих кирпичики Lego. В Scratch для старших детей использовалась только вертикальная стыковка блоков, но в медиалаборатории MIT обнаружили, что горизонтальная ориентация подходит для мобильных устройств намного лучше. Партнеры выпустили предварительную горизонтальную версии Scratch на Google I / O в этом году.



Поскольку этот новый проект с открытым исходным кодом, партнеры планируют сделать Scratch блоки доступными для других разработчиков, которые cмогут использовать его, чтобы сделать свои собственные приложения, игры и игрушки для детей. Сам MIT также создает Скретч 3.0 на основе блоков, которые он развивает с помощью Google, что делает новые версии Scratch более подходящими для мобильных устройств.

(по материалам http://www.engadget.com/2016/05/19/google-mit-scratch-blocks)

Monday, April 4, 2016

РОСТ - онлайн образование. Опыт работы.


Модель онлайн обучения в проекте РОСТ


Проект РОСТ - это некоммерческая организация, помогающая детям, оставшимися без попечения родителей и находящимся в детских домах, интернатах, социально-реабилитационный центрах с помощью дистанционных технологий получить образование на уровне обычных средних школ. Система взаимодействия дистанционных преподавателей с учащимися полностью построена на пакете Google Apps для образования.

Cхема организации учебного процесса проекта РОСТ достаточно отработана и выглядит следующим образом:


БЛОК-СХЕМА ВКЛЮЧЕНИЯ ОБЪЕКТА В ПРОЕКТ РОСТ


Детские дома, с которыми мы работаем, находятся, как правило, в небольших городах и селах - как мы говорим, в отдаленных регионах. Это вызвано в основном тем, что в центральных городах и так, как правило, хватает спонсоров и организаторов, которые могут обеспечить разные действие, направленные на развитие и социализацию ребенка, в том числе, и их образование. Хотя, как показывает практика, на последнее обращается внимание в последнюю очередь.

Из центральных городов мы работаем только в Иваново и в Рязани (мы работаем и в Санкт-Петербурге, но в самом городе у нас очная программа), остальные, в лучшем случае, районные. Объекты, с которыми работает РОСТ, показаны на карте внизу (по ссылке можно просмотреть на интерактивную  Google карту). Кроме двух-трех, все наши объекты показаны с точностью до дома. В настоящее время их около 35.


Вполне понятно, что в зависимости от региона и удаленности от центра и опыта использования люди по-разному понимают, что такое хороший интернет. Поскольку для полноценной работы через Хэнгаут нам требуется по меньшей мере 1 МБИТ/с, то для 4 компьютеров, которые, как правило, предназначаются для интернет-класса, нам требуется 4 МБ/с качественной связи. Поэтому, если “хороший” интернет позволяет только качественно принимать почту раз в неделю, мы общаемся с потенциальными провайдерами и пытаемся провести достаточно скоростную линию связи. К сожалению, не везде нам удавалось это сделать. Даже в центре Иваново нам понадобилось около полугода и куча денег, чтобы провести волокно в весьма обласканный различными спонсорами детский дом. Впрочем, надо заметить, что за 5 лет работы Проекта РОСТ заметен значительный прогресс в обеспечении доступа к хорошему интернету в регионах.
        

 О компьютерах


Конечно, идеально было бы иметь в интернет-классах хромбуки, а еще лучше - хромбэйсы. Но мы предоставляем, и/или детские дома имеют, только компьютеры, полученные от спонсоров; зачастую это компьютеры б/у, отслужившие свой срок в офисах, а там ни хромбуками, ни Chrome-OS  не пользуются - только Windows. Для нормальной работы в интернет-классах требуются: процессор двухъядерный от 2 ГГц, оперативная память от 2 Гб, лучше 4.  
Впрочем, за 5 лет работы мы наблюдаем значительный прогресс в компьютерах, так что со временем любой б/у компьютер подойдёт для онлайн обучения, базирующегося на Google инструментах.

Для большего удобства и предотвращения путаницы на каждом компьютере в интернет-классе заводится учетная запись Windows. Внутри персональной учетной записи устанавливается Google Chrome, который привязывается к учетной записи Google этого ученика. Google Chrome открывается при входе в учетную запись и открывает Диск, Календарь, Почту  - главные сервисы для работы. Эти настройки устанавливаются в Google Chrome один раз, и при открытии Google Chrome на любом другом компьютере все настройки синхронизуются для той же учетной записи Google. Таким образом, для начала занятий ученику надо только войти в свою учетную запись Windows на любом из компьютеров.


Как  выбираются ученики


Легко представить, что любой из воспитанников детского дома, если ему сказать, что его допустят к компьютеру и интернет, у него будет свой аккаунт, с ним поговорят через Хэнгаут и поработают совместно в Документах, будет рваться к компьютеру так, что его придётся сдерживать. Конечно каждый из них имеет свои ожидания от процесса, и те, кто хотел бы всех обмануть и сидеть в Контакте или играть и смотреть запрещённый контент, быстро разочаровываются, поскольку оказывается, что их сажают за компьютер только для того, чтобы учиться, общаться с учителем, что-то делать самому, напрягать мозги. Но таких, как показывает опыт, меньшинство. Поэтому мы принимаем всех, кто выразил желание учиться. Такова наша политика.


Итак, у нас есть задача обеспечить репетиторство для большого количества учеников (за год мы охватывали до 230), находящихся во множестве учреждений - точек, имеющих от 1 до 6 компьютеров, подключенных к достаточно высокоскоростному интернету. Преподаватели-репетиторы находятся в еще более широком географическом диапазоне (Красноярск, Ростов-на-Дону, Тула, Калуга, Санкт-Петербург, Татарстан, Москва и Московская область; самый удаленный преподаватель находился в г. Морган Хилл, Калифорния, США). Вообще говоря, нас не волнует, где находится преподаватель и ученик. Вопрос: как организовать их взаимодействие и учебный процесс?


Взаимодействие учащихся и учителей в Google Apps


Google  предоставляет достаточное количество инструментов для организации собственно процесса и учета и контроля его хода, причем совершенно бесплатно. Для каждого ученика создается Google  аккаунт на нашем домене rost-iq.ru, подключенном к Google Apps for Education.

Аккаунты создает администратор -  я, т.е. я придумываю логины (чаще всего, это имя.фамилия@rost-iq.ru) и пароли. Они помещаются в Таблицу “Адреса и пароли [точка]”, к которой предоставляется доступ куратору данной точки. Таким образом, осуществляется полный контроль над аккаунтом не только с моей стороны, но и со стороны куратора и администрации учреждения. Разумеется, существование этого контроля разъясняется ученику. Но, конечно, главное - это то, что куратор может всегда обеспечить вход ученика под своим аккаунтом, даже если ученик забыл свой логин и пароль, его учетная запись windows стерлась и т.д.

Таблица “Адреса и пароли [точка]” также содержит дату рождения ученика, класс. Там же имеется информация о предметах, которые он желает изучать, время, в которое ему удобно заниматься.  Эта информация заносится либо администратором, либо куратором, либо и тем и другим.


Далее, после создания логина и пароля, для каждого ученика создается Папка на диске домена. К этой Папке ученику предоставляется доступ по только что созданному адресу электронной почты. Любой материал, помещенный в эту Папку, становится доступен данному ученику.

Папки учеников рассортированы по Папкам точек, также созданным на Диске домена. Вообще это свойство Документов Google, включая Папки - то, что мы можем перенести или добавить ее (Папку) в любое количество других папок - чрезвычайно удобное для создания любой структуры и работы в ней. Например, мы можем создать на диске домена папки по возрасту и добавить папки учеников в папки, соответствующие их возрасту. Мы также можем сделать папки предметов и добавить в них папки учеников, занимающихся этим предметом, или папки по полу, или папки по увлечениям, или папки отличники-двоечники. Во сколько бы папок мы ни добавили папку ученика, т.е. в какую бы классификацию мы ни помещали папку ученика, все равно, открыв эту папку в любой из других папок, в любом месте мы попадаем в одну и ту же папку и видим ее содержимое. Не копию, не вариант, а именно единственное содержимое. Это дает громадные возможности.


Для каждого преподавателя также создается на диске Папка, к которой предоставляется доступ этому преподавателю. Преподавателю для удобства работы необходимо на Диске перенести эту Папку из Доступные мне в Мой диск.


В Папке каждого ученика создаются Папки по предметам, которые он для себя выбрал.
После подбора преподавателя по какому-либо предмету, знакомства преподавателя с учеником через Хэнгаут и согласия преподавателя заниматься с данным учеником Папка ученика по предмету добавляется администратором в Папку преподавателя. Теперь и ученик,  и преподаватель (и администратор) имеют доступ к одной и той же папке, а значит имеют возможность совместно работать с любым документом, созданным в этой папке или помещенным в нее.



Этим устраняются многие неудобства. Преподавателю и ученику не надо знать/запоминать адреса друг-друга - просто открываешь папку и можно совместно работать. Преподавателю не надо пересылать материал ученику по электронной почте - просто поместить его в папку ученика. Администратор, так же как и ученик и преподаватель, может в любое время открыть папку по предмету ученика (в папке ученика или в папке преподавателя) и посмотреть, как много там материала, какие темы пройдены, какая тема рассматривалась последней, каков прогресс ученика и т.д.

Вот таким образом организуется совместная работа ученика и преподавателя в едином виртуальном пространстве и контроль за этим процессом. Cовместную работу ученика и преподавателя в реальном времени очень хорошо организует Google календарь.

После согласования времени занятия для каждого ученика (учитываются интересы ученика, учителя и куратора), администратор (можно называть его завучем) создает мероприятие - урок - в календаре, причем по умолчанию (через настройки) в мероприятии сразу организуется видеовызов.


В нем устанавливается время начала и окончания занятия (у нас стандартная продолжительность урока 40 минут - это некий медицинский стандарт), повторяемость, дается краткая информация об ученике. Далее в мероприятие добавляются гости: преподаватель, ученик, куратор. Изменения сохраняются, приглашения на мероприятие рассылаются всем участникам.

Таким образом, каждый ученик имеет в своем календаре расписание своих занятий, каждый учитель в своем календаре - своих, куратор имеет расписание всех учеников своего учреждения, а я, администратор (или завуч) - расписание всех. Вот так это выглядит.



Поскольку преподаватели могут поделиться своими календарями, завуч может легко видеть, какие временные интервалы у него не заняты. Любые изменения в расписании делать очень легко. Можно изменить время, дни занятий, преподавателя, ученика (можно добавить) и т.д. Оповещения об изменениях в календаре мероприятия, а также напоминания об уроках посылаются всем участникам, указанным  в мероприятии, на компьютер и/или любой смартфон или иной гаджет, в котором есть соответствующие аккаунты.

Теперь ученик, так же как и учитель, должен войти в календарь и присоединиться к видеовстрече, каждый со своей стороны и независимо. Не надо думать ни об адресах, ни о вызове звонком, можно вообще не помнить, с кем урок. Вошел в календарь, открыл папку, документ - и началась работа.

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


Организация учета



Теперь несколько слов о том, как можно осуществлять учёт. Для этого задействуются Google формы и Google таблицы. Для каждого преподавателя создается Форма, она выглядит вот так:




Форма высылается учителю через Google+, хотя можно просто переслать ссылку на нее. Таким образом обеспечивается актуальность формы для учителя, т. е.  в ней фиксируются все текущие изменения (например, добавлен новый ученик).

Ученики добавляются в форму учителя в поле “Ученик” администратором (в порядке поступления, что удобно) и высвечиваются для учителя в виде выпадающего списка. Это сделано для того, чтобы имя всегда было стандартным, единым, что важно для дальнейшей обработки. Очень удобна функция самопоиска в выпадающем списке: если учеников много, достаточно набрать в поле несколько букв имени (обычно не более трех) - и имя высвечивается. Очень кратко записывается тема занятия. Оценка за урок - это оценка того, насколько хорошо он прошел: была ли хорошая связь, был ли шум за спиной ученика, насколько ученик был готов, каково было его настроение, не отвлекался ли он и т.д. Форма заполняется учителем либо после каждого занятия, либо в конце дня или недели - главное, успеть до расчета оплаты.

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

Данные, отправленные формой, попадают в Лист Таблицы и располагаются в столбцах с B по G. Далее, в столбцах H:L - служебная информация, необходимая для дальнейшей обработки; она создается обычными функциями Таблиц:

Номер недели (функция WEEKNUM()),
Детский дом (точка)  функция VLOOKUP(). В таблице первый лист - это список учеников, где указывается, из какого он детского дома. Данные берутся из этого списка в соответствии с именем в столбце E.

Дни, Часы и Чек - это проверка: из даты и времени предыдущей записи вычитаются дата и время текущей записи, если они совпадают, т.е. их разность равна 0,  в столбце Чек появляется 1 (функция COUNTIFS()). Например, если учитель по ошибке дважды заполнил форму на одно и то же занятие, то это сразу видно и такая запись не учитывается в подсчете часов для оплаты.


При появлении новой записи из формы формулы в ячейках столбцов H:L  копируются из предыдущей строки скриптом, который срабатывает по триггеру при отправке формы.

В столбце M - Список учеников. Ещё один скрипт в момент получения данных из формы проверяет, не находится ли пришедшее имя ученика в этом списке. Если нет, т.е. ученик новенький и урок с ним в первый раз, скрипт вписывает новое имя в список. Далее информация о том, сколько занятий было проведено с данным учеником в неделю с данным номером. Для этого используется стандартная функция таблиц СOUNTIFS.

На следующем Листе учитывается количество часов, проведённых учителем в данную неделю в различных точках. Здесь тоже используется стандартная функция COUNTIFS. Точки сгруппированы по спонсорам, нам это необходимо. Этот лист используется при начислении оплаты каждого учителя. Часы по определенному предмету также суммируются из этих Листов. Наконец, из листов Часов по предметам суммируется  сводный отчёт по проведённым  урокам в данный период.


Первый Лист у Таблице - список всех учеников, который формируется в порядке поступления учеников. Здесь также указываются точки, в которых учатся ученики. Ещё один скрипт собирает информацию о количестве уроков, проведённых с данным учеником всеми учителями, с которыми он занимался в данную неделю. Скрипт запускается в конце каждой недели.


Есть ещё много разных вещей, которые могут делать таблицы и скрипты для них. Например, очень удобна функция IMPORTDATA, которая позволяет передавать данные в любую другую таблицу, и там уже их можно обрабатывать применительно в тому, какими вопросами ведает пользователь таблицы.

Таким образом, инструменты Google позволяют легко сформировать любые данные, по любому запросу, любого объема и, следовательно, контролировать процесс и осуществлять учёт результатов даже при физической разрозненности учеников и преподавателей. При этом эти инструменты всегда находятся в свободном доступе, всегда под рукой и отлично работают.