Программист с песочницы

Знание языка программирования больше не ассоциируется исключительно с узкой группой одаренных людей. Сегодня это распространенный навык среди специалистов в разных областях, а в недалеком будущем, быть может, и обязательный навык на рынке труда. Если раньше кодинг в лучшем случае был в программе старших классов, то сегодня многие школы вводят этот предмет уже в средней и даже младшей школе. Путем преподавания основ кодинга или компьютерного программирования детям с раннего возраста пытаются привить алгоритмическое мышление, помочь им развить логику и научить их мыслить абстрактно. Поэтому вне зависимости от того, мечтает ребенок стать врачом или Марком Цукербергом, родителям стоит присоединиться к новой моде и познакомить своих детей с программированием.

Чем раньше, тем лучше

В 2012 году во время своего выступления на конференции TED профессор Массачусетского технологического института Митчелл Резник сравнил навык программирования с чтением или письмом.

  • «Программирование, как умение читать и писать, расширяет возможности для постижения разных наук. Дети не просто лучше понимают, как устроен компьютер, они также учатся экспериментировать со своими идеями и выстраивать процесс работы. Более того, когда дети учатся писать, это ведь не означает, что они в итоге станут профессиональными писателями. Также и с программированием: вне зависимости от своей будущей профессии, детям обязательно пригодятся все те навыки, которые развивает программирование. Это и способность работать в команде, и креативное и алгоритмическое мышление»

Но если креативное мышление или умение работать в команде можно постараться развить и в более старшем возрасте, то вот с алгоритмическим мышлением могут возникнуть затруднения. Преподаватель Ассоциации репетиторов Даниил Георгиевич отмечает, что взрослому человеку развить алгоритмическое мышление почти невозможно. Поэтому этим стоит заниматься уже с детства.

  • «Обусловлено это несколькими причинами. Лобные доли мозга человека сформировываются к 23 годам, а именно они отвечают за программирование, планирование, логику. Поэтому что-то изменить — крайне тяжело. Также большинство людей хотят делать только то, что у них хорошо получается. Взрослые просто не могут заставить себя в нерабочее время заниматься вещами, развивающими логику, — это слишком трудоемкая для них задача»

Связанные одной цепью

Умение программировать и алгоритмическое мышление идут в тесной связи друг с другом. Первое – напрямую зависит от умения человека анализировать; второе – развивается по мере обучения навыкам программирования. Даниил Георгиевич продолжает:

  • «Алгоритмическое мышление это мышление, при котором человек сперва анализирует задачу, а потом раскладывает её на более простые подзадачи. Человек с таким мышлением намного легче обнаруживает связи между близкими вещами; там, где другие видят две разные задачи или две разные ситуации, человек с алгоритмическим мышлением может увидеть связь»

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

Программист с песочницы

Источник фото

Онлайн-тренажеры для начинающих программистов

В онайн-выражении программирование работает по схожему принципу: определенный набор функций расставляются в заданной последовательности для достижения нужной цели. Чтобы развить в ребенке этот самый навык — выстраивать рабочий процесс от задачи к исполнению и к результату- существует целый ряд тренажеров.

  • Scratch и Scratch Jr это проекты Массачусетского технологического института для детей школьного и дошкольного возраста соответственно. При помощи Scratch дети могут создавать анимацию, интерактивные истории, презентации – в принципе все, что угодно. В их распоряжении – целая библиотека объектов и разных функций, которыми они могут управлять. По словам Митчелла Резника, одного из создателей Scratch, это один из самых верных способов заставить детей полюбить математические показатели без их ведома.
  • Компьютерная игра ПиктоМИР была разработана по заказу Российской Академии Наук для преподавания азов программирования дошкольникам и ученикам младшей школы. В основном игра ориентирована на детей, которые только учатся читать и писать. В ходе игры ребенку приходится продумывать действия, составлять алгоритмы в голове, а потом уже выполнять их, управляя исполнителем-роботом.
  • Создатели Hopscotch называют свой проект “Лего 21 века”. Это цифровая игрушка, знакомящая детей с языками кодинга и позвляющая им создавать свои игры. Как и многие другие платформы для начинающих программистов, Hopscotch основана на визуализации: для создания анимации дети совмещают разноцветные блоки, тем самым прописывая передвижение элементов. Отличительной особенностью платформы является то, что она разработана исключительно под планшетные компьютеры.
Программист с песочницы

Источник фото

Образовательные площадки для изучения программирования

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

  • Moscow Coding School это первая в России школа программирования западного образца. Школа предлагает на выбор курсы в разных направлениях – от 3D-анимации в вебе до основ мобильной разработки. Для детей в Школе есть сразу несколько курсов — processing для школьников, основы программирования и веб-программирования. Средняя продолжительность курсов – 6 недель; стоимость – 30 000 руб.
  • Сергей Нугаев, директор Moscow Coding School: «Мой опыт показывает, что с 13-14 лет человек в состоянии работать со многими задачами по программированию, за решение которых людям во взрослом мире платят деньги. Дети отлично справляются с такими задачами, как, например, верстка веб-сайтов. У меня даже был уникальный случай, когда человек на выходе с курса написал в браузере игру “Сапер”.
  • Но надо хорошо знать тонкости своего ребенка, чтобы правильно понять его потребность в “развитии алгоритмического мышления». Не существует советов уникальных и подходящих всем, но частая ошибка – радикальные методы. Для развития соответствующих навыков не надо сразу бежать в какую-нибудь известную математическую школу, типа СУНЦ, где человеку на лоб неформально приклеивают ярлык технаря. Стоит выбирать нечто основанное, в первую очередь, на энтузиазме и трудолюбии ребенка, чтобы у него самого была возможность реализовываться без всякого нажима. Этого можно достичь при наличии толкового репетитора или грамотно подобранного “попурри” из курсов и дополнительных образовательных программ»
  • Некоммерческая онлайн-платформа Khan Academy существует с 2006 года и ставит своей задачей распространение качественного образования и популяризацию знаний. Благодаря бесплатным видео-урокам Академии ученики могут подтянуть математику, физику, химию, биологию, мировую историю и многие другие предметы. В числе прочего ученики таже могут познакомиться с основами программирования. В настоящий момент идет работа над переводом всех материалов Академии на русский язык. Первые видео уже можно посмотреть на официальной странице Академии в Youtube.
  • В 2011 году создатели нью-Йоркского стартапа CodeAcademy решили научить мир программировать. Платформа предлагает пошаговые уроки в изучении разных языков программирования, поддерживает боевой дух значками и отзывами о проделанной работе и даже подразумевает групповую работу, чтобы желающие могли проходить курс одновременно с друзьями. С 2012 года существует также и русская версия платформы. Обучение в CodeAcademy бесплатное.

Кодинг как навык для жизни

Помимо того, что программирование развивает определенные профессиональные качества и в целом помогает в процессе изучения других предметов, оно также дает потенциальную возможность лучше справляться с разными жизненными ситуациями. Даниил Георгиевич, преподаватель Ассоциации репетиторов, замечает, что развитое алгоритмическое мышление, это не только залог успехов по математике:

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

Источник заглавной картинки

Мудрая сова 04 декабря 2015