{"id":2175,"url":"\/distributions\/2175\/click?bit=1&hash=803b6e1bcbd9dfc4ba9456fda887a878c80d24df8d3a575913b14876e18923a5","title":"TJ \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f 10 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u2014\u00a0\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0430\u043d\u043e\u043d\u0441 \u0441 \u0434\u0435\u0442\u0430\u043b\u044f\u043c\u0438","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"d1d355d8-93a3-5140-aeae-14b03046b760","isPaidAndBannersEnabled":false}

Как мы дистанционно учим детей программировать

Через 10 лет нехватка программистов вырастет в несколько раз.

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

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

Уровень 1. Первые шаги

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

Вот чем хорош CodeMonkey:

1. Обучение в игровой форме и в маленьких дозах.

Дети часто отвлекаются - им трудно долго держать внимание на одной задаче. В CodeMonkey всё обучение идет в игровой форме на небольших задачах.

2. У всех задач одна цель - обезьяна должна собрать все бананы.

Ребенок получает постановку задачи не в текстовом виде, а в виде карты. Это сильно повышает интерес ребенка решать задачу.

3. В CodeMonkey готово более пятисот задач.

В известном всем Scratch ученик на старте получает пустое поле и это часто ставит его в тупик. В CodeMonkey всё обучение разбито на темы. Задания идут по нарастающей сложности. Это сильно упрощает жизнь и учителю и ученику.

4. Работа с текстовым редактором.

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

В CodeMonkey есть базовые конструкции языков программирования:

  • Операторы условия и присваивания;
  • Операторы цикла (until, while, for);
  • Функции;
  • Объекты и методы.

Дети с самого начала привыкают работать с кодом.

5. Задачу дают с куском кода, который нужно дополнить/исправить.

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

6. Возможность самому сделать прикольную компьютерную игру.

Детям нравится играть и делать мини-игры. На последних уровнях обучения CodeMonkey предоставляет простой движок для создания игр.

Слабые места CodeMonkey

Мы выделили отсутствие трёх важных вещей:

  • Задачи очень просты. Отсутствуют классические задачи школьного курса, например: сортировка пузырьком, создание мини калькулятора и т.д.
  • Детей не учат отладке программ. Я закончил педагогический университет и пять лет обучал детей основам программирования. Для себя понял - если ребенок научился делать трассировку программ, он почти познал дао программирования.
  • У детей случаются простые “затыки”, и если им не помочь - они бросают тему. В CodeMonkey нет кнопки “Помочь решить задачу.”

Итоги по CodeMonkey

В целом, считаю CodeMonkey практически идеальной средой для знакомства с программированием.

Чтобы ребенок преодолел “затыки” и понял тему:

  • Мы для каждой задачи CodeMonkey написали подсказку (примерный алгоритм).
  • Если подсказка не помогла - ребенок может посмотреть записанный нами видеоролик с решением и комментариями преподавателя.
  • Если и с видео роликом непонятны все аспекты, то можно пообщаться с преподавателем в чате.

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

Уровень 2. Основные задачи курса

После решения задач CodeMonkey дети, изучающие наш курс, переходят к основным задачам.

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

К таким навыкам мы относим:

1. Умение видеть суть задачи;

2. Определять, что вводит пользователь (входные данные программы);

3. Определять, что программа выводит пользователю (выходные данные);

4. Разбивать задачу на подзадачи;

5. Продумывать алгоритм выполнения программы;

6. Производить отладку программы.

Мы используем обычные задачи продвинутого школьного курса, примеры:

  • Дано целое число x от 1 до 999 и y. Вставить между каждой цифрой числа x знак действия {+. -, *} так, чтобы результатом выполнения действий стало число y. Например: x = 256; y =32; Ответ: 2+5*6 = 32/
  • Дано положительное целое число x. Найти сумму всех четных целых чисел от 1 до x.
  • Написать программу, которая считает: сколько можно купить быков, коров и телят, платя за быка 10 руб., за корову — 5 руб., а за теленка — 0,5 руб., если на 100 руб. надо купить 100 голов скота? Написать программу, которая угадывает целое число, которое загадал пользователь (от 1 до 100).
  • Программа выводит на экран предполагаемый ответ, если загаданное пользователем число больше, чем выдала программа, пользователь вводит ">", если загаданное пользователем число меньше, чем выдала программа, пользователь вводит "<". Если программа угадала число, пользователь вводит "ДА". Пользователь должен быть честен. Программа должна угадать число, используя как можно меньше попыток.
  • Заменить буквы цифрами так, чтобы соотношение оказалось верным (одинаковым буквам соответствуют одинаковые цифры, разным — разные): ХРУСТ* ГРОХОТ = РРРРРРРРРРР.

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

Например, для задачи Сложить два числа A и B, мини-тест содержит следующие вопросы:

Что вводит пользователь:

  • A
  • B
  • A, B, S
  • A, B

Что программа выводит пользователю:

  • A
  • S
  • B
  • A, B, S

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

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

Уровень 3. Дипломный проект

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

В больших проектных заданиях ученик учится решать задачи реальных проектов:

  • Составление мини технического задания;
  • Планирование проекта, разбиение на подзадачи;
  • Разработка прототипа;
  • Написание тестов и тестирование проекта;
  • Разработка первой версии;
  • Сдача проекта наставнику.

Примеры больших проектных заданий:

  • Создать игру «Тетрис».
  • Разработать игру «Шахматы» (или другую логическую игру) с возможностью играть вдвоем или против компьютера.

Естественно большинство проектов, намного проще. Самые маленькие ученики будут в качестве проектного задания делать игру на CodeMonkey. Остальным мы предложим Visual Studio Code.

Как проходит обучение

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

Каждая тема содержит различные типы заданий:

  • Изучение материала;
  • Тесты;
  • Решений задач в CodeMonkey;
  • Решений задач на TypeScript;
  • Домашнее задание.

После выполнения задания ученик переводит задание в статус “Решено”. Часть заданий проверяется автоматически, часть нашим наставником.

В конце каждой недели родитель и ученик получают письмо с полной статистикой и вопросами для обсуждения.

Высылаем результаты недели по ученику:

Тема 1.1. Как работают компьютеры

a. Что такое компьютеры - узнай новое (Пройдено)

b. Что такое компьютер - реши тест (Пройдено)

c. Устройства ввода и вывода информации - узнай новое (Не пройдено)

d. Устройства ввода и вывода информации - реши тест (Не пройдено)

и т.д

Заключение

Как бы мы ни старались помочь ученику, путь к знанием сложен и тернист. Ученику сильно поможет активная позиция родителей. Мы считаем, что наш курс для детей, родители которых готовы еженедельно обсуждать задания и материалы курса. Если родитель видит что ребёнок начинает “плавать” в материале или теряет интерес, нужно обязательно помочь ему и/или обратиться к наставнику

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

Как сказал известный многим человек:

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

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

Что вы думает о нашем курсе ?

0
97 комментариев
Написать комментарий...
Близкий танк88

Комментарий недоступен

Ответить
Развернуть ветку
Практический инструмент

Надо учить программированию в форме смешных комментов.

Ответить
Развернуть ветку
1 комментарий
Конституционный турник

Артём, я тоже в ожидании годных комментов, присоединюсь к Вам)

Ответить
Развернуть ветку
8 комментариев
Морской паук например

да господи, если так пойдёт, через 10 лет в россии самыми востребованными профессиями будут собиратели валежника и охотники на струю бобров

Ответить
Развернуть ветку
Конституционный турник

Бобровая струя даст всем достаточно энергии для программирования!

Ответить
Развернуть ветку
2 комментария
Парижский Валера

мне не 11, но я готова учиться. где регистрироваться?

Ответить
Развернуть ветку
Конституционный турник

Будем Вам рады) http://codeking.online/

Ответить
Развернуть ветку
4 комментария
Всероссийский чайник

Code Monkey. Неплохо.

Ответить
Развернуть ветку
Сельскохозяйственный микрофон
Через 10 лет нехватка программистов вырастет в несколько раз.

Я не верю в это. Скорее, профессия себя перерастет. Посмотрите на развитие общественного транспорта и метро, количество перевозок значительно увеличилось, но где-же представители перспективной профессии - извозчики?

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

Ответить
Развернуть ветку
Подходящий хичхакер

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Конституционный турник

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

Ответить
Развернуть ветку
2 комментария
Недостаточный корабль

Комментарий недоступен

Ответить
Развернуть ветку
8 комментариев
Немой месяц

Ерунда полная. Если ребёнок в 11 лет не может научиться программировать без свистелок и перделок то нахер не надо ему становиться программистом

Ответить
Развернуть ветку
Конституционный турник

Дети разные, не все способны к самоорганизации. Не значит, что подход должен быть как в Спарте)

Ответить
Развернуть ветку
5 комментариев
Справедливый фитиль
В больших проектных заданиях ученик учится решать задачи реальных проектов

А как же легаси, чтобы не было неоправданных надежд?

Ответить
Развернуть ветку
Конституционный турник

Кстати, это интересный вопрос. Мы подумаем над тем, как подготовить детей к ТАКОМУ

Ответить
Развернуть ветку
Французский пёс_анон

Еще один длиннопооост, не многовато для понедельника?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
18 комментариев
Редкий Влад

У меня вьетнамские флэшбэки с этого поста.

Ответить
Развернуть ветку
Трудящийся цветок

Я бы и сам по такому поучился))0

Ответить
Развернуть ветку
Конституционный турник

Павел, будем рады видеть Вас среди наших учеников)

Ответить
Развернуть ветку
Резкий жар

Раз уж речь идет о typescript - можно было бы добавить главу о написании тестов (юнит-тесты/спеки).

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

Ответить
Развернуть ветку
Таможенный дым

Комментарий недоступен

Ответить
Развернуть ветку
2 комментария
Конституционный турник

Спасибо Вам, это хорошее предложение!

Ответить
Развернуть ветку
Электрический Кирилл

С детства портить детей программированием. И не стыдно вам?

Ответить
Развернуть ветку
Суровый супер_стар

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

Это полезно, кем бы не стал ребёнок.

Ответить
Развернуть ветку
Последующий дебаркадер
Это полезно, кем бы не стал ребёнок.

А если уже не ребёнок, но ещё не решил кем стать

Ответить
Развернуть ветку
1 комментарий
Голый калькулятор

Комментарий недоступен

Ответить
Развернуть ветку
Конституционный турник

А у меня нет( Я теперь наверстываю упущенное и в CodeMonkey залипаю

Ответить
Развернуть ветку
Конституционный турник

Подождите, Вы про черепашку, связанную с языком программирования Кумир или про "вышла черепаха"?

Ответить
Развернуть ветку
1 комментарий
Мудрый браслет

Я думаю, что не нужно использовать такой логотип. Такое ощущение, что рандомно выбран вторичный логотип из логофолио какого-нибудь дизайнера.

Ответить
Развернуть ветку
Научный дебаркадер

Комментарий недоступен

Ответить
Развернуть ветку
5 комментариев
Конституционный турник

Нет, мы его заказывали и выбирали из нескольких вариантов. У нас были и другие версии того, что в итоге будет логотипом. Можно тут совместное голосование за лучший вариант устроить)

Ответить
Развернуть ветку
Половый звук

The courses are offered in english too?

Ответить
Развернуть ветку
Подходящий хичхакер

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Конституционный турник

I'm sorry, but no( Someday, someday...

Ответить
Развернуть ветку
Плоский Абдужаббор

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

Ответить
Развернуть ветку
Плоский Абдужаббор

не понимаю почему рекламный длинопост на неактуал собрал столько лайков

Ответить
Развернуть ветку
Свободный самолет
Через 10 лет нехватка программистов вырастет в несколько раз.

Какие доказательства этого утверждения?

Ответить
Развернуть ветку
Конституционный турник
Ответить
Развернуть ветку
Читать все 97 комментариев
null