для чего нужно программирование в жизни

Программирование и его роль в современной жизни

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

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

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

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

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

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

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

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

Источник

Как программирование помогает в повседневной жизни

Какова польза от программирования вне профессиональной деятельности? Как оно помогает в быту? Отвечают опытные разработчики.

Николай Добровольский, вице-президент Parallels:

У системных администраторов есть золотое правило: если ты что-то сделал более двух раз, это стоит автоматизировать. Я стараюсь любые мелкие задачи автоматизировать с помощью подручных средств. Linux, скрипты на Visual Basic или формулы в Excel. Например, вместо того, чтобы заполнять в Excel десятки ячеек, мне проще один раз сделать «хитрые» формулы или скрипты. Много раз убеждался, что однажды «заморочившись», в итоге ты экономишь массу времени.

Сергей Стрелков, руководитель направления собственных разработок КРОК:

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

Знание программирования также здорово помогает мне общаться с техподдержкой и операторами всевозможных ИТ-систем. Кроме того, могу сказать, что разработка ПО стала для меня не просто работой, но и увлекательным хобби. По сей день меня увлекает спортивное программирование. Не исключено, что это стало одной из важных причин, почему КРОК провел уже три открытых чемпионата по программированию.

Евгений Потапов, генеральный директор ITSumma:

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

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

Ильи Отькало, директор онлайн-сервиса по конструированию туров Tourex.me:

Когда-то я был программистом, потом стал руководить программистами, дослужился до директора по внедрению крупнейшего франчайзи фирмы 1С. Но навыков не потерял по сей день: писать код могу.

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

Сергей Бронников, opensource community manager в компании Virtuozzo:

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

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

А как программирование помогает вам?

Какова польза от программирования вне профессиональной деятельности? Как оно помогает в быту? Отвечают опытные разработчики.

Николай Добровольский, вице-президент Parallels:

У системных администраторов есть золотое правило: если ты что-то сделал более двух раз, это стоит автоматизировать. Я стараюсь любые мелкие задачи автоматизировать с помощью подручных средств. Linux, скрипты на Visual Basic или формулы в Excel. Например, вместо того, чтобы заполнять в Excel десятки ячеек, мне проще один раз сделать «хитрые» формулы или скрипты. Много раз убеждался, что однажды «заморочившись», в итоге ты экономишь массу времени.

Сергей Стрелков, руководитель направления собственных разработок КРОК:

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

Знание программирования также здорово помогает мне общаться с техподдержкой и операторами всевозможных ИТ-систем. Кроме того, могу сказать, что разработка ПО стала для меня не просто работой, но и увлекательным хобби. По сей день меня увлекает спортивное программирование. Не исключено, что это стало одной из важных причин, почему КРОК провел уже три открытых чемпионата по программированию.

Евгений Потапов, генеральный директор ITSumma:

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

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

Читайте также:  Кольпоскопия что нельзя делать перед процедурой

Ильи Отькало, директор онлайн-сервиса по конструированию туров Tourex.me:

Когда-то я был программистом, потом стал руководить программистами, дослужился до директора по внедрению крупнейшего франчайзи фирмы 1С. Но навыков не потерял по сей день: писать код могу.

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

Сергей Бронников, opensource community manager в компании Virtuozzo:

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

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

Источник

Зачем учиться программировать непрограммистам

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

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

CEO компании Apple

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

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

Программирование — фундаментальный навык

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

Если говорить серьезно, то программирование — фундаментальный навык по той простой причине, что оно заставляет мыслить абстрактно. В его основе лежат принципы анализа и синтеза, или композиции и декомпозиции — это одно и то же по своей сути. В английском языке существует понятие “computational thinking”, которое можно определить как совокупность умений мыслить абстрактно, критически и разделять задачу на небольшие части. Именно этому может научить программирование, по мнению экспертов.

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

Кто должен заняться программированием

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

Контент-менеджер и бильд-редактор

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

В любом случае знания языка разметки HTML для контент-менеджера обязательны. Некоторые начинающие изучать HTML и CSS в итоге идут дальше и становятся полноценными frontend-разработчиками.

SEO-специалист

Поисковая оптимизация — это точка экстремума, место встречи веб-разработчиков и SEO-специалистов. Ошибки первых могут сильно мешать работе вторых, поэтому нормальное взаимодействие между этими отделами на понятном друг другу языке очень важно, если проект хочет появляться в поиске «Яндекса» и Google.

Понимание устройства сайта изнутри необходимо в работе по оптимизации. Здесь важны знания HTML и CSS, препроцессоров, а также востребованных на сегодняшний день фреймворков. В общем, обязанности и задачи SEO-специалиста тесно связаны с программированием, хотя он и не пишет код.

Менеджер проектов

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

Менеджеры часто работают с базами данных и аналитикой — для этого и нужно знание SQL-запросов. Кроме того, сложные функции в Excel можно заменить макросами. Иными словами, некоторые знания базового программирования упрощают и ускоряют работу менеджеров.

Интернет-маркетолог

Если программирование и маркетинг кажутся вам вещами несовместными, вы удивитесь. Здесь тоже всем заправляет аналитика, а для решения ее задач в последнее время активно применяется язык программирования Python. Специально для этих целей созданы библиотеки NumPy, Matplotlib, Pandas, Jupyter и другие.

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

Как учиться программировать неразработчику

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

В интернете можно найти массу учебных пособий «для чайников», где информация изложена очень подробно и доступным языком. Ищите книги конкретно под ваши задачи. Например, для изучения SQL — «Семь баз данных за семь недель».

Хорошим стартом и дополнительной мотивацией к овладению новыми навыками станет прохождение онлайн-курсов. Например, «Аналитик данных на Python» для тех, кто желает прокачать себя как маркетолога. Новичкам рекомендуем взглянуть на курс «Профессия frontend-разработчик», где вы освоите базовые навыки HTML и CSS, полезные в работе маркетологов, менеджеров и других специалистов.

Заключение

Мысль о том, что программирование — вторая грамотность, озвучил еще в 1981 году на конференции ЮНЕСКО академик А.П. Ершов. В 2018 году мы видим, что эта идея воплощается в жизнь, хотя в докладе Ершова содержался несколько иной смысл — соответственно этапу развития компьютеров того времени.

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

Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».

Источник

Как программирование влияет на мозг и мышление

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

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

1. Программирование влияет на ваши когнитивные модели

Важно ли, с какого языка программирования вы начали свой путь в этой профессии? Да!
Звучит нечестно, правда? Как ни крути, а большинство из нас познакомились с программированием ещё в школе, и первый язык нам навязывали. Я начал с языка С. Те, кто постарше меня, начинали с FORTRAN, COBOL или BASIC. А те, кто младше? Вы наверняка начинали с Java или Python.

Читайте также:  Кроссовки скетчерс мужские распродажа дисконт

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

Инструменты, которые мы используем, оказывают глубокое (и подспудное) влияние на наши мыслительные привычки, и, следовательно, на наши мыслительные способности.

COBOL уродует разум; его преподавание нужно расценивать как уголовное преступление.

Практически невозможно научить хорошо программировать студентов, которые раньше изучали BASIC: как потенциальные программисты они умственно искалечены, без надежды на восстановление.

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

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

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

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

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

Так что выбирайте язык программирования с умом!

2. Программирование помогает укрепить здоровье мозга

Мозг часто сравнивают с мышцей, которую нужно постоянно тренировать, чтобы оставаться умным и сообразительным. Так ли это? И если да, то можно ли считать программирование ментальным упражнением, достаточным для укрепления здоровья мозга?

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

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

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

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

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

Хотя все упомянутые исследования и не доказывают, что интеллектуальная деятельность делает нас умнее или способнее, однако результаты говорят о том, что трудные когнитивные задачи как минимум улучшают текущее состояние мозга и значительно снижают вероятность деградации.
Бытует точка зрения, что учиться программированию никогда не поздно, и описанные исследования лишь подтверждают это мнение. Программирование идёт на пользу!

3. Программирование — это не одни лишь математика с логикой

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

Конечно, исследование не было всеобъемлющим, и его авторы указывают:

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

Источник

Почему программирование — новая грамотность и зачем учить этому детей

Умение программировать также важно как умение читать. Это требования рынка и нового мира. Разбираем доклад НИУ ВШЭ «Универсальные компетентности и новая грамотность» и рассказываем, зачем и как учить ребенка программированию

Почему программирование стало частью новой грамотности

Навыки компьютерной грамотности помогают любому человеку решать повседневные и профессиональные задачи. Согласно результатам исследования Открытого университета Израиля, программирование стимулирует креативное мышление и формирует умения учиться. Авторы доклада «Универсальные компетентности и новая грамотность» сравнивают развитие компьютерной грамотности с этапами развития грамотности как умения читать, писать и считать.

В истории грамотности выделяют два этапа:

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

На втором этапе текст становится неотъемлемой частью повседневной жизни. Благодаря массовым кампаниям по ликвидации неграмотности, начиная с XIX века, большинство людей освоили навыки письма и чтения. Грамотность помогала получить доступ к информации в газетах с описаниями событий, в буклетах с рекомендациями для фермеров и счетах для отслеживания задолженностей. Чем больше людей осваивали навыки чтения и письма, тем более массовой должна была становиться грамотность.

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

Сначала компьютеры становятся частью инфраструктуры, когда их использует государство для переписи населения. Университеты, авиакомпании и банковский сектор начали использовать компьютеры c 1950-х годов. Примерно в 1980-х компьютеры стали доступными для большинства людей, а знания о компьютерах начали проникать из областей знаний узких специалистов в жизнь обычных людей. Люди чаще пользовались компьютерами при обращениях в больницы, организации данных о государственном управлении и управлении образованием.

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

Как программирование учит решать задачи

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

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

Зачем учить детей программированию

Идеолог конструктивизма в педагогике Жан Пиаже предложил такую идею: дети учатся быстрее, когда сами формируют свои представления об увиденном и делают собственные заключения, а не когда им говорят, как они должны воспринимать мир. Дети оказываются не пассивными получателями знаний, а наоборот, сами их конструируют.

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

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

Читайте также:  как заделать трещину в деревянной двери

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

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

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

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

За компьютером дети потребляют информацию, играют в игры и только малую часть времени придумывают и создают что-то свое. Тенденция начала меняться с распространением инструментов программирования для детей, например Scratch, Alice или Kodu. С помощью таких инструментов дети учатся создавать игры, анимацию, истории и художественные элементы. Программирование помогает поддерживать и стимулировать креативность, открывает источники вдохновения, чтобы выражать свои идеи и раскрывать личность.

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

По сравнению с другими видами учебной деятельности программирование — более щадящий и мягкий процесс. Работа с кодом помогает учиться на своих ошибках и не вызывает дискомфорта, если дети их совершают. Например, ребенок может отменить команду, чтобы исправить ошибку в коде, внести правки и попробовать что-то новое. Благодаря программированию дети перестают бояться ошибок. Вот что рассказывала мать девочки, которая работала на Scratch:

«Она набралась храбрости и больше не боится пробовать новые вещи. Даже если первая попытка оканчивается неудачей, дочка воспринимает ее не как “конец игры”, а как напоминание, что стоит попробовать другой путь, что в нужное место можно идти разными маршрутами и что не бывает маршрутов “правильных” и “неправильных” как таковых»

Ребенок начинает ценить обучение программированию, когда выражает себя через продукт, который может показать другим. Такой подход обозначают понятием «вычислительное участие» (computational participation).

Профессора Кафаи и Берк описали вычислительное участие в книге «Связанный код: почему детям нужно учиться программированию». Они считают, что вычислительное участие — это решение задач и разработка интуитивно понятных систем с другими и для других. Изучение культурной и социальной природы поведения человека с применением понятий, практик и подходов компьютерных наук. Например, работа в группах и использование кодов других людей.

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

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

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

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

Обычный результат программирования — это проект. Ребенок сразу видит: работает или не работает программа. Если не работает, он старается понять, что нужно узнать для завершения проекта. Ученик мотивирован, ему интересно искать ответы на вопросы, на которые и учитель не знает ответа, но точно может помочь их найти.

Как учить детей программированию

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

Профессора Кафай и Берк создали две среды обучения, чтобы оценить различия между структурированным обучением и внеучебной средой. В каждой из них, ученики создавали цифровые истории с одним и тем же преподавателем на протяжении десяти недель.

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

Авторы доклада «Универсальные компетентности и новая грамотность» предлагают дополнять занятия в классе мейкингом, мероприятиями по программированию и походами в технопарки.

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

На базе философии мейкинга можно создавать школы. Например, в 2011 году в Сан-Франциско открыли школу Brightworks для детей от 5 до 15 лет. Для обучения детей там используют полностью проектно-ориентированный подход. На уроках ученики делают проекты, например строят «Детский город».

По всему миру создают клубы программирования для детей. Они основаны на движении CoderDojo, которое поощряет сообщества создавать лагеря программирования свободного доступа — додзё. Например, в России работают два международных бесплатных клуба под руководством волонтеров CoderDojo и Code Club.

Мероприятия по программированию. На таких мероприятиях участникам дают материалы, чтобы самим провести занятия по программированию. Учителю, родителю или ребенку остается собрать других детей вместе и начать учиться. Например, некоммерческая организация Code.org проводит три популярных международных мероприятия, посвященных программированию — Час кода (Hour of Code), Неделя кода в Европе (Code Week EU) и конкурс по информатике «Бобер» (Bebras Challenge).

Час кода — часовая учебная программа, разработанная для всех возрастов на более чем 45 языках. Час кода проводят в 180 странах.

Неделя кода — двухнедельные мероприятия для детей, организованные волонтерами по всему миру. Неделю кода проводят в 50 странах. В 2016 году в Европе приняли участие почти 1 млн человек.

Конкурс «Бобер» проводят каждый год в 38 странах для детей от 8 до 19 лет. По условиям конкурса, каждому участнику дают 45 мин на выполнение 18 заданий в области информационных технологий. Организаторы не требуют специальных навыков программирования, поэтому с заданиями может справиться каждый. Конкурс проводят на базе школ при поддержке учителей. Победители получают сертификаты и призы.

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

Например, «Кванториум» — сеть детских технопарков в России. Сейчас работают 24 технопарка в 19 регионах страны.

Зачем учить детей программированию

Больше информации и новостей о трендах образования в нашем Telegram-канале. Подписывайтесь.

Источник

Развивающий портал