Все модели ошибочны. Некоторые модели полезны.
— Джордж Бокс

Ключом к искусственному интеллекту всегда было представление.
— Джефф Хокинс

Я работаю с различными клубами программистов, такими как CoderDojos, уже почти восемь лет. Некоторые из этих клубов добились успеха и уже много лет проводят еженедельные клубы кодирования. Но многие приходят и уходят в течение нескольких лет, месяцев или даже недель. Они часто зависят от лидерства одного родителя. Когда дети этого родителя заканчивают школу, клуб остается без организатора, клуб исчезает.

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

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

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

Модель 1: простая модель прогнозирования

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

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

В этой модели нет фасилитаторов. Нет ни наставников, ни учителей, ни интеллектуальных агентов, рекомендующих контент, ни сверстников, ни клубов кодирования. Это просто студент и содержание. Какой процент учащихся может научиться программировать без этих помощников? Я думаю, меньше 10%. Время от времени я сталкиваюсь с людьми, которые научились программировать, просто используя поисковую систему, чтобы найти онлайн-руководство, и они уходят оттуда без какой-либо помощи. Бывает, но такие случаи редки. Я предполагаю, что эти студенты находятся под сильным влиянием друзей и семьи, которые показали им, что кодирование — это весело и дает им большие возможности контролировать мир вокруг вас.

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

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

Математически функция вероятности успеха будет выглядеть примерно так:

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

Модель 2: добавление наставника

Далее добавим один уровень сложности. Давайте добавим наставника в нашу модель:

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

Факторы, определяющие эффективность наставника, можно разбить на три части:

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

Уравнение прогнозирования теперь становится немного сложнее.

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

Модель 3: Добавление клуба кодирования

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

Слева от модели данных мы добавили новый элемент: The Coding Club. Клубы кодирования обеспечивают социальный контекст для студентов, которые хотят научиться программировать. В физическом классе связи между учеником и его одноклассниками четкие и видимые. Учащиеся могут видеть, как другие учащиеся работают и сосредоточены на своих учебных задачах. При проектном обучении учащиеся работают в группах и узнают, как другие пишут и отлаживают код. Учащиеся обычно внимательно наблюдают за поведением других и быстро учатся, наблюдая за более старшими учениками в проекте.

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

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

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

Модель 4: Создание подробной модели клуба кодирования

После многих лет работы с клубами кодирования у меня на уме длинный список атрибутов клубов кодирования, которые мы можем собрать для каждого клуба. Некоторые из них показаны на следующей модели:

Из подписи к рисунку вы можете увидеть описание каждого из синих разъемов для кодирующего клуба. В идеальном мире успех клуба кодирования будет тесно связан с успехом его учеников. Студенты с высокими достижениями направляли других в клубы кодирования. То же самое должно работать и с наставниками. Если наставники имеют большой опыт наставничества, они будут рассказывать другим, что у них был большой опыт. Каждый из них будет с высокой вероятностью рекомендовать клуб, и тогда клуб получит высокий чистый рейтинг промоутера. Этот Net Promoter Score является наиболее важным способом распространения слухов, когда клуб программистов делает все правильно.

Лидерство также имеет множество подвидов:

  1. Существуют ли активные маркетинговые программы для привлечения новых наставников?
  2. Есть ли персонал для обучения наставников, когда они начинают работать?
  3. Существуют ли программы для связи с наставниками и поощрения их возвращения?
  4. Есть ли средства на покупку компьютеров и робототехнического оборудования?
  5. Назначают ли руководители управленческие задачи персоналу с соответствующими навыками?

Модель 5: Поставщик услуг Coding Club

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

  1. обязательная проверка биографических данных для наставников
  2. плата со студентов не взимается
  3. и максимальное соотношение ученика и наставника 3 к 1

CoderDojo также предоставляет обучение и рекомендации для своих клубов.

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

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

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

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