Як ми обговорювали в нашому дописі в блозі минулого місяця, одна з наших ключових цілей на наступний рік - перебудувати треки так, щоб навчання приносило учням задоволення, а наставництво було простішим. За останній рік ми досягли величезного поступу завдяки проєкту Track Anatomy, який очолила Maud de Vries, і в результаті виявили кілька фундаментальних проблем у тому, як структуровані треки, які, на нашу думку, слід розвʼязувати першочергово. Останні два місяці керівна команда обговорювала, як нам до цього підійти і що потрібно зробити, щоб привести наші треки до потрібного стану й вчасно пропонувати ідіоматичне вивчення різних мов.
Сьогодні я з великим захопленням оголошую, що ми запускаємо проєкт разом з James Evans і Gary Lupyan з Чиказького університету, за підтримки Фонду Слоуна. Він дасть нам змогу серйозно зосередитися на тому, щоб переосмислити треки Exercism із самих основ і реалізувати ці зміни низкою мов. Крім того, я радий повідомити, що ми найняли Erik Schierboom очолити проєкт.
Background
Останні два роки James і Gary досліджували, як мови, якими користується програміст, впливають на його ефективність, креативність і співпрацю. За підтримки ґранту від Фонду Слоуна вони дійшли висновку, що критично важлива частина цього дослідження - зрозуміти, як програмісти вивчають різні мови і як наявні знання допомагають чи заважають засвоювати нове. Це саме те питання, яке ми ставили собі щодо мовних треків на Exercism. Як попередній досвід людини впливає на шлях, який їй потрібен у наших треках, і на стиль та зміст наставництва, на які вона найкраще реагує?
James, Gary і Фонд Слоуна вирішили вкласти частину своїх ресурсів у те, щоб Exercism міг зосередитися на переосмисленні наших треків: зробити їх більш орієнтованими на унікальні особливості кожної мови та більш персоналізованими з огляду на наявний досвід учня.
The Project
Про це ми ще багато будемо писати в блозі найближчими тижнями й місяцями, але зараз я хочу окреслити головні цілі, яких сподіваємося досягти цим проєктом, і те, як вони вплинуть на Exercism.
Переосмислення ядра треків: Наші треки мають на меті навчати мов програмування, а не програмування як такого. Ми хочемо закласти це в наші треки й переосмислити основні шляхи так, щоб вони зосереджувалися саме на тому, щоб навчати ідіом, які роблять мову унікальною. Ми плануємо проєктувати й розробляти нові вправи, кожна з яких присвячена одній конкретній ідіомі. Наприклад, у Ruby може бути вправа, яка вчить перелічування, а не цикли, а в JavaScript - поняття прототипів чи привʼязування.
Розробити повне покриття основних вправ автоматичним аналізом: Ми хочемо, щоб учень міг швидко пройти ядро треку. Проєктуючи вправи, ми свідомо зосередимося на тому, як забезпечити 95% покриття автоматичним аналізом для можливих рішень. Це означає, що наставники взаємодіятимуть із тими 5% учнів, яким справді потрібна їхня допомога, або з цікавішими та різноманітнішими додатковими вправами. У межах цього ми хочемо розробити інструменти, які дадуть наставникам змогу долучатися до автоматичних аналізаторів, не занурюючись у код проєкту.
Пропонувати персоналізоване автоматичне наставництво та підказки на основі попереднього досвіду: Коли ми завершимо попередні кроки, хочемо дослідити, як пристосувати відгук, який отримує учень, до його попереднього досвіду: і щодо автоматичних відповідей, і щодо підказок, які ми даємо наставникам. Відгук, який потрібен людині під час вивчення конкретної мови, сильно залежить від її попередніх знань. Їхні опорні точки відрізняються, і від наявних знань часом важче відвикнути, тож, зважаючи на попередній досвід людини, ми можемо запропонувати учням персоналізованіший і корисніший досвід.
Додати підтримку написання коду в браузері: Паралельно з переосмисленням ядра треків ми додамо одну з наших найзапитуваніших можливостей: змогу розвʼязувати вправи в браузері. Це не замінить використання CLI, яке, на нашу думку, є надзвичайно цінним способом навчання, але дасть людям змогу швидко спробувати мови й дослідити їх, не встановлюючи саму мову та її інструментарій.
The Funding
Фінансування, яке ми отримуємо від Фонду Слоуна через James і Gary, дасть Джеремі, Nicole, Charles і Karlo змогу присвятити більшу частину свого часу протягом наступних 12 місяців продуктовій роботі, розробці й архітектурі, потрібним для досягнення окреслених цілей.
Воно також дасть нам змогу найняти Erik, щоб він очолив «навчальну програму» в проєкті. Erik робить значний внесок в Exercism із 2016 року: супроводжує треки C#, F# і Scala, створює аналізатори, проєктує вправи, долучається до project-specifications і займається наставництвом. Він також захоплюється мовами програмування і пройшов значну частину треків на Exercism. І, що важливо, його щиро люблять і поважають у спільноті Exercism, тож він якнайкраще підходить на роль людини, яка допоможе нам зрозуміти, як проєктувати треки й системи, щоб у них яскраво проступали відмінності та схожість 50 різних мов програмування.
Getting involved
Ми зберемо окрему команду, яка допомагатиме в цьому проєкті. Ця команда визначатиме ідіоми в різних треках, проєктуватиме нові основні вправи, допомагатиме нам розробляти фреймворки й стандарти для аналізаторів і обмірковуватиме, як наявні знання впливають на навчання.
Ми будемо дуже раді почути від досвідчених наставників, які водночас є мейнтейнерами й хочуть долучитися. Напишіть мені в Slack.
Conclusion
Ми дуже раді цьому наступному етапу. Ми віримо, що він допоможе Exercism зробити величезний крок уперед і краще служити і нашим учням, і наставникам. Ми надзвичайно вдячні James, Gary і Фонду Слоуна за їхню підтримку.