С чего начать изучение программирования ребенку с нуля
Как выбрать курсы по программированию и разработке для детей
Я работал в детской школе программирования: занимался текстами и коммуникациями.
По ходу разобрался в учебном процессе, а также посмотрел, как работают конкуренты.
В первую очередь я буду опираться на программы авторитетных школ программирования для детей — «Кодабры», «Кодди», «Кодланда», «Кодиума», «Алгоритмики» и Geekbrains. Все школы работают дольше пяти лет, часто попадают в обзоры и рекомендации на детских образовательных ресурсах, в них тщательно отбирают преподавателей, а на сайтах можно найти почти всю нужную информацию для принятия решения.
Чему учат на курсах
Большинство школ программирования помогает достичь двух целей: понять, что компьютер нужен не только для игр и соцсетей, и получить прикладные навыки — расскажу о них подробнее.
Разрабатывать игры. Этому учат дошкольников, младшеклассников и ребят постарше — в зависимости от возраста меняются платформы для разработки, а приобретенные навыки становятся все сложнее.
На курсах для начинающих — обычно на них занимаются ученики начальной школы — создают простую анимацию для забавных персонажей и осваивают визуальный язык программирования Scratch: им смогут пользоваться даже те, кто не умеет читать.
Ученики постарше придумывают свои сценарии для игр, учатся использовать 3Д-эффекты, создают игровые уровни. Это помогает развить воображение, изучить языки программирования для платформ «Майнкрафт», «Роблокс» и «Юнити» и даже познакомиться с основами предпринимательства: готовые игры можно разместить в Эпсторе или «Гугл-плее» и зарабатывать на рекламе.
Разрабатывать мобильные приложения и сайты. Дети изучают HTML, CSS и JavaScript, знакомятся с основами верстки, в том числе мобильной, учатся ставить цели и достигать результатов.
На некоторых курсах, например в Geekbrains, ученики работают во «взрослых» онлайн-сервисах, которые позволяют собирать свои сайты: «Фигма», «Тильда» и «Редимаг». Это помогает не только освоить прикладные навыки, которые дети смогут использовать в будущем, но и сделать более интересной учебу в школе: например, вместо обычного реферата по истории можно сделать сайт или мобильную викторину и удивить учителя и одноклассников.
Создавать нейронные сети. Ученики узнают, что такое машинное обучение, и учатся создавать простые варианты искусственного интеллекта: например, программу, которая умеет распознавать фотографии кошек, или телеграм-бот.
Защищать данные в интернете. На таких курсах учатся информационной гигиене и правилам безопасности в сети, разбираются, как устроено шифрование данных, изучают Python на базовом уровне. Все это помогает развить как общеобразовательные навыки — например, критическое мышление, — так и прикладные: после таких курсов ученики легко смогут восстановить данные, которые случайно удалили.
Вести видеоблог. Ученики учатся определять потребности своих зрителей, придумывать концепцию канала, писать сценарии видеороликов, наконец, снимать и монтировать видео. Даже если ребенок не станет блогером, эти навыки пригодятся ему в школьных презентациях, да и вообще при создании любых проектов.
Minecraft — не только для игр
Как проходит обучение
Важно не только найти интересную тему, но и заранее узнать, будет ли удобно заниматься ребенку. Иначе он рискует бросить занятия в середине программы просто из-за «технических» сложностей: утомительной дороги на занятия или слишком быстрого темпа на уроке. Расскажу, какие бывают форматы у занятий и как выбрать подходящий.
Онлайн или офлайн. Несколько лет назад почти все школы проводили офлайн-занятия: так преподавателям было проще поддерживать доброжелательную атмосферу, помогать ребятам с трудными задачками и получать от них обратную связь. Во время пандемии большинство школ перешли на онлайн-преподавание, а теперь предлагают студентам выбор — заниматься очно или по интернету.
Сам по себе онлайн ничем не хуже — чаще всего дети и преподаватель встречаются в зум-конференциях, выполняют задания, в случае проблем расшаривают экран и преподаватель помогает им исправить ошибки. Если зависает компьютер или возникают другие технические сложности, их решает служба поддержки.
Но к онлайн-формату нужно привыкнуть: если занятия по интернету вызывают трудности, лучше выбрать очные встречи, по крайней мере на первое время, пока ребенок осваивается.
Площадка, на которой проводят онлайн-занятие, зависит от школы: в «Кодди» и Geekbrains преподаватель с учениками встречаются в зум-конференциях, в «Кодабре» занимаются в игровом мессенджере «Дискорд», а в «Алгоритмике» для обучения используют интерактивную платформу. Раньше в некоторых школах дети просто изучали материал по заранее записанным видео, но сейчас от этой практики отказались.
Индивидуальные или групповые занятия. Стандартный формат для курсов программирования — занятия в группах. В некоторых школах, например «Кодабре», предусмотрены разовые индивидуальные занятия — на случай, если ученик пропустил общую встречу и не может сам справиться с материалом или хочет пройти более сложную тему, которой пока нет в групповых курсах.
В «Кодиуме» и «Кодди» можно изначально выбрать индивидуальный формат, если родители сомневаются в групповом: например, считают ребенка слишком стеснительным, знают, что он усваивает материал медленнее других, или, наоборот, думают, что ему будет скучно в группе, потому что он уже умеет программировать на высоком уровне.
Игровой или проектный подход. Почти во всех школах используют проектный подход — на занятиях дети не просто получают знания или решают задачи по программированию, а создают какой-то продукт, например мини-игру или несколько страниц сайта.
Но для дошкольников и первоклассников лучше выбрать курсы с игровым подходом: например, в «Кодабре» и «Кодди» занятия для ребят 7—8 лет построены как увлекательный квест.
Длинный или короткий курс. От количества занятий зависит прогресс ученика, но важно не перегрузить ребенка уроками, чтобы не отбить желание программировать.
Стандартные курсы состоят из 20 занятий, которые проходят раз в неделю: такой темп считается оптимальным. Но есть и другие варианты. Например, мини-курсы по 10 занятий в «Кодабре» или «Кодиуме» помогут быстро научиться основам тех или иных навыков — это пригодится ученикам, которые хотят попробовать разное. А в «Кодланде» некоторые курсы длятся по 32 занятия и позволяют более глубоко погрузиться в тему, если ребенок уже точно определился со специализацией.
Какие еще параметры важны при выборе курса
На качество и стоимость обучения могут повлиять еще несколько важных параметров. Расскажу, на что обратить внимание, чтобы обучение было эффективным и не отнимало большую часть семейного бюджета.
Опыт преподавателей. Высококлассные разработчики редко идут работать в онлайн-школы. Это связано и с уровнем зарплаты, и с профессиональными амбициями — в школах программирования платят меньше, чем в крупных ИТ-компаниях, и далеко не все разработчики и тимлиды хотят работать с детьми.
Поэтому в школах программирования занятия ведут обычно выпускники технических вузов, в том числе очень сильных, например МФТИ или Бауманки. Тем не менее их профессиональный уровень может отличаться: одни школы обращают внимание только на знание материала и умение программировать, а другие еще учитывают опыт работы с детьми и педагогические навыки будущих преподавателей.
Оборудование и ПО. Обычно для детских курсов хватает Windows 7 или MacOS 10.10 и установленного браузера «Гугл-хром». Но для разработки игр на «Юнити» понадобится 20 гигабайт свободного места и как минимум 4 гигабайта оперативной памяти: такие параметры есть не у всех домашних компьютеров, а значит, для курсов придется покупать новый гаджет.
Школы, которые проводили и проводят офлайн-занятия, раньше давали ноутбуки в аренду — сейчас такое обычно не практикуют, но лучше уточнять это у менеджеров школ.
Сайт школы. На сайте школ обычно представлена подробная информация о курсах, формате занятий и преподавателях. В первую очередь я рекомендую обратить внимание на подробную программу и результаты, которых смогут достичь ученики: это поможет определиться, совпадает ли содержание курса с ожиданиями ребенка и родителей.
Также важно узнать требования к ребенку — чаще всего младшеклассники должны владеть мышкой и уметь читать, а ребята постарше знать английский язык на элементарном уровне и уметь печатать.
Отзывы о школе. Я рекомендую изучать отзывы на сторонних ресурсах: в «2ГИС», «Отзовике», «Эдвайзоре»: это позволит узнать не только о преимуществах школы, но и о ее недостатках.
Помимо работы преподавателей обращайте внимание и на то, как устроено взаимодействие с менеджерами. Иногда родителям нравится, чему и как учат на курсах, но они совершенно недовольны сервисом — техподдержка не реагирует на проблемы, менеджеры плохо объясняют, как оплатить занятия: все это тоже может повлиять на комфорт от учебного процесса.
Также изучите отзывы бывших преподавателей: они могут обратить внимание родителей на проблемы и трудности, которых не видно со стороны родителя и ученика.
Например, бывший преподаватель «Кодабры» ругал школу за то, как устроены занятия и организована работа методистов. При этом основательница школы ответила ему в отдельном посте и попыталась объяснить проблемы в работе школы: публичная переписка помогает подробно разобраться в системе работы организации и понять, нравится ли такой подход к обучению ребенка или нет.
Условия оплаты. Некоторые школы позволяют оплачивать курсы не целиком, а по одному занятию. В таком случае обратите внимание, за какое время урока указаны цены на сайте: обычно это стоимость за час, а занятия часто идут по два часа.
Часто школы программирования позволяют оплачивать занятия с помощью материнского капитала, но перед началом занятий это стоит уточнить у менеджеров.
Как протестировать обучение
Школы программирования обычно предлагают ученикам и их родителям сначала убедиться в качестве преподавания, а потом записаться на полноценный курс. Вот какие есть варианты это сделать.
Перед пробным занятием узнайте, кто его проводит: преподаватель или менеджер. Первый вариант предпочтительнее: по занятию с менеджером будет тяжело понять, как на самом деле учат на курсах.
Иногда на пробных занятиях просто показывают, как устроена работа, а иногда — помогают выявить интересы ребенка: это пригодится, если ученик не до конца уверен в выборе курса.
После пробного занятия узнайте у ребенка, понравились ли упражнения и преподаватель, было ли ему сложно или, наоборот, слишком легко. Если появились сомнения, лучше сходить на пробные занятия в другие школы и сравнить впечатления.
Попробовать летний интенсив или короткие курсы. Школы программирования проводят интенсивы в летние и другие школьные каникулы. Темы курсов могут различаться — они более яркие и популярные, чем обычные занятия: например, в «Кодабре» летом можно было научиться снимать короткие видео для «Тиктока», а в «Кодди» ребята пробовали рисовать иллюстрации в стиле аниме.
Также можно пробовать короткие курсы до 10 занятий — они займут два месяца, ребенок быстро достигнет первых результатов, и родителю будет понятно, насколько это полезно и интересно для ребенка.
На что обращать внимание во время занятий
Обычно ребенок испытывает кураж и удовольствие от первых занятий, но чуть позже вау-эффект проходит, а задания становятся сложнее и заниматься дальше уже не хочется. Это нормально: если с преподавателем налажен контакт и на занятиях ребенок чувствует себя комфортно, период адаптации продолжится недолго.
Но иногда отказ ребенка от занятий может сигнализировать и о других проблемах: например, скучных уроках или конфликтах с учителем. Чтобы разобраться, с чем именно связано нежелание ребенка продолжать занятия и стоит ли ходить на курсы дальше, я рекомендую обратить внимание на несколько параметров.
Хочет ли ребенок программировать. Бывает, что ребенку просто не подходит программа конкретного курса: например, оказалось, что программировать игры не так весело, как в них играть. В такой ситуации можно предложить ребенку сходить на пробные занятия других программ или попросить учителя дать задания на другие темы — чтобы выявить интересы ребенка и разобраться, какой курс ему подойдет лучше.
Как складываются отношения с преподавателем. Уделяйте этому пункту особое внимание как на индивидуальных, так и на групповых занятиях. В группе ребенок может общаться со сверстниками, но преподаватель все равно остается ядром и основным источником информации и поддержки. Если преподаватель мало уделяет внимания ребенку, игнорирует его вопросы, оскорбляет его, то жалуйтесь менеджеру, а также требуйте организовать прямой разговор, на котором можно задать вопросы и разобраться в проблеме.
Также у ребенка могут возникнуть проблемы из-за непривычного стиля общения. В некоторых школах, например в «Кодабре», преподаватели не жалуются родителям на пропуски занятий или поведение ребенка, а разбирают эти проблемы с самим учеником. Если ребенок не привык к открытому диалогу по поводу проблемы, то он может воспринять это как критику и атаку.
Как работает техподдержка. На старте занятий технические проблемы могут периодически возникать: пока родители и ребенок еще не знакомы с платформой, на которой проходят занятия, или с нужными программами. В идеале служба поддержки должна реагировать моментально, но если обращений много, то возможна задержка в несколько минут. Если техподдержка реагирует долго или не может решить проблему, обращайтесь к менеджеру — техническое сопровождение всегда входит в стоимость занятия.
Каких результатов достигает ребенок. Оценить результаты непросто, если вы не понимаете, как устроено программирование. Когда ребенок сделает первую игру, вы поймете его силы, но это произойдет через несколько месяцев, а мини-проекты могут показаться шаблонными и простыми. Попросите преподавателя объяснить вам, как правильно оценивать результаты — на что смотреть и как их понимать.
Присутствуйте на занятиях сами — хотя бы иногда. Так вы поймете, насколько легко справляется ребенок, увидите работу преподавателя и почувствуете атмосферу на занятии.
Запомнить
В общем, статья выглядит как цитата об идеальном мире, до которого, к сожалению, нам еще далеко.
Как разнообразить уроки программирования для детей разных возрастов
В этом материале Александра Дмитренко, Software Engineer, рассказывает о своем опыте преподавания программирования детям и объясняет, что работает лучше всего для каждой возрастной группы.
Коротко о своем опыте
В университетские годы, когда надо было придумать, как делать лабораторную работу по программированию, я иногда начинала описывать проблему своему 10ти-летнему племяннику – по сути использовала метод «Резиновой уточки». Должна сказать, что он таки рабочий. Кроме того, заметила, что племяннику становится интересно поразмыслить над решением, когда он понимал задачу. Он подходил к компьютеру и начинал рассматривать код, спрашивал, как он работает. Так он решил начать программировать, а я ему помогала.
Через несколько лет, когда я уже работала в IT как тестировщик-автоматизатор, мне предложили менторить начинающих Java-разработчиков. Таким образом я и себя стимулировала учиться. С тех пор, я занимаюсь менторингом взрослых. Также время от времени делаю вебинары для начинающих IT-шников.
Больше двух лет назад присоединилась к программе eKid – обучение детей школьного возраста программированию на языках Scratch, HTML/CSS, Python и др. Заниматься этим проектом я стала случайно. Казалось, что это слишком большая ответственность. Посреди учебной программы искали человека заменить тренера, и никак не могли найти. Девушка с моего проекта рассказала, что «она там была, и это не страшно». Так я уже 2+ года участвую в программе и преподаю разным группам (начинающим и опытным, младшим и старшим). Под каждую группу детей хочется подстроится и сделать им интересное занятие. Поэтому я часто изучаю возрастную психологию и экспериментирую с программой и наполнением уроков.
Хочу поделиться своим опытом и рассказать, какой подход к программированию лучше подходит для каждого возраста детей.
Основы
Все дети разные. Особенности и темпы развития ребенка зависит от ряда факторов:
Дети в возрасте 7-9 лет
Им интересны игры, в них участвовать. Эти дети воспринимают происходящие вокруг события как сказку и представляют себя её героями. Что угодно, даже обычный носок, надетый на руку, оживает и становится частью представления. А если эта вещь действительно сама может двигаться и говорить, то это часть магического действия. Конечно, им нравится играть с роботами, потому хорошим вариантом будет придумать историю, развивающуюся вокруг этого механизма, который можно запрограммировать.
Примеры удачных идей
Создайте пьесу на основе любого известного детского фильма или литературного произведения. Например, «Гарри Поттер и философский камень». Место действия – Хогвартс, команды детей соревнуются, чьи заклинания (написанные на языке программирования) лучше. Когда дети научились самостоятельно достигать какого-то результата, все вместе могут работать над общим проектом, например, запрограммировать шарообразного робота быть мячиком в кубке по квиддичу. Следующий урок можно сделать в формате другой серии о приключениях волшебника.
Прислушайтесь к детям: если они все время говорят о покемонах – очевидно им интересна эта тематика. Просмотрите несколько мультфильмов, и на их основе самостоятельно придумайте что-то новое.
Одна из групп детей, с которыми я работала, увлекалась темой пиратов. Я придумала персонажа – волшебницу, которая подарила детям робота и научила их программировать. Злой пират, увидев это, украл робота, пока дети отвлеклись. Ребята отправились на выручку, однако и сами попали в ловушку. Для того, чтобы выбраться из темницы, они должны были выполнить задания по программированию. Когда пират уснул, дети сбежали, забрав робота и сладкие сокровища из пиратских тайников.
Что может пойти не так
Мы решили снять фильм – продолжение «Звездных воин». Дети были актерами, но также должны были запрограммировать робота, который по сценарию проложил бы путь по лабиринту к принцессе Лее, затем напугал стражей, и помог принцессе бежать. Однако, во время съемок, дети-стражники вдруг оказались смелыми и «отказались бояться». Пришлось импровизировать: заставить робота их загипнотизировать. Это сработало, и принцесса была спасена!
Помните!
Будьте готовы к тому, что не все будет идти согласно первоначальному плану. Дети могут внести существенные коррективы в сюжет. Придумать, как спасти ситуацию – это самая забавная часть проекта.
Дети в возрасте 10-11 лет
В этом возрасте дети уже ощущают себя личностям, они хотят сделать нечто значимое, их волнуют вопросы торжества справедливости.
Что может пойти не так
Когда я пыталась повторить сюжетную игру о пирате с более старшими детьми, попытка переросла в дискуссию о том, имел ли пират право похищать робота и какое наказание он должен бы понести за такое преступление. Дети в этом возрасте стараются продемонстрировать свои знания и остроумие при первой же возможности.
Примеры удачных идей
Придумайте нечто особенное. Обсуждая, как можно запрограммировать робота, мы решили создать волшебный шар-предсказатель. Написав эту программу, каждый хотел задать ему свои вопросы и, возможно, услышать ответ, который сам же и сочинил. Одна девочка задала вопрос, получит ли она котенка на день рождения. Ответ «Нет» ее не удовлетворил, потому она продолжала спрашивать, пока, наконец, не услышала «Да». Но ее мама, наблюдая за процессом, уточнила, что первый ответ все же был верен. Мальчик, задав вопрос о том, победит ли он на олимпиаде по математике, услышал «Да», и это предсказание обрадовало обоих: его и отца мальчика.
Еще одна «рабочая» идея – создать большой проект, максимально похожий на серьезные, «взрослые»: от постановки задачи до применения scrum методологии. В этом возрасте дети стремятся выучить новые слова и понятия, чтобы казаться взрослее, поэтому не нужно даже пытаться заменить профессиональную терминологию более простыми и понятными словами. Примером такого проекта может быть самостоятельное проектирование и написание детской игры на Scratch или Python. Дайте детям возможность поставить цели и достичь их.
Лично мне наиболее комфортно работать именно с этой возрастной группой. Дети в этом возрасте уже более самостоятельны, не ждут, когда их начнут развлекать, но и не столь избирательны, как подростки.
Дети в возрасте 12-15 лет
Многие называют подростков «трудными», поскольку в этом возрасте они находятся в поиске собственного стиля в первую очередь поведения, часто отвергая предложенное, изобретая что-то новое, пробуя и выбирая. Они подчинены сиюминутным импульсам. В работе с подростками успеха добьется тот наставник, который сумеет создать интерес к своему предмету и желание его изучать. Подросткам нужно позволить думать самостоятельно и полагаться на свои идеи. Учитель должен предложить им материал, и при этом дать личностям раскрыться в полной мере.
Примеры удачных идей
Создание нового эпизода «Звездных войн» с роботом BB-8 или волшебного шара-«предсказателя». Подросткам понравится возможность продемонстрировать креативность и экстравагантные идеи, предложить необычные сюжетные повороты или оригинальные фразы для «предсказателя». Программирование с использованием функциональных блоков будет им интересно, но использование JavaScript увлечет их не менее. Напишите с ними простую программу, вроде телеграмм бота или калькулятора. Эти дети высоко ценят практические навыки, они приходят на занятия по программированию, потому что хотят связать с этим свою будущую профессию. Некоторые даже переживают, что начали слишком поздно! Подбадривайте их, хвалите за успехи, не акцентируйте внимание на неудачах, и они вам доверятся.
Помните!
Невозможно понравиться всем. Всегда есть шанс «сесть в лужу», особенно, когда вы попытаетесь пошутить. Часть ребят будет увлечена созданием фильма и обсуждением сюжета, другие же будут более скептичны и предпочтут работать над домашним заданием по программированию. Когда мнения расходятся, просто примите это как должное.
Обучение детей программированию онлайн: сервисы и возможности
Содержание
Содержание
Современный мир устроен таким образом, что производство, бизнес и сфера услуг поддерживают стабильно высокий спрос на профессию программиста. Нам нужны онлайн-сервисы, системы управления, автоматизации и т. д. И там не обойтись без специалиста, который понимает, что такое алгоритмы и как их описать на C++, С#, Python, а порой даже на полузабытом Pascal или вообще на Фортране (на момент написания статьи его последняя версия была выпущена в 2018 году). Программирование хорошо тем, что вполне доступно даже детям. Существуют сервисы, где их обучают основам программирования с младшего школьного возраста.
Перспективы и будущая карьера для молодых программистов
Для вхождения в профессию далеко не всегда требуется диплом о соответствующем образовании. На сайтах, предлагающих фрилансерам работу, интересуются исключительно опытом и реализованными проектами. Кандидатов просят показать, что они реально могут и насколько знакомы с нужным языком программирования или пакетом программ. Автор статьи лично знаком с 15-летним гением, одноклассником сына, который уже в столь юном возрасте принимает участие в международных проектах и зарабатывает в них неплохие деньги.
Тем не менее, это не значит, что в программировании всему можно научиться самостоятельно, отучившись на курсах и онлайн-уроках. Фриланс подходит далеко не всем. В серьезных международных компаниях вроде Яндекса или Google вас обязательно попросят не только продемонстрировать свой опыт, но и предъявить диплом, подтверждающий образование и квалификацию.
Это связано с тем, что диплом не только подтвердит полученные знания, но и станет доказательством того, что вы способны к последовательной и постоянной работе. Кроме того, среднее и высшее образование — это еще и комплекс знаний, полученный не только в узкой сфере, а в более широком диапазоне. И, что еще важнее, умение их применять на практике — в прикладных задачах.
Поэтому даже самому талантливому программисту-самородку настоятельно рекомендуется получить диплом об образовании. Сначала придется пройти путь от узких задач до решений об архитектуре и системе сложных проектов: от джуниоров до тимлидов.
Тем не менее, путь в профессию программиста вполне можно и нужно начать с малых лет. Благо сейчас много онлайн-сервисов, где обучают программированию на классических уроках либо раскрывают материал и задают задачи в игровой форме. Разберем наиболее популярные и известные на момент написания статьи.
Code.org
Code.org — школа, в которой дети и подростки могут познакомиться с основами информатики и программирования алгоритмов. Код писать не требуется, программы собираются из готовых блоков: «выполни действие», «повторяй», «если выполняется условие, сделай что-то». Тем не менее, можно познакомиться с циклами, переходами и прочими секретами программирования.
Особо стоит отметить раздел «Час кода», в котором разбираются задачи: например, как рисовать анимированные картинки (разумеется, в программной среде Code.org) или запрограммировать действия Стива из Minecraft. То есть, здесь можно получить основные навыки программирования, не тратя время на изучение целого курса.
Ресурс полностью бесплатен, но переведен на русский язык лишь частично. Основные курсы на Code.org рекомендованы детям с 9 лет. Но есть и уроки, которые авторы считают доступными для детей, начиная с 4 лет.
Scratch
Scratch — это уже не только онлайн-среда для изучения программирования, а язык, на котором вполне можно создавать скрипты, анимированные истории, простую музыку и игры. Scratch доступен в виде онлайн-сервиса, также есть приложения для компьютеров и устройств на Android.
На сайте выложено множество уроков и примеров того, что можно написать на Scratch. Язык программирования пользуется популярностью в школах благодаря логичности и наглядности. Авторы проекта рекомендуют Scratch детям и подросткам от 8 до 16 лет, кроме того, есть версия языка ScratchJR для детей от 5 лет. Она доступна на Android и iOS.
Что важно, сервис полностью бесплатный, уроки и описания почти полностью переведены на русский, хотя сама среда программирования — англоязычная. Кроме того, Scratch — это популярная среда программирования, и в Интернете есть много примеров кода, написанного на этом языке.
Если вам интересны видеоуроки по Scratch и другим простым средам программирования и полезным программам, можно также посоветовать Youtube-канал Codim.Online.
Если Scratch разработан в MTI (Массачусетский технологический институт), то Snap! создали сотрудники Калифорнийского института в Беркли. Визуально среда программирования Snap! напоминает Scratch, что неудивительно — Snap! начинался как дополнение к этому языку.
Главное отличие Snap! от Scratch — возможность создавать собственные блоки, объединяя в них последовательность команд, то есть создавать подпрограммы и вложенные функции. Недаром около половины американских школ перешли со Scratch на Snap!
К сожалению, сервис не русифицирован, зато полностью бесплатен. Так же, как и Scratch, Snap! рекомендован детям и подросткам в возрасте 8-16 лет.
Изучение языков программирования
Scratch, Snap! и другие сервисы с высоким элементом геймификации, конечно, интересны. Но если программирование на самом деле интересно, и ребенок или подросток планирует связать свою жизнь с программированием, надо переходить на более высокий уровень. Есть множество платных курсов, в том числе для школьников и подростков. В качестве альтернативы имеется также масса бесплатных или недорогих ресурсов, на которых можно изучать программирование бесплатно, было бы желание.
Образовательные курсы GeekSchool
GeekSchool — проект образовательного ресурса GeekBrain, рассчитанный на детей 6-17 лет. Для изучения предлагают курсы, начиная от освоения компьютера (работа с почтой, графическими и офисными программами) и заканчивая программированием на Scratch, Python, Java, скриптов для Minecraft и работой с системами автоматизации на Arduino.
Курсы в GeekSchool платные. Например, обучение Scratch оценили в 25 000 рублей. Уровень знаний соответствует официальному бесплатному курсу на сайте Scratch, только все, что есть на официальном сайте и бесплатных Youtube-каналах, рассказывает преподаватель в формате урока-вебинара. Есть возможность оценить учебный процесс, записавшись на пробный урок.
Кодабра
Так же, как и GeekSchool, Кодабра предлагает детям в возрасте от 7 до 17 лет изучение Scratch, основ Python, Roblox, программирование скриптов для Minecraft на JavaScript и игр на Unity. Доступны различные уровни подготовки — от начального до продвинутых пользователей.
Стоимость занятий, заявленная на сайте Кодабры, начинается от 723 рублей/час. Следует отметить, что аналогичные уроки и программы можно бесплатно найти на сайте Scratch, а также в курсах Stepik и видеороликах на YouTube. Преимущество Кодабры — занятия с преподавателем в формате вебинара, в то время как на альтернативных бесплатных ресурсах предстоит самостоятельное изучение урока.
Codemika
Аналогичные платные курсы по программированию предлагает ресурс Codemika. На этом сайте за программу по Scratch для учеников 1-4 классов хотят получить по 2500 рублей в месяц. Весь курс рассчитан на 8 месяцев. Принцип обучения аналогичен Кодабре и GeekSchool — это вебинары с домашними заданиями. Подготовка находится на уровне бесплатных курсов.
Ученикам 5-6 классов предлагают создавать 2D-игры на Python, а для школьников с 7 по 11 класс, студентов и взрослых предусмотрен курс «Java-разработчик». Длительность занятий — те же 8 месяцев, но стоимость составит уже 4900 рублей в месяц. У Codemika нет пробных занятий, но есть открытые уроки, на которых можно ознакомиться с учебным процессом.
Школа программистов
Вообще, эта школа работает офлайн в Москве и Санкт-Петербурге. Но у нее есть и онлайн-площадка, на которую принимают детей, начиная со 2 класса. Обучение платное, причем, начиная с 5 класса, придется сначала сдать вступительные экзамены, по результатам которых ребенка возьмут на курс.
В школе учат фундаментальным основам программирования, дают расширенный курс математики и занимаются программированием олимпиадного уровня. В отличие от GeekSchool, Кодабра и Codemica, школа программистов занимается серьезной подготовкой, давая не просто общие навыки в полуигровой форме, а развивая математические способности и понимание алгоритмов. Вот только геймификации будет меньше, зато серьезного образовательного процесса — больше. Школа платная, стоимость варьируется от 41 300 до 44 800 рублей в год.
Все перечисленные школы — GeekSchool, Кодабра, Школа программистов и Codemika — имеют официальную образовательную лицензию. Теперь перейдем к вариантам с бесплатными уроками.
Codecademy
Codecademy удобен тем, что для написания программ не требуется устанавливать программные пакеты и редакторы. Все работает онлайн. Сервис формально ориентирован на взрослых. Но, например, основы Python, которые можно изучить на этом сайте, полностью соответствуют базовым курсам, рекомендованным для изучения с 9-12 лет (Например, автор книги «Python для детей и родителей» Брайсон Пейн считает, что программирование на этом языке можно изучать с 9 лет).
HTML Academy
На ресурсе HTML Academy можно освоить веб-разработку, то есть написание кода и скриптов для сайтов. Для изучения предлагается HTML, PHP и Javascript. Ресурс на русском языке, все упражнения выполняются онлайн. Есть один недостаток: значительная часть уроков HTML Academy доступна по подписке, а продвинутый опыт и знания можно получить за отдельную оплату. Подписка на момент написания статьи стоит 4590 рублей в год или 590 рублей в месяц. Тем не менее, этот ресурс рекомендуется для обучения, в том числе и детям, поскольку уроки даны в очень доступной форме.
Сайт предлагает удобный кабинет для учителей информатики, который можно использовать в учебном процессе. На этом ресурсе дети смогут познакомиться с HTML.
Stepik
Stepik — это онлайн-курсы по самым разным отраслям знаний. Начинался именно как ресурс для обучения программированию и IT, но сейчас там можно найти курсы по самым разным направлениям.
Значительная часть интересных, понятных и полезных курсов на этом сайте — полностью бесплатная при условии, что вам не нужен сертификат или диплом об окончании курса. На Stepik можно изучить Python, C++, Java и Javascript, разобраться с алгоритмами и SQL, понять, что такое нейронные сети и Big Data.
Особенность Stepik заключается в том, что он предлагает текстовые материалы, видеоуроки, а также задания, с помощью которых проверяется усвоенный материал. По сути, это стандартный учебный процесс, только проводится онлайн. Для изучения программирования придется установить соответствующие приложения, например, Python.
Stepik хорош тем, что все курсы ведутся на русском языке, кроме того, существует мобильное приложение, так что уроки можно изучать не только за десктопом или ноутбуком, но и со смартфона.
Считается, что на этом сайте размещают курсы для студентов. Но, на самом деле на Stepik можно найти и курсы для школьников. Например, «Поколение Python»: курс для начинающих».
«Открытое образование»
«Открытое образование» — очень полезный и нужный проект для изучения программирования, математики и многих других наук. На этом ресурсе размещают курсы ведущие российские вузы, такие как МГУ, СПбГУ, ИТМО, «Высшая школа экономики».
Курсы построены в формате видеолекций, текстовой части, задач, тестов и творческих заданий. Особенность заключается в том, что курсы доступны не всегда, а в определенный период, привязанный к учебному году. Например, в начале сентября начинаются курсы по Javascript, алгоритмам, C++ и прочие. Если не записаться вовремя, придется ждать запуска нового курса. При этом записаться может любой человек, учебный процесс полностью бесплатен. Если вам нужен сертификат, за него надо будет заплатить. Документ можно использовать для перезачета в любом университете.
Лекции на «Открытом образовании» рассчитаны на студентов. Поэтому знакомиться с курсами лучше, если уже есть определенный уровень подготовки. Впрочем, есть базовые курсы, рассказывающие, например, о работе с HTML с нуля. Эти курсы записывают весьма квалифицированные преподаватели, поэтому они сделаны очень качественно и доступно. Уроки будут вполне по силам детям, освоившим азы программирования на Scratch и желающим развиваться дальше. Например, курс «Веб-программирование», похожий по содержанию на курсы HTML Academy.
Яндекс.Практикум
Хотя курсы «Яндекс.Практикум» в целом платные, но базовые знания, например, основы веб-разработки или языка Python, здесь можно получить бесплатно. Начальный уровень будет вполне по силам детям 9-12 лет (в зависимости от уровня их подготовки).
Сервис хорош тем, что обучающие курсы написаны в форме доступных диалогов, со вставками видеороликов и к месту подобранными тестами, помогающими лучше усвоить материал. Плюс Яндекс.Практикума — качественно сделанная программа. Минус — слишком высокая стоимость полного курса обучения. За полный курс Python, например, хотят 85 000 рублей. В «Открытом образовании» похожие знания можно получить бесплатно.
Что в перспективе?
Что вы получите после онлайн-обучения? Все зависит только от ваших желаний и стремлений. Любые курсы — это только основа, главное — регулярная практика и решение прикладных задач. Обращаем ваше внимание, что, кроме описанных в статье, есть и другие проекты, которые готовят программистов под разные задачи: разработку игр, вычислительных кодов, интерфейсов или аппаратных средств, например, микроконтроллеров. И с каждым днем их становится все больше.
А как начать работать?
Для начала стоит найти небольшие проекты и задачи или реализовать собственные идеи, например, скрипты для Minecraft. Постепенно накопится опыт, а задачи станут все сложнее, интереснее и за их решение и написание кода вам будут платить хорошие деньги. Программирование хорошо тем, что навыки кодинга — универсальные и международные. Опытный программист способен найти работу где угодно, независимо от страны. Так что профессия программиста — это интересно и очень перспективно.