- PVSM.RU - https://www.pvsm.ru -

Играем в программирование

У программистов есть дети. В этом плане статистика непоколебима.
И эта статья будет интересна как раз тем, у кого есть ребенок в возрасте 5-~9 лет, тем кто уже задумывается или уже задумывался над вопросом как посвятить ребенка в азы программирования.

image

Зачем это нужно?

Если вы еще задумываетесь над этим вопросом ( I guess, no) — Programming for everyone, be creative [1].

В чем сложность?

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

Возможно, не дурная идея как на картинке в топике читать детям Java 2 на ночь вместо сказок, но, наверное, нужно быть настоящим гуру, чтобы сделать это интересным и захватывающим детское воображение, больше чем истории про Бабку Ежку.

Если ребенку не интересно — слушать он не будет…
RSA Animate — Changing Education Paradigms [2]

Так с чего же начать?

Шаг 0

Знакомство с компьютером можно начать с игровых программ:

Дети хорошо понимают визуальные примеры и инструменты похожие на игру.
Пример — Scratch, уже упоминался на Хабре, правда, только в рамках программирования под Адруино:

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

Задачки, с которых можно начать:

Примеры приведены “как есть”, не обессудьте. Далее “Кот” — визуальный объект в среде Scratch.
(Hello, world! намеренно пропущен)

  1. Движение. Сделать, чтобы Кот двигался по экрану
    • прошел N шагов;
    • ходил перебирая лапками;
    • двигался из точки в точку.
  2. Загадка. Кот должен загадать загадку и проверить ваш ответ. Пример, scratch.mit.edu/projects/14709879 [7]
  3. Рисование:
    • многоугольники: нарисовать треугольник, четырехугольник, N-угольник;
    • узоры, повторяющиеся фигуры, нарисовать дом. Пример, scratch.mit.edu/projects/12641639 [8]
    • “графический редактор” с выбором цвета.
  4. Упражнения со строками:
    • Соединение строк. Кот спрашивает имя мальчика, имя девочки и соединяет их в фразу. Пример, scratch.mit.edu/projects/13642667/ [9]
    • Подсчитать количество вхождений заданной буквы в слове.
    • Перевернуть слово. Пример scratch.mit.edu/projects/13844321/ [10]
    • Проверить слово палиндром или нет.
  5. Таблица умножения: Кот спрашивает цифру и рассказывает таблицу умножения на эту цифру. Пример, scratch.mit.edu/projects/14038043/ [11]
  6. Игры. Кот двигается по лабиринту или между экранами, собирая “бонусы”. Пример scratch.mit.edu/projects/14662137 [12]
  7. Часы со стрелками. Пример scratch.mit.edu/projects/12769526 [13]

Полезные правила (кажется простые, но некоторым из этих правил сложно следовать):

  • сначала пример;
  • ребенок хорошо понимает если ему хорошо объясняют — не нужно требовать много и сразу;
  • если ребенок вас не понимает — сделайте паузу до “завтра”, и придумайте новое объяснение;
  • для ребенка обязательно нужно время на просто “поиграть” в свое удовольствие, поэкспериментировать;
  • сложные задачи (такие как создание игры) — это здорово, и интересно, но для усвоения ребенком, имхо, лучше подходят простые задачи и главное многократное решение/повторение их вариаций.

И напоследок, важный алгоритм, который стараюсь хранить в уме.
image

Хочется услышать от предложения интересных задач для детей.

Автор: itsekhmistro

Источник [14]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/49274

Ссылки в тексте:

[1] Programming for everyone, be creative: http://www.youtube.com/watch?v=APn0gHmbTyg

[2] RSA Animate — Changing Education Paradigms: http://www.youtube.com/watch?v=zDZFcDGpL4U

[3] dvsvit.com.ua/cxodunku/: http://dvsvit.com.ua/cxodunku/

[4] gcompris.net/index-ru.html: http://gcompris.net/index-ru.html

[5] habrahabr.ru/post/196752/: http://habrahabr.ru/post/196752/

[6] habrahabr.ru/post/106778/: http://habrahabr.ru/post/106778/

[7] scratch.mit.edu/projects/14709879: http://scratch.mit.edu/projects/14709879

[8] scratch.mit.edu/projects/12641639: http://scratch.mit.edu/projects/12641639

[9] scratch.mit.edu/projects/13642667/: http://scratch.mit.edu/projects/13642667/

[10] scratch.mit.edu/projects/13844321/: http://scratch.mit.edu/projects/13844321/

[11] scratch.mit.edu/projects/14038043/: http://scratch.mit.edu/projects/14038043/

[12] scratch.mit.edu/projects/14662137: http://scratch.mit.edu/projects/14662137

[13] scratch.mit.edu/projects/12769526: http://scratch.mit.edu/projects/12769526

[14] Источник: http://habrahabr.ru/post/203686/