Meeting minutes - kostbash/lc GitHub Wiki
Идеи [16.04.2015]
- Глобальное дерево умений:
- Каждое дерево умений курса может быть связано с умениями других курсов (т.е. связываются не курсы, а их деревья умений)
- Курс - это фрагмент глобального дерева умений, лендинг для посетителей, которые значют что хотят.
- Возможно, стоит позволять авторам курсов присоединять свои курсы к любым курсам, но в паблик такие связи буду попадать тольк после прохождения модерации такой связи и доабвляемого фрагмента умений
- Инструмент: глобальная диагностика по глобальному дереву умений
- Пошаговое решение заданий (скрипты УЗ):
- тело УЗ - скрипт
- это позволит делать пошаговое решение заданий (динамическое определение проблемы, вывод подсказки, динамическое отображение соответствующих контролов).
- Генераторы будут делать скрипты заданий (т.е. УЗ), меняя способ решения и его количественные параметры
- Подсказки нужны, чтобы проверить правильность способа действия ученика при выполнении шагов заданий, а также последовательность выполнения шагов. После проверки, в случае необходимости, нужно демонстрировать последовательность шагов и способ выполнения каждого шага.
- Подсказки начинают работать, когда ученик неверно выполнил заданий (в блоке типа Упражнение). Ученику последовательно показываем и предлагаем выполнить следующий шаг. Если он выполняет его правильно, предлагаем еще раз попробовать решить задачу. Если нет, показываем способ выполнения шага и тоже предлагаем решить. Если решить задачу опять не получается, повторяем шаг пока ученик не решит задачу или пока не завершим последний шаг решения.
- Добавление диагностического теста в начало курса – исключение уже известных умений из прохождения (по аналогии с подходом Filtered)
- Работа над ошибками в тесте. Возможность демонстрации ученику (например, из окна результатов теста) где были сделаны ошибки.
- Включение рефлексии в блоки (для методологии создания курсов)
Динамические курсы [06.04.2015]
- Как выбирать задания в блок:
- Ввести понятие шаг умения. С точки зрения отбора заданий в блок это умение.
- При редактировании умения (при двойном клике на умение в дереве умений курса) попадаем в задание шагов умения. Для каждого шага:
- Теоретическая часть
- Название. По умолчанию порядковый номер
- Идентификатор (по которому будет просиходить отбор заданий в блок)
- Должна быть возможность (при этом существующие задания должны ссылаться на те же задания на которые они и ссылались):
- Добавления в заданное место нового шага
- Удаление заданного шага
- Добавление в конец шагов нового шага
- При определении задания можно задать умение и номер шага данного умения
- Набор шагов умения должно быть возможно преобразовать в последовательность умений (шаги становятся полноценными умениями).
- При отображени в дереве умений выводится число шагов даного умения, а при наведении список названий шагов.
- При создании нового умения, в нем по умолчанию 1 шаг с пустой теоретической частью и с названием "1".
- При поиске заданий при указании умения (при этом не указаны шаги) подбираются задания со всеми шагами, первыми выбираются задания первого шага и т.д.
- Поиск по умения осуществляем по двум параметрам:
- основное умение
- набор второстепенных умений (все из набора должны присутстоввать в отбираемых заданиях)
- Как обеспечить неразрывность в продлджении усвоения:
- В алгоритме скрипта при определении тип действия в блоке на первое место поставить проверку не нужно ли продолжить какое-либо умение, потом: диагностическое тестирование, тестирование, повторение, тестирование повторения, освоение нового.
Динамические курсы [19.03.2015]
- Параметр курса определяющий после скольких циклов усвоения нового и его тестирования запускать диагностический тест.
- Диагностический тест - универсальная процедура, выкалыаающая (отмечаем как нужно повторить умение) на дереве умений умения, которые следует усвоить заново. При входе скрипта в диагностический режим скрипт может запускаться в этом режиме несколько раз пока не будет выявлена вся цепочка непонятых умений. При выходе из диагностического теста скрипт запускается в обычном режиме и начинает повторять (а потом и тестировать) выколотые умения.
- Параметр Вес (Сложность) который проставляется заданию и при отборе заданий в блок они выврдятся ученику во порядке веса.
- Параметр курса, определяющий сколько циклов сколько циклов повторения (по кривой забывания) нужно показывать теоретические задания.
- В динамических курсах части теста не нужны так как задания выбираются из всего пула заданий. Продумать реализацию.
- Порог для умений брать один для всех из настроек курса.
Динамические курсы [06.03.2015]
- Определения:
- Умение: Название + описание (теоретическая справка) + связи с другими умениями
- Группа умений: набор умений. Минимальная группа умений - это одно умение. Задание групп умений не обязательно для курса.
- Скрипт курса: программный код
- Результат выполнения скрипта:
- определятеся название блока
- определеятеся тип блока: тест или упражнение
- подбирается набор заданий и их последовательность (в случае теста опредляются также части теста)
- определяются умения блока и порог по каждому умению
- необходимость добавления после выполнения блока признака окончания урока
- При выполнении скрипт основывается на:
- Базе заданий курса
- Дереве умений курса
- Истории данного ученика в рамках текущего курса: параметры каждого прохождения каждого задания курса к текущему моменту:
- идентификатор задания
- выполнено / не выполнено
- умения данного задания
- время прохождения
- дата и время прохождения
- текущие параметры (параметры измеренные сейчас и имеющие короткий период актуальности):
- давление
- пульс
- уровень глюкозы
- состояние зрачков
- температура частей тела
- время суток
- общая оценка состояния
- нахождение на кривых обучения и забывания по каждому пройденному умению
- параметры ученика (параметры ученика вне зависимости от обучения и конкретного курса):
- время фокуса внимания
- параметры кривой обучения
- параметры кривой проблемного усвоения (когда становится понятно, что ученик не понимает)
- параметры кривой забывания (устаревания знаний)
- восприятие типов информации
- восприятие типов заданий
- оптимальный размер блока
- восприятие повышения сложности
- Результат выполнения скрипта:
- Курс:
- база заданий (у каждого из которых проставлены умения)
- скрипт курса
- список умений (возможно древовидный)
- глобальные переменные для данного курса и данного прохождения курса учеником:
- время последней активности ученика в курсе
- кастомные переменные
- Изменения в страницах:
- Странциа курса: строится динамически на основании дерева умений данного курса
- Страница теоретической справки: строится динамически на основании дерева умений данного курса
- Продходы к созданию курса (примеры для которых будут реализованы мастера создания курсов):
- Последовательность умений.
- Последовательность блоков:
Активности на первый этап и его начальную фазу [08.12.2014]
- Фокусируемся на продвижении, контент не пишем пока не выйдем на 50 переходов в день извне
- Для продвижения:
- 5 ссылок в день (вечером после работы)
- 1 статью в 3 дня с публикацией (на работе, вечером согласовываем и дописываем эти же вечером) с репостом в соц сетях
- активно общаемся с пользователям (с утра на работе до 11:00):
- пишем письмо, которые только что зарегистрировались
- пишем письмо неактивным 3 дня
- пишем письмо тем у кого сложности с вопросом и исправлением ситуации
- пишем тем кто прошел курс
- для freeedu:
- пишем методические статьи (1 согласованная статья в 3 дня)
- 1 запись в день кроме рпостов
- Разработка:
- неделя с 8 по 14 декабря: доработки по работе с пользователями для продвижения
- далее "Катетеризация заданий"
- Следим за конкурентами:
- http://www.learnathome.ru
- Функционал (первый понедельник каждого месяца)
- ЯКласс (раз в неделю во вторник утром)
- число посетителей в день
- набор предметов
- набор курсов с параметрами: класс, предмет
- функциональность: новые возможности
- interneturk.ru (раз в месяц)
- Функционал (первый понедельник каждого месяца)
- foxford.ru (раз в месяц)
- число учеников
- набор курсов
- функционал
- http://www.learnathome.ru
Динамические курсы 1 [22.07.2014]
Для решения некоторых педагогических задач недостаточно статических курсов (тех курсов, которые точно определяются при создании). Часто нужны курсы, которые подстраиваются под конкретного ученика и его задачи. В том числе подстраиваются прямо в процессе прохождения курса, на основании результатов выполненных учеником действий.
Задача - разработать систему для "программирования" курсов. Т.е. систему, позволяющую заложить в курс алгоритм, который оценивая результаты прохождения и особенности ученика будет строить курс по мере продвижения ученика.
Вводим понятие - шаблон блока. Это каким-либо образом заданный алгоритм, который на основании имеющихся в его распоряжении данных, наполняет блок заданиями из локальных заданий курса, соответственно определяется набор проверяемых умений и их пороги для данного блока. Самым простым способом определения шаблона блока является статическое задание заданий, т.е. отсутствие какого-либо алгоритма.
Напомним, что блок является у нас минимальный единицей кантовании работы ученика. Т.е. размер блока определяется размер сессии. Другими словами ученик может остановиться посередине урока и потом продолжить работу, но ученик не может остановиться посередине блока и потом продолжить работу.
Курс может содержать от 1 шаблона блока. Шаблоны блоков выполнятся последовательно. Т.е. пройдя по всем шаблонам, созданным определенным шаблоном блока ученик переходит к выполнению блоков, созданным следующим шаблоном блока. И так до выполнения всех блоков всех шаблонов. Заранее невозможно сказать сколько блоков ученику придется пройти в процессе работы над курсом. Это зависит от его успехов и особенностей алгоритма каждого блока, который будет определять овладел ли ученик навыками на достаточном уровне.
Алгоритм шаблона блока будет задаваться с помощью скриптового языка. Программа, заложенная в шаблон блока, опираясь на данный накопленные системой о прохождении курса и на задачи курса, будет формировать блоки и проверять условие возможности завершения блока. Параметры, к которым нужно иметь возможность обращаться из кода шаблона блока для построения алгоритма:
- история работы ученика (параметры для обновления которых нужно действие ученика):
- пройденные курсы
- пройденные умения
- оценки по пройденным умениям
- текущие параметры (параметры измеренные сейчас и имеющие короткий период актуальности):
- давление
- пульс
- уровень глюкозы
- состояние зрачков
- температура частей тела
- время суток
- общая оценка состояния
- нахождение на кривых обучения и забывания по каждому пройденному умению
- параметры курса (ограничение на курс, сделанные перед прохождением курса, для конкретного ученика и для конкретного прохождения. время жизни этих параметров - курс):
- общее число часов, отведенное на курс
- требования к каждому умению по окончанию курса
- диапазон длительности занятий
- ограничение на число занятий
- предполагаемое время прохождения занятий
- ограничение на сложность занятий
- ограничений на типы заданий
- необходимость авторизации родителем/педагогом некоторых действий
- параметры ученика (параметры ученика вне зависимости от обучения и конкретного курса):
- время фокуса внимания
- параметры кривой обучения
- параметры кривой проблемного усвоения (когда становится понятно, что ученик не понимает)
- параметры кривой забывания (устаревания знаний)
- восприятие типов информации
- восприятие типов заданий
- оптимальный размер блока
- восприятие повышения сложности
Многие параметры будут рассчитываться на основе базы данных, хранящей все действия ученика в системе:
- история выполнения заданий:
- для каждого задания будут записаны:
- время суток выполнения
- время выполнения
- ссылка на задание (умения, сложность)
- результат
- в рамках какого курса, урока и блока выполнено задание
- для каждого задания будут записаны:
- движения мыши
- скорость навигационных действий
Для облегчения программирования шаблонов блоков будут использованы: - мастера построения кода - визуальные диаграммы, компилируемые в код
Разбиения курса на уроки на начальном этапе будет выполняться по числу блоков/числу заданий/тестов. Так как заранее невозможно предсказать число блоков, то и разбиение блоков на уроки будет носить условный характер. Так же как и финальное число уроков в курсе. При этом статические курсы будут использоваться наравне с динамическими.
Для обеспечения снижения риска ошибок проектирования следует проработать этапы внедрения динамических курсов, расширение функциональности скрипта с постоянной поддержкой визуальных средств разработки статических курсов.
Виды заданий для генератора английского - слова [07.06.2014]
- Точный ответ:
- дано картинка: воспроизвести написание на изучаемом языке
- дано написание на изучаемом языке (озвучка): воспроизвести написание перевода
- дан перевод: воспроизведите написание на изучаемом языке
- Выбор одного из списка:
- те же варианты, что и для точного ответа, но с добавлением возможности выбора неправильных ответов. Неправильные ответы выбираются из того же словаря по тем же тегам. Если нехватке слов с теми же тегами в выбранном словаре для заданного числа неправильных ответов, то использовать случайные слова из выбранного словарю
- выбор тега для написания слова на изучаемом языке
- Сопоставление:
- аналогично предыдущем трем видам задания
- сопоставление написание слов на изучаемом языке и тегов (в том числе "исключить лишнее слово из списка")
- кроссвроды, word search, змейка
Генератор для английского - слова [07.06.2014]
- генератор работать со списком словарей слов (копирование список и их частей)
- поля словаря слов:
- написание на изучаемом языке
- html-текст описания, в большинстве случае просто картинка (опциональное поле)
- написание перевода
- часть речи
- расширяемый список тегов
- для запуска генератора выбирается один словарь на основе которого будут генерироваться задания
- при редактировании словаря необходима фильтрация по тегам, написанию
- фильтрация словарей по пользователю (словари доступны всем), названию, тегам, названию
- Настройки запуска:
- словарь
- определяем выборку из словаря для которой нужно генерировать задания. Фильтрация по тегам, ручная выборка.
- указываем тип задания которые нужно сгенерировать. Подробно описать типы.
Объекты обучения 2 [06.06.2014]
- не делать отдельную сущность объекты обучения и словари объектов обучения
- так как применение задачи в описанном виде видеться только для пополнения словарного запаса при изучении языков, т.е. задач довольна узкая. А также автоматизируемым является ограниченный набор типов заданий, то имеет смысл сделать словарь слов как настройку определенного генератора
- предполагается сделать генератор заданий для запоминания слов иностранного языка
- генератор будет иметь настройку (кнопка с переходом в отдельное окно) - список слов доступных для генерации заданий
- словам в списке будет возможность проставить любой тег, для того чтобы их можно было отбирать для генерации заданий
- генератор должен иметь возможность генерировать различные типы заданий (параметр генератора), возможно случайное определение типа или набор типов заданий
- Продумать: список слов хранить для каждого курса свой. Иметь возможность импортировать список из курса в курс. Продумать реализацию.
Генераторы для математики [29.05.2014]
Делаем еще два генератора:
- генератор простых текстовых задач: аналогично генератору примеров шаблон -> формула ответа, и поле для генерирования условия задачи с переменными, для которых также задаются области значений.
- генератор задач single choice: условие как в предыдущем генераторе, шаблон для правильного ответа, шаблоны для неправильных ответов, ограничения на операнды, доп. ограничения (как в генераторе примеров)
Типы заданий [29.05.2014]
Классифицируем задания по следующим типам:
-
content - не требует ответа, для теор. части
-
precise answer - точный ответ с текстовым полем для ввода
-
single choice - выбор одного правильного ответа из списка предложенных
-
multiple choice - выбор нескольких ответов из списка предложенных
-
any of given answers - поле для ввода, подходит любой ответ из списка
-
reorder - упорядочить объекты. Объектами могут быть блоки, визуализация элементов словаря.
-
match (+ restrictions) - проставить соответствия между объектами. Для определения задания нужно задать:
- типы объектов (блоки /слова/картинки) участвующие в сопоставлении - списки объектов каждого типа - выбрать доступное визуальное отображение для каждого объекта и общее оформление. - список ограничений на возможные связи - правильные связи (в том числе разной мощности) Пример1: есть список слов нужно распределить их по существительным и глаголам. Задаем два типа объектов: слова и области. Добавляем список слов как объекты типа слово и две области для глаголов и существительных. Выбираем визуальный вариант для каждого типа объекта, например, для слов "слово в рамочке", для областей - "колодец". Общее оформление - "деревня" (в этом оформлении плейсхолдеры для мест куда будут помещены колодцы нельзя перетаскивать). Пример2: есть текст с вырванными словами. нужно вставить в пропуски правильные слова. Задаем два типа объектов: пропуски и слова, которые нужно вставить. добавляем нужно число пропусков и слова для вставки. Определяем визуальный вариант для слов - элемент выпадающего списка, для пропусков - "выпадающий список". Выбираем визуальное оформление - "текст с пропусками". Задаем список ограничений на связи: для каждого пропуска доступные для выбора в этом месте слова. При отображении в местах соответствующих пропусков будет отображаться выпадающий список с доступными для выбора (определенными ограничениями) словами. -
arbitrary answer (как общий случай fill the gaps) - заполнение объектов текстом. Задание отсылается на проверку преподу так как текст может быть введен любой. При создании задания задается тип оформления, например, с настройкой в виде текста. Определяются число и расположение пропусков.
Объекты обучения [28.05.2014]
- возможность имеет смысл ввести понятие "объект обучения" и соответственно "словарь объектов обучения"
- словарь объектов обучения - есть атрибут курса. Курс может иметь несколько словарей
- словарь содержит список объектов
- для каждого словаря, при его создании можно задать набор полей, характеризующих элементы словаря
- вариант применения: словарь английских слов для запоминания в рамках курса
- генераторы могут на основании словарей соответствующего курса генерировать задания, использующие объекты обучения. Генераторы не должны "знать" о наборе полей, каждого словаря, так как генератор не должен быть привязан к курсе. Генераторы могут использовать поля для словарей для составления заданий определенного типа.
- объекты обучения могут использоваться для проектирования курса (распределение объектов по ходу курса), как элемент задания, на который задание ссылается, для отображения списка объектов, которые изучаются в рамках курса
- возможно использовать цитируемость объектов а заданиях курса для определения рапределения и как параметра генератора