Конструктивна Магія. Частина 0 — вступ
Ну що ж, тепер цей період наступив у мене — хочу вчити дітей програмуванню. Ех, а ще тільки 30 років...
Спочатку ідея була проста — оскільки я девелопер зі стажем, то потрібно спробувати передати накопичені за ці роки знання у якомусь зручному вигляді. Менторство над великим проектом, скрінкасти як я пишу купу коду, просто передача знань по рандомним темам. Але це не спрацювало.
Багато причин, чому не спрацювало, можливо не такий я уже й «девелопер». Але я помітив одну штуку — дуже мало дітей викупають, в чому сенс програмування. Навіть якщо прямо про це казати, все-рівно не викупають. І якщо заохочувати через всякі мотиваційні штуки — ну, деякий час працює, але на перших же складнощах кінець навчання.
Все, звісно, індивідуально, але по якій же причині більшість не викупає математику та програмування? А вам не цікаво які це причини? А чому не цікаво?
А от мені цікаво. Тому я вирішив дослідити це питання та переписати туторіали/підручники по Пайтону на новий лад. А ви вже оціните, як воно у мене виходить, або не виходить. Або не оціните.
Наукові дослідження в педагогіці інформатики та програмування
Що таке педагогіка? Без поняття, не вчився на педагога. Але я знаю, що україномовна наукова педагогіка — лайно, яке краще не читати. Був би радий якби мене переконали в зворотньому, але поки-що я зупинився на англомовній науковій навколопедагогічній публіцистиці.
І якщо перейти одразу до суті, то існує один документ, який описує практично від і до всі нюанси проблеми навчання програмуванню. Це тезис (докторська) під назвою
Visual Program Simulation in Introductory Programming Education, Juha Sorva
Найкраще як описати цей твір, то це мета-огляд тисяч різних наукових праць в усіх навколозв’язаних темах. Хоч результатом тезису був хитрий візуальний дебаггер для Пайтона, цьому присвячена частина документу в самому кінці, а ось перша половина — must read для тих, хто хоче зрозуміти механіку навчання.
До-речі, про конструктивістів. До прочитання цього тезису я був конструктивістом, тобто, підтримував проектний підхід з старту, «кидай їх в воду, хай одразу вчаться плавати». Знання кожен повинен виробити для себе сам, працюючи над реальними проблемами, ага. Після прочитання я став більше консерватором і тепер підтримую саме інкрементальний, структурований та нарративний підхід.
Другий документ, який так чи інакше пригодиться починаючим вчителям, то це
Teaching Tech Together. How to create and deliver lessons that work and build a teaching community around them, Greg Wilson
Він перетинається з тезисом вище (хоча б тому, що написаний пізніше у часі), але торкається широкого набору тем саме класної роботи.
Все інше — по бажанню. Особисто мені ще сподобався набір вибраних статтей
Applying science of learning in education: Infusing psychological science into the curriculum, 2014
де описується навчання навчанню та наукове підгрунтя щодо ефективних методів навчання. Дуже добре, що науковці думають і над такими питаннями.
Чи потрібно вводити в айті, може най самі вайдуть?
Звісно, ми всі недолюблюємо вайтішників. І тому це бажання — робити кроки для збільшення кількість програмістів — здається дивним. Але моя позиція дещо інша.
Я хочу, щоб «програмування» стало базисом, must have для всіх людей, всіх спеціальностей. І як наслідок, хочу щоб всі хіміки, юристі, лінгвісти, інженери, фермери, політики стали хіміками-інформатиками, legal informatics specialists, інженерами-автоматизаторами, технофермерами, технократами і тд і тп. Хочу буст інженерної думки, додати обертів в рух прогресу.
Хочу, щоб збільшилась кількість гарних опенсорс проектів. Хочу більше рук для фіксів багів в існуючих опенсорс проектах.
І звісно, я не хочу щоб бізнес отримав дешеву розумову робочу силу. Я думаю, якщо всі будуть трошки програмістами, то скоріше бізнесменам доведеться ділитись з наймитами, а не навпаки.
І звісно, я не хочу понизити планку якості навчання в користь масовості. Спочатку потрібні якісні матеріали, а потім думати як зробити їх більш масовими.
Існуючі курси по Python
Чому я вирішив писати свій курс, а не взяти існуючий?
1. Вибір курсів зараз такий великий, що не ясно що саме вибрати. Ті курси, які публічні, щодо них не публікується статистика успішності навчання, так би мовити ККД курсу. Може, він такий низький що встидно публікувати? Або може ККД високий, але це бо орієнтований на еліту мат-факультету? Де високо-ККД-шний курс для дітей та підлітків, га?
2. Я сам вчив Пайтон «на льоту». І хотів би вчити саме вмінню вчитись «на ходу». Де курс, який вчить автодидактизму, га?
3. Окремо є проблема з завданнями до курсів. Велика проблема --- немає централізованого сховища навчальних завдань, якоїсь вікіпедії по завданням. Але ж навчання якраз і відбувається під-час самостійної роботи.
В одній статті висказується така думка. Лектори приділяють 80% часу створенню лекцій, і 20% часу створенню завдань, в той час як виконання самостійних завдань відповідає за 80% успішності навчання, а лекції --- тільки за 10% (ще 10% --- це вплив самого вчителя). WAT
Тож де практико-орієнтовані курси, га?
Так-то я не проти взяти існуючий курс. Лиш би це був ефективний курс.
Що за «конструктивна магія»?
А це метод мотивації.
А що як вчити дітей не програмуванню, а мистецтву магії? Стоп, а хіба магія існує?
Правда в тому, що існує. Слово «магія» древнього походження, тому і дивитись треба на речі з точки зору древніх. Всі ці сьогоднішні смартфони та інші продукти технологій виглядатимуть як магія для якогось середньовічного пересічного. Тобто, для оттих людей минулого правда в тому, що магія існує. Але це не просто ілюзія, або надприродні сили, ні. Це Конструктивна Магія, каузальність Всесвіту, яка через мозок людей утворює предмети, котрі змінюють реальність.
Я думав над тим, можливо математика — це і є та магія, яка це дозволяє? Ну, можливо, але більше схоже на те, що computation та mathematics йдуть паралельно одна одній. Наприклад, доведення (proofs) в математиці ізоморфні компутаціям, але сучасні компутації зооовсім не схожі на математичні доведення. Навіть в Хаскелі, простір програм які перетворюють
IO () -> IO ()величезний. Це зовсім не схоже на доведення теореми.
Та й самі «закони Природи», котрі скурпульозно витягуються фізиками з реальності, вони описують співвідношення. Але ж ці співвідношення повинні якось виконуватись одне за одним? Або паралельно? А де виконання, там і компутація. То може компутація (конструктивна магія) і є тим рушієм законів Природи?
Як кажуть розумні люди, це виглядає як чудо, що закони Природи дозволяють структури, котрі можуть досліджувати власне вищезгадані закони Природи (це я про людей та майбутній штучний інтелект). А де чудо, там і магія, конструктивна магія компутацій.
Простіше кажучи, нічого погано не станеться, якщо ми будемо відчувати себе трохи магами, чародіями та чародійками. Головне, щоб не захоплювались чорною магією.
Підсумок
Отже, я починаю (почав уже) писати цей новий курс по конструктивній магії. По закінченню кожної логічної частини буду її викладати, а по дорозі роз’яснювати ті чи інші моменти.
8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів