Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.

CodeKarts — приложение для подготовки дошкольников к изучению кодинга. Головоломка развивает наблюдательность, концентрацию внимания и логику. Действие игры происходит на треке: дети пишут код и составляют путь для гоночной машины. Игра доступна в двух режимах: с одним автомобилем без ограничений по времени или соревнование с самим приложением CodeKarts.

image
Игры в CodeKarts

ScratchJr — вводный язык программирования для детей, который помогает создавать собственные интерактивные истории и игры. Дети оживляют персонажей, чтобы они двигались, прыгали, танцевали и пели. Ребята научатся решать проблемные ситуации, разрабатывать проекты и творчески выражать свои мысли с помощью технологий.

ElChavo — бесплатная игра, разработчики которой призывают родителей учиться вместе с детьми, потому что в 21 веке программирование должно стать таким же обязательным предметом, как письмо или чтение. С помощью игры ребенок научится программировать инструкции для персонажа и управлять объектом в трёхмерном пространстве, а еще он зарабатывает очки и медали.


Константин Жучков, преподаватель курса «Программирование для самых маленьких»

image FixThe Factory — головоломка с препятствиями от LEGO. Дети управляют роботом EV3RSTORM, который раскладывает батарейки на фабрике по правильным местам. Игра развивает логическое и пространственное мышление, обучает основным операциям. Я советую игру FixTheFactory, потому что у неё красивое оформление и понятные задачи. Дети решают задачки словно щёлкают орешки. А больше всего детей поражает, что в свои 4-5 они уже программируют.
SpriteBox — полномасштабная приключенческая игра, которая помогает быстро перейти к кодингу на реальном языке программирования. Обучение начинается с управления иконками, которые затем уступают текстовым командам. Дети решают головоломки и изучают последовательности, операции, циклы, а также.

Lightbot — мобильное приложение от создателей SpriteBox, которое учит программировать с помощью несложных головоломок. Ребенок пишет код и командует роботом, который может ходить, поворачиваться, прыгать и включать свет.



ПиктоМир — российская разработка для обучения детей основам программирования. В «ПиктоМире» ребёнок собирает несложную программу из пиктограмм и управляет роботом. Игра ориентирована на дошкольников, поэтому писать код не требуется.

Для школьников


Scratch — популярная игра по программированию для обучения детей от 8 до 16 лет. Она подходит для изучения алгоритмов, данных и переменных, освоения базовых понятий. Игра проста, понятна и приводит к быстрым результатам — ребенок создает мультики, анимацию, мини-игры с помощью новых навыков. Scratch учит не только программированию, но и дизайну. Для начала работы достаточно посмотреть обучающее видео или прочитать книгу «Scratch для детей».

Minecraft — любимая игра детей по всему миру. Она вдохновила корпорацию Microsoft на создание образовательной программы на её основе. Ребенок выбирает героя и пишет код, чтобы взаимодействовать с персонажем. В процессе он узнает базовые понятия программирования и научится использовать команды, чтобы управлять движениями героев в игровом мире. В Швеции Minecraft включен в школьную программу в качестве инструмента по развитию цифрового творчества. Лучше разобраться в программировании с Minecraft можно с помощью книги Крейга Ричардсона.
Александр Цегенько, преподает курс «Программирование Майнкрафт»

image Minecraft развивает воображение ребенка. Он помогает детям понять, из каких материалов сделаны инструменты и вообще весь наш мир. Благодаря разделению игрового мира на кубики у детей развивается пространственное воображение. Также ребята учатся охранять природу, потому что в игре настоящие причинно-следственные связи. Если начнется пожар, то лес может полностью выгореть. Если истребить класс животных, то они перестанут появляться.
CodeMonkey — веселая и познавательная игра, в которой дети научатся программировать на реальном языке. Они будет помогать обезьянке доставать бананы и взаимодействовать с другими животными. Игра развивает творческие способности, логику, критическое мышление и навыки решения проблем с помощью IT.


Tynker — платформа с множеством обучающих курсов и игр по HTML&CSS, JavaScript, Python и другим языкам программирования. Темы постепенно усложняются — от основ кодирования ученики переходят к дизайну игры, робототехнике и дополненной реальности. Всего в Tynker около 2000 игр для начинающих и продвинутых кодеров. Также игры делятся на универсальные, для мальчиков и девочек.

Kodu — игра для визуального программирования от Microsoft. У нее простое управление с помощью иконок, уроки разбиты на инструкции и действия. С помощью Kodu можно создать 3D-игру, например, на Xbox.
Алиса Петровская, преподаватель курса «Программирование Kodu Game Lab»

imageЯ люблю Kodu Game Lab, потому что она позволяет наглядно показать ребёнку логику программирования, развивает объемное мышление и имеет красочное оформление. Дети легко могут создать собственную игру, в которую потом можно сыграть с друзьями.
Grasshopper — мобильная игра от Google для изучения JavaScript. Дети учатся разбираться в основных понятиях программирования через визуальные головоломки. Помогает им в этом веселый кузнечик.

Code Kingdoms — игра для изучения Java и Lua. Разработчики обещают, что ребята смогут создать собственные игры и проекты в Minecraft и Roblox.В игре интересные задачи и механики, хорошая визуализация результатов, есть библиотека видеокурсов и онлайн-поддержка.

Codecombat — это платформа для изучения информатики. Игры и курсы разработаны при поддержке учителей, чтобы изучение программирования было быстрым и качественным. Ученики пишут код, начиная с первого уровня игры, и видят, как их изменения обновляются в реальном времени. Это помогает быстро осваивать синтаксис и учит писать грамотный код.

image
Разработка игры в Codecombat
Андрей Фурлетов, преподает Unity 3D Python в Школе программирования для детей CODDY
imageРекомендую CodeCombat — полноценный тренажер, оформленный в виде РПГ-игры, в котором плавно растет сложность, а интерес подогревается прокачкой персонажа. Ребята осваивают программистские инструменты через решение логических задач. После их выполнения становятся доступны новые, оформленные в виде лута, благодаря чему сразу хочется попробовать их в деле. Видно, что разработчики вложили в программу много труда и тестировали ее на реальных людях.
Gamefroot — простой инструмент для разработки и тестирования игр с возможностью поделиться творением с друзьями. Ребенок научится создавать анимацию и игры с современной графикой.

Arduino — программное обеспечение, которое заинтересует ребенка робототехникой. Изначально разрабатывалось для создания прототипов студентами без опыта в программировании. Позже Arduino приобрел популярность у детей и подростков, и разработчики адаптировали приложение. Оно стало ещё проще, но увлекательности не потеряло.

Flexbox Froggy — игра для изучения современного способа верстки Flexbox. Ребенок научится кодом выравнивать объекты на странице, и в этом ему поможет лягушонок Фрогги. В игре есть инструкция, как перемещать лягушат на лилии.

image
Интерфейс игры Flexbox Froggy

Grid Garden — похожая на Flexbox Froggy игра, которая научит писать CSS-код, чтобы вырастить морковный сад. С помощью CSS-свойств поливают огород, и чем лучше получается, тем больше урожай.

Мы рассказали не обо всех играх для детей, только о самых интересных. Чтобы выбрать подходящую для ребенка, ориентируйтесь не только на возраст, но и на характер, и способности.

Комментарии (75)


  1. roman_truschev
    15.02.2019 09:47
    +2

    while True: learn()
    Вот ещё из свеженького


    1. OriSvet
      15.02.2019 14:47
      +1

      Ещё ExaPunks.


      1. Sirion
        15.02.2019 14:52

        Да, для детей самое оно)


  1. agat000
    15.02.2019 09:58
    +1

    Спасибо за подборку.
    А что можете посоветовать из он-лайн обучалок? Желательно русскоязычных.


    1. Makc_K
      15.02.2019 11:48

      Мне очень понравился ресурс CodeCombat


  1. qnok
    15.02.2019 10:28

    Верстка «Flexbox Froggy» (и подобные) для 4-5 лет? Зачем в таком возрасте верстка? (или имеется в виду другой возраст?)


    1. duduking
      15.02.2019 19:07

      Там пометка вверху «Для школьников»


      1. okssell Автор
        15.02.2019 19:16

        да, все правильно — это уже для школьников. У нас веб-программирование с 9 лет изучают.


    1. irsick
      16.02.2019 07:35

      А я думал Flexbox Froggy — развлекуха для бородатых дядек, которым влом читать голые спецификации или даже css-tricks.


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


  1. dirkar
    15.02.2019 11:23
    +2

    Количество желающих заработать на лохах, стремящихся войтивайти увеличивается. На одного будущего вайтишника уже не один десяток шараг, конкуренция жесточайшая.
    Количество лохов, готовых отдать деньги за «пройди наши курсы погромистов за 3 месяца и зарабатывай от двух штук баксов удаленно на острове под пальмой» стремительно уменьшается.
    Что же делать?
    Правильно, нужно осваивать новые ниши.
    Школьники и студенты уже освоены. Пора переходить на детский сад.
    Что дальше?
    Основы кодинга для младенцев, новорожденным скидка?
    Курсы синьор архитекторов для пенсионеров?

    Почему еще никто не додумался открыть курсы экономистов для школьников или юристов для детсадовцев?

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


    1. Sirion
      15.02.2019 11:44
      +6

      Не стану выражать несогласие с общим посылом вашей речи. С другой стороны, так ли плохо дошколятам давать основы кодинга в игровой форме? Я бы, например, кипятком ссался от счастья, если бы у меня в детстве такое было.


      1. VMichael
        15.02.2019 11:54
        +4

        А может, если бы это было у вас в детстве это отвратило бы вас навсегда от кодинга.
        Кто знает.
        Вообще у детишек сейчас время поиграть с себе подобными и просто поковыряться в игрушках думая о смысле игрушки или жизни остается ли?
        Столько всякого «раннего развития» на них пытаются навесить взрослые, проецируя свой ритм жизни на малышей и я не знаю, хорошо ли это в самом деле.
        И ответ на комментарий Bukvva ниже:

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

        А вы считаете, что ИТ технари не испытывают проблем в межличностных отношениях? Что серьезно?


        1. Bukvva
          15.02.2019 12:13

          А вы считаете, что ИТ технари не испытывают проблем в межличностных отношениях? Что серьезно?

          Считаю, что имеют повышенные шансы (не 100%, разумеется, но больше т.н. «гуманитариев мозга») избегать этих проблем.
          Многие вещи закладываются в раннем детсадовском возрасте, который обычно упускают. Это пока без прямого осознания идет в подсознание. Потом во взрослом возрасте когда-то выстрелит. Но это мы уже далеко отклонились от темы. С практической точки зрения изучение алгоритмизации имеет смысл для всех, и как живой пример, уважаемый здесь пользователь Meklon.


          1. 0xd34df00d
            15.02.2019 15:25

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


          1. Meklon
            15.02.2019 21:40

            Я все же довольно упоротая личность)


      1. okssell Автор
        15.02.2019 19:21

        Я, конечно, скажу более мягко — дети в восторге )))

        Откровенно говоря, изначально программирование для дошколят меня тоже смущало. Но когда мы увидели, с каким упоением кодят 4-5-летние малыши в школе в Испании, тоже решили вести подобный курс.

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


      1. boneferz
        15.02.2019 19:22
        +1

        та ну да, кто бы мне в детстве об программирование по рассказывал, да еще и в игровой форма, это же круто


    1. Bukvva
      15.02.2019 11:51
      +5

      Надо отделять зерна от плевел.
      Понимание общих основ алгоритмизации и программирования нужный с моей точки зрения вообщем всем начиная с маленького возраста независимо от будущей(или текущей) профессии. В мире вокруг нас все подчинается каким-либо алгоритмам. И мы каждый день сталкиваемся с их проявлениями. Дети билингвы используют несколько языков не испытывая трудностей, и так же все дети должны понимать, что вещи их окружающие и происходящие процессы имеют логическую обоснованность и могуть быть объяснены как последовательность действий, как из причины получается следствие. Как мне кажется, такое видение привитое с раннего возрасто уменьшит количество «истеричек-гуманитариев», котрые впадают в ступор от необъяснимых с их точки зрения простых явлений не только в технической области, но и в межличностых отношениях.


      1. DaneSoul
        15.02.2019 20:22

        Как мне кажется, такое видение привитое с раннего возрасто уменьшит количество «истеричек-гуманитариев», котрые впадают в ступор от необъяснимых с их точки зрения простых явлений не только в технической области, но и в межличностых отношениях.
        Гуманита?рные нау?ки (от humanus — человеческий, homo — человек) — науки, специализирующиеся на человеке и его жизнедеятельности в обществе.
        То есть, по-сути, настоящие гуманитарии как раз в человеческих отношениях должны весьма хорошо разбираться.


        1. Bukvva
          15.02.2019 22:52

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


          1. dominigato
            16.02.2019 00:41
            +1

            Гуманитариями называют других обычно те люди, кто не в ладах с гуманитарными и социальными науками. Отсюда и мифы про так называемых 'гуманитариев' и 'технарей', когда у людей явные перекосы в сознании и образовании.


            1. grinCo
              16.02.2019 08:11

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


    1. oracle_and_delphi
      15.02.2019 13:19
      +1

      Почему еще никто не додумался открыть курсы экономистов для школьников или юристов для детсадовцев?

      Есть!
      image image


    1. Tyusha
      15.02.2019 13:47
      +3

      Да ну что вы, это совсем другое! Это же просто интересно многим детям. Есть секции авиамоделирования, есть юных электронщиков, есть кружки английского языка для детей в конце концов… или это тоже разводка лохов.


  1. shvez
    15.02.2019 12:25

    Спасибо за подборку.
    Есть ли русскоязычные варианты?


  1. shell4692
    15.02.2019 12:41
    +7

    По опыту обучения своего 9 летнего сына хочу сказать, что самое трудное в освоении программирования для него, это отсутствие нативного понимания английского языка.
    Например, вот простенький скетч для Ардуино:

    int ledPin=13;
    int buttonPin=5;
    
    void setup()
    {
        pinMode(ledPin, OUTPUT);
        pinMode(buttonPin, INPUT_PULLUP);
    }
    void loop()
    {
        bool isPressed=digitalRead(buttonPin);
        if(isPressed==true)
        {
            digitalWrite(ledPin, HIGH);
        }
        else
        {
            digitalWrite(ledPin, LOW);
        }
    }
    


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

    целое контактСветодиод=13;
    целое контактКнопка=5;
    
    процедура настройка()
    {
        режимКонтакта(контактСветодиод, ВЫВОД);
        режимКонтакта(контактКнопка, ВВОД_ПОДТЯЖКАПИТАНИЯ);
    }
    процедура цикл()
    {
        булево былоНажатие=цифровоеЧтение(контактКнопка);
        если(былоНажатие==ИСТИНА)
        {
            цифроваяЗапись(контактСветодиод, ВЫСОКИЙ);
        }
        иначе
        {
            цифроваяЗапись(контактСветодиод, НИЗКИЙ);
        }
    }
    


    А вот как (с его слов) видит этот скетч мой сын:

    ????LED = 13;
    ??????= 5;
    
    ????()
    {
         ????(??LED,OUTPUT);
         ????(????,POWER SUPPLY);
    }
    ????()
    {
         ?????=????(????);
         if(itPress == TRUE)
        {
             ????(???LED,HIGH);
        }
        ??
        {
             ????(???LED,LOW);
        }
    }
    


    Поэтому, в качестве платформы обучения для него выбрана обычная старая 1Сv7. Без регистров, планов счетов, расчётов, отчётов и прочих элементов учёта. Только справочник, перечисление, документы без проведения и обработки. Основным приложением является форма и модуль формы. Все обработки запускаются через меню Операции, так что создание интерфейсов из обучения программированию тоже (временно) исключено. Если ребёнку будет интересно, когда он станет старше, можно будет обучить его остальным метаданным.
    Чтобы ему было интересно щёлкать всякими реле, я собрал ему шкафчик с модулями ОВЕН (цифровой вывод 8 реле, цифровой ввод 16 входов), подключил к ноутбуку и через внешнюю компоненту к 1С. Как подтянет английский, начнём изучать Ардуино. Но уже будет довольно приличный навык программирования и понимание работы программы, переменных, операторов.


    1. opxocc
      15.02.2019 13:23
      +5

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


      1. shell4692
        15.02.2019 13:34
        +1

        А никто не говорит, что не нужно изучать английский. Английский очень важен в программировании. Не нужно делать сразу несколько дел одновременно. Отдельно занятия английским, отдельно занятие программированием. Как в школе. Один урок география, другой урок английский. Это очень спорный вопрос, насколько эффективно будет обучать детей географии или математике по английски. В моём случае, исключение английского языка из процесса обучения программированию в отдельные занятия было вынужденной мерой, после того, как попытки обучения Свифту и Ардуине провалились.


        1. oracle_and_delphi
          15.02.2019 13:41

          В корне неправильный подход!
          Меня русскому языку обучали не в школе, а в качестве родного (да, я не русский).
          А поскольку мы все с вами живём в Pax America, то детей нужно учить английскому с младенчества в качестве родного, и мультики дети с самого начала тоже должны смотреть на английском.


          1. shell4692
            15.02.2019 13:49
            +1

            Я считаю, что родной язык должен не мешать обучению, а помогать. Этот подход реально работает, обучение Свифту и Ардуине уже провалились. Благодаря этому подходу сын сам пишет код, понимает, что такое переменные, функции и процедуры. В дальнейшем его ждут та же Ардуина и Свифт, но уже с понятийной и алгоритмической базой за спиной. Ну и английский к тому моменту подтянется. А мультики итак смотрим на английском.


          1. VMichael
            15.02.2019 13:49

            И присягу королеве давать, как только проговорить ее смогут.


            1. oracle_and_delphi
              15.02.2019 14:13
              +2

              Немецких шпионов ловили на том, что в отличие от американцев они чётко помнили все куплеты американского гимна.


              1. dmitrmax
                16.02.2019 00:10
                +1

                Есть гораздо больше бытовых различий, которые заранее не выучишь. Например, в разных странах по-разному учат делить столбиком в школе. Да даже на пальцах считают по-разному: у нас с указательного пальца, а на западе с большого.


        1. saboteur_kiev
          15.02.2019 15:13
          +1

          И сколько вы знаете школьников, которые по завершению школы знают английский хотя бы на школьном уровне?

          Практически ВСЕ, у кого прилично с английским — исключительно отдельные курсы, свое желание заниматься английским (в том числе и из-за игр в непереведенные игры, песни на английском и так далее).


          1. dmitrmax
            16.02.2019 00:12

            Так это не проблема того, что в школе биология отдельно от английского преподается. Это проблема низкой квалификации педагогов английского языка и малого количества часов занятий. Если бы ваша точка зрения была бы правильнее, то не только с английским была бы беда у выпускника, но и вообще с каждым предметом.


            1. Space__Elf
              16.02.2019 05:31

              Педагоги-то по английски сами — свободно говорят!
              У них проблемы с тем, как других обучить, а не с квалифицированным знанием английского.


              1. saboteur_kiev
                17.02.2019 05:23

                нет у них проблемы с тем как других обучать, есть проблема с школьной программой, которая приходит сверху, со средней успеваемостью в классе, потому что задача педагога не обучить а отчитать программу и добиться приличной статистики в классе. Ему не выгодно лично вас выучить на идеально, ему выгодно подтянуть чтобы двоечник Петя ЕГЭ как-нить прошел


                1. dmitrmax
                  17.02.2019 07:54

                  А ЕГЭ уже до Украины добрался?


                  1. saboteur_kiev
                    17.02.2019 23:20

                    Понятия не имею, но какая разница там ЕГЭ или другие экзамены — для учителя все равно важно именно сдать наверх статистику, что он отчитал xx часов и yy процентов учеников перешли в следующий класс.

                    Качество с учителя более детально не спрашивается, программу он менять не имеет право, за дополнительные занятия на свободные темы доплаты не будет. Я не знаю что там за золотые медали, но это вряд ли зависит от учителя.


              1. dmitrmax
                17.02.2019 07:53

                Вы о какой стране говорите? Я мало видел школьных педагогов, способных действительно свободно говорить по-английски. Более того, скажу — у преподши английского у ребенка в школе конкретная проблема с произношением звуков «th» и всем настрать на это. Хотя по мне — это автоматом профнепригодность.


                1. oracle_and_delphi
                  18.02.2019 07:55

                  у преподши английского у ребенка в школе конкретная проблема с произношением звуков «th» и всем настрать на это. Хотя по мне — это автоматом профнепригодность

                  При отношении "Меня часто спрашивают по учителям и преподавателям. Это призвание, а если хочется деньги зарабатывать, есть масса прекрасных мест, где можно сделать это быстрее и лучше. Тот же самый бизнес." © Медведев — это неудивительно. :(
                  Те у кого с произношением звуков «th» отлично — нашли работу получше и пооплачиваемее.


          1. progchip666
            17.02.2019 00:52

            Моя старшая дочь, например.
            Правда она заканчивала школу с усиленным преподаванием языков. Но это помогло.


            1. saboteur_kiev
              17.02.2019 05:24

              Спасибо, что подтвердили мои слова.


    1. Tyusha
      15.02.2019 13:50

      Т.е. слова output, power supply и некоторые другие он уже знает. :)

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

      В детстве (с первого класса) я училась музыке. Там тоже нужно знать 2-3 десятка итальянских слов. Я что-то не припомню никаких трудностей с этим.


      1. shell4692
        15.02.2019 13:53

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


        1. Nikoobraz
          15.02.2019 15:46

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


          1. shell4692
            15.02.2019 16:34

            В моём случае, в конце 80х именно так и было. Но тогда компьютер был огромной редкостью, дома их не было. Были АГАТы на УПК в школе. Даже просто стоять рядом и смотреть на них можно было часами. А нажимать на кнопочки так вообще счастье. А сегодня дети видят десятки компов вокруг. Компьютеры сейчас это чуть ли не часть интерьера в каждом доме. Чтобы изучать программирование нужна мотивация. Если принуждать ребёнка учиться программировать постоянным нудным повторением непонятного ему материала то эта мотивация убивается. Предыдущие неудачные попытки как раз были основаны на словаре слов и постоянном повторении. В случае с моим ребёнком этот метод не заработал.


          1. dmitrmax
            16.02.2019 00:17

            Читаю вашу беседу, не обижайтесь, но по вашему оппоненту видно, что у него реальный опыт приобщения к программированию молодых дарований, а у вас только теоретические предположения о том, как бы вам хотелось преподавать )


      1. shell4692
        15.02.2019 13:59

        Словарный запас программиста вообще-то довольно обширный. Он включает в себя не только ключевые слова операторов языка, но ещё и названия функций, которых огромное множество. Существует негласное правило давать функциям такие имена, чтобы они объясняли, что делает эта функция. А здесь уже по-сути целые предложения без пробелов, например OnSystemAbnormalShutdown()…


        1. Tyusha
          15.02.2019 14:09

          Для ребёнка вполне подойдёт язык академика Ершова или названия функций «приНенормальномЗавершении()»


          1. shell4692
            15.02.2019 14:19

            Очень хороший язык. Но он оторван от реальности. На 1С он реально видит результаты свой работы. Ребёнок может создавать формы (диалоги), добавлять в них разные визуальные элементы вроде кнопок и полей ввода, написать в модуле кода программные обработчики для них и через внешнюю компоненту пощёлкать настоящими реле. Но при этом, в 1С он таже называет функции и переменные по русски. Например, Выполнить() или ПриНачалеРаботыСистемы(). И я не рекламирую 1С как продукт, Версия 7 уже давно снята с продажи и нигде не продаётся. В данной ситуации я просто использую его как среду разработки и выполнения, как игровую площадку. Кроме того, в Конфигураторе ребёнку доступен Синтакс-Помошник, в котором полное справочное руководство по языку на русском (с указанием англоязычных синонимов, если что).

            В 1С код выглядит также, как «моё видение скетча Ардуино» :-)


            1. oracle_and_delphi
              15.02.2019 14:36

              Так он и разработан во времена, когда вместо Ms.Dos имели хождение операционки для советских компьютеров. Но, так же Википедия пишет, что для него есть КуМир, который, вроде, обещает возможность видеть результат (как там на самом деле не видел, но судя по описанию визуализация должна иметься).


              1. fuser
                16.02.2019 18:35

                КуМИР (Комплект Учебных МИров) для windows распространяется по лицензии GNU GPL.
                Мне нравится тем, что а) разработан советскими информатиками и б) имеет практикум.

                скриншот


    1. okssell Автор
      15.02.2019 19:32

      Отличное решение проблемы! Действительно, если идет путаница, не надо одновременно давать и Ардуино, и английский.


    1. imotorin
      15.02.2019 19:47

      очень верное наблюдение, особо трудно научиться когда преподаватели, как было со мной 30 лет назад в школе на упомянутых Агатах, сами не понимали что SQRT() не просто набор букв, а именно сокращение от square root


    1. DistortNeo
      15.02.2019 19:54

      У нас в школе программирование начиналось с 3 класса (как раз 9 лет).
      Но изучали BASIC — в нём попросту не было сложных словесных конструкций, поэтому пошло всё хорошо. Ваша программа бы выглядела примерно следующим образом:


      10 ... ' Тут какие-то мантры
      20 ... ' и тут тоже
      30 IN 5, A%
      40 IF A% = 1 GOTO 70
      50 OUT 13, 1
      60 GOTO 30
      70 OUT 13, 0
      80 GOTO 30

      И несмотря на то, что код выглядит дико, ребёнку он будет сильно более понятен. И дело не столько в английском, сколько в сложности понимания абстракций. Например, мне в детстве очень легко давалось низкоуровневое программирование — ассемблер, лапша из goto, функции-простыни, однобуквенные переменные. А вот понимание абстракций и хороших практик программирование пришло уже позже, через несколько лет.


      1. saboteur_kiev
        15.02.2019 20:12

        С одной стороны, потому что в детстве было достаточно получить программу, которая выдает 5+5=?
        Мне вот тоже было достаточно, если строка по экрану бежала, или если у меня красиво рисовалась кривая.

        А сейчас хотят чтобы программа запустилась на телефоне, использовала нейронные сети, авторизация по соцсетям.

        Поэтому зависит от того, какой результат выполнения программы мотивирует ребенка на дальнейшее.


    1. ecmaeology
      15.02.2019 23:11
      +2

      А вот как (с его слов) видит
      Только опытный глаз видит в скобках и отступах структуру. Другие, возможно, и вот так:

      ????LED ? 13 ?
      ?????? ? 5 ?
      ???? ?? ? ???? ? ??LED ? OUTPUT ? ?
      ???? ? ???? ? POWER SUPPLY ? ? ? ???? ??
      ? ?????=???? ? ???? ? ?
      if ? ?Press ? TRUE ?
      ? ???? ? ???LED ? HIGH ? ? ?
      ?? ? ???? ? ???LED ? LOW ? ? ? ?


  1. Ashot
    15.02.2019 13:02

    Странно, что вы назвали Scratch игрой – это прям полноценная среда с графическим интерфейсом


  1. abar
    15.02.2019 14:48
    +1

    Тут важно понять, что нужно не «учиться программировать», а «учиться решать задачи». И в этом важно заинтересовать ребенка. Я вот начал с редактора карт в старкрафте бруд вара — да, было совершенно непонятно, зато очень интересно и хотелось разобраться. Потом уже пересел на гейм мейкер, перешел от обычных триггеров на написание скриптов и понеслость. А там уже и на нормальные курсы паскаля записался.

    А вот ко всем этим «играм, обучающим программированию» всегда относился с диким подозрением. Потому что практически во всех надо было не «решить задачу», а «решить неинтересную тебе задачу по перемещению какой-то букашки на экране (зачем вообще её двигать куда-то, что мне это даст?!), причем только таким образом, который предусмотрел автор задачи». Возможно, сейчас эти игры делают лучше и мотивации в них больше, но все-равно доверия уже не вернуть.


  1. Gravit
    15.02.2019 16:45
    +1

    Я начинал свое знакомство с программированием в среде ЛогоМиры 3, жалко что тут она не указана. Те же условия, операторы, циклы, переменные, все команды на русском. Брал стандартные примеры и переделывал, пытаясь понять как что работает. Поняв какую-то вещь начинал использовать её уже в своих сценариях. Без какого либо контроля, просто берешь и делаешь что интересно.
    Как возможностей ЛогоМиров стало не хватать пересел на Алгоритм 2, где получались уже реальные exe'шники. Все команды так же на русском. Эх, детство...


  1. DarksideCat
    15.02.2019 19:26

    Human Resource Machine и 7 Billion Humans


  1. ED-209
    15.02.2019 19:26

    Надеялся первым комментом услышать: «Colobot!».
    ru.wikipedia.org/wiki/Colobot


  1. DDroll
    15.02.2019 19:26

    Factorio, Opus Magnum. Хотя они и взрослым зайдут.


  1. Ariant
    15.02.2019 19:26

    7 billion humans и human resource machine — вроде не совсем тот формат, что в статье, но тоже про программирование


  1. dmitrmax
    16.02.2019 00:36
    +1

    Попробовали LightBox с моим трёхлетним сыном. Довольно прикольно и ему понравилось. Но как-то очень быстро усложняется. Было бы неплохо иметь несколько уровней разных конфигураций, но примерно одного уровня сложности. Каждый уровень добавляется новая команда и мне нужно сначала объяснить и показать, как она работает. Поэтому нету уровней, где он может уже без моей помощи, но на такой же сложности пройти.


    1. irsick
      16.02.2019 07:45

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


      1. dmitrmax
        16.02.2019 11:47

        www.kodable.com — вот это рекоммендуете? Вы издеваетесь? Зарегался там, жму Play, а он предлагает мне разблокировать детский потенциал за 7 баксов в месяц. И при этом нету даже удобного приложения, чтобы ребенок мог сам запускать — все действия на сайте, в каком-то flash-подобном куске экрана.


        1. irsick
          16.02.2019 16:41

          Есть iOS приложение. Хотя да, забыл, что оно платное. Нам купила лицензию школа


          1. progchip666
            17.02.2019 00:48

            Ну если приложение хорошее, то семи баксов мне лично не жалко. Вам то оно нравится?


            1. irsick
              17.02.2019 06:07

              $6.99/в месяц


              Дочке 5 лет очень нравится. Каждая новая фича приходит с понятным обучающим уровнем. Большинство заданий она освоила самостоятельно. В игре есть много мотивирующих мини-игр, которые удерживают ребенка: звёзды-ачивки (как в Cut the Rope), кастомизация "колобков" с помощью обьектов на JavaScript, редактор уровней и т.д.


              На мой взгляд стилистика игры отдает флешем и вырвиглазной палитрой из 00х. Но основную функцию выполняет хорошо, и это для меня главное.


            1. dmitrmax
              17.02.2019 07:50

              Я не знаю, есть ли в приложении демо-режим какой-нибудь, но мне этот апп не на чем протестить. А на сайте демо нет. Там надо обязательно ввести кредитку, чтобы попробовать. Поэтому 7 баксов за непонятно что платить стрёмно.


          1. dmitrmax
            17.02.2019 07:47

            iOS'а в нашей семье нет, так что мимо, к сожалению.


  1. Bookvarenko
    16.02.2019 00:44

    Вспоминается игра «Штурман» Олега Шамшуры.
    Ремейк её — instead-games.ru/game.php?ID=268

    Картинка
    image


  1. progchip666
    17.02.2019 00:47

    Дочке 6 лет. Познакомил её со Scratch. Надо будет что нибудь из предложенного вами пакета игра попробовать!