Каждый родитель думает : кем же станет его ребенок?
Дети способны постигать азы тех или иных наук с очень раннего возраста. Они как губка впитают все то, что вы им дадите. Так что чем бы вы ни занимались с ребенком — это даст свои плоды.
Хорошо известен тот факт, что нравиться заниматься тем, что получается лучше всего. Потому, если хотите отбить всякую охоту к занятием у ребенка — дайте слишком сложные задания. Хороший учитель усложняет задачу каждый раз совсем по чуть-чуть. Большинство людей не любят терпеть неудачи и преодолевать слишком большие трудности. Ну и конечно же, обучение в форме игры всегда лучше, чем нудная зубрежка.
Мне нравится программирование и это ремесло сейчас требуется на стыке всех прикладных отраслей, что сулит программистам и дальше хорошую востребованность. Исходя из этого и помня о стратегии обучения, я решил попробовать найти какие то программы или курсы для детей в Интернет. Что то вроде азов алгоритмизации и информатики.
Code.org
Сначала я натолкнулся на ресурс code.org. Где и нашел то, что надо. Все курсы бесплатны, рассчитаны на разные возраста и уровень подготовки (требуется чтение).
Курсы очень просты и предваряются видео-роликом. Не все ролики, впрочем, переведены на русский язык. Данные курсы можно начать изучать с малышом с 4 лет (Курс 1), когда вы только ещё учитесь читать с вашим малышом. Они состоят из игровых заданий, которые формируют рефлексы навыки работы с интерфейсами, базовое понимание алгоритмов.
Потом вы можете начать изучение различных песочниц, где ребенок получит практические навыки разработки алгоритмов. После обучения можно уже просто играть в этих песочницах, задаваясь конкретными игровыми целями.
Вот пример изучения одной из таких сред-песочниц.
Здесь нужно составить пиктограммы команд в нужной последовательности, чтобы Сердитая Птаха (Angry Bird) поймала Поросю. Задания идут от простых к сложным с пояснениями. Вначале надо будет посидеть с ребенком, потом можно будет давать волю попыхтеть им самим.
Проект Code.org ставит целью обучения людей основам информатики и программирования. Это некоммерческая организация. Она существует благодаря пожертвованиям.
Сode Сombat
Проект CodeCombat — это уже коммерческий проект, и он подойдет для детей начиная с 8-12 лет. Здесь вы будете писать программы, которые помогут вашему герою проходить разные задания-квесты.
Кто ваш персонаж
В начале есть пара персонажей, часть можно разблокировать по мере прохождения квестов, часть доступна только для платных подписчиков.
Вы всегда можете выбрать на каком языке вы будете составлять программы — Phyton, Javascript, Lisp и Lua. Не важно знаете вы или нет языки программирования, так что выбирайте любой — будете изучать.
Добывая в квестах самоцветы, вы сможете покупать дополнительные предметы снаряжения вашего героя, которые могут расширять доступный набор функций, команд изучаемого языка.
Задания
Задания очень разные. Чтобы выполнить одно и тоже задание можно написать разный код. Самые простые — решаются в несколько команд. Но есть и многоуровневые задачи, которые после прохождения усложняются. Нужно хорошенько продумать алгоритм, чтобы решить задачу на более сложном уровне.
Эта дикая смесь программирования с элементами прокачки персонажа, квестов, ролевки. Я просто прилип к креслу, задвинув работу :)
Как я уже сказал в начале — это коммерческий проект, и примерно половина квестов на карте открывается только за денежку. За денежку можно купить кристаллов, затариться крутыми артефактами, но все это не поможет, если «кодить» вы так и не научились.
Подписка стоит 10$ в месяц. Открывает она 7 уникальных персонажей, более 60 новых квестов, и дает 3500 бонусных самоцветов. Не такая уж большая цена за поиграться и поучиться.
Можно обойтись и без подписки.
Квест «Драка в темнолесье».
Ряд квестов предполагает выживание в течении какого то времени в определенной локации. Один из таких квестов «Драка в темнолесье». Мне конечно же захотелось поделиться примером своей программы для битвы в этой локации. Герой уже должен обладать кое-какими предметами:
- меч, который даёт навык «cleave» — урон по всем окружившим вам противникам;
- очки, дающие навыки findEnemies — метод возвращает список всех врагов в локации;
- наруч c командой isReady, проверяющей готовность навыка;
- ну и конечно же «Программтрон 2», содержащий заклинания if/else и loop. :)
А вот код программы, которую я составил для данной локации:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// Выживите под напором огров. // Если вы выиграете, то уровень станет тяжелее, а награда за победу больше. // Если вы проиграете, то сможете попробовать опять только через день. // Уровень меняется каждый раз при попытке прохождения. loop { var enemies = this.findEnemies(); var CleverTargers = 0; //надо найти стрелка if (enemies.length > 1) { for (var i = 0; i < enemies.length; i ++) { if (enemies[i].type == "thrower" || enemies.type == 'shaman') { if (this.distanceTo(enemies[i]) < 40) while (enemies[i].health > 0) this.attack(enemies[i]); } if (this.distanceTo(enemies[i]) < 7) CleverTargers ++; } } var enemy = this.findNearest(this.findEnemies()); if (enemy) { if (CleverTargers >= 3 && this.isReady("cleave")) this.cleave(enemy); else while (enemy.health > 0) this.attack(enemy); } var item = this.findNearest(this.findItems()); if (item) { this.moveXY(item.pos.x, item.pos.y); } } |
Я стараюсь уничтожать сначала стрелков. Круговую атаку берегу для нескольких врагов — как минимум 3. А также пытаюсь подбирать выпадающие пузыри со здоровьем, если такие выпадают. Делитесь своими скриптами :).