Какой язык программирования выбрать для детей
Многие дети, познакомившись с компьютерным миром, загораются желанием стать программистами. Но с чего же начать? Этот вопрос задают не только дети, но и их родители. Ведь именно от их совета и напутствия зависит, полюбит ли ребенок программирование или нет.
Чтобы ответить на главный вопрос, с чего начать изучать программирование детям, мы сначала обратились в сеть.
По запросам “с чего начать изучать программирование” или “какие языки программирования наиболее востребованы на рынке” можно сделать вывод, что сегодня самые востребованные языки – это Java, Python, C#, С++ или Cocoa. Понятно, что эти языки действительно важны в современном мире. Например:
- C++ нужен для разработки кросс-платформенных игр и высокопроизводительных вычислений
- Python – это статистические расчёты.
- Java нужна для тех, кто планирует работу в крупной компании.
- PHP – создание сложных сайтов и интернет магазинов
Но все это сложный путь, который может и оттолкнуть юного программиста от дальнейшего развития в этой сфере. Поэтому прежде чем приступить к изучению одного из этих языков, лучше всего получить основные знания структуры программирования на базе более легкого и интуитивно понятного языка.
IT Академии
Если говорить о курсах программирования для детей и о модных IT академиях, то там, скорее всего, вашему ребенку предложат изучение web-дизайна, научат базовым знаниям пользования ПК, расскажут про графику и дадут информацию о HTMLCSS для создания сайтов.
Все эти знания полезны и могут помочь определиться в дальнейшем направлении.
Но если ваш ребенок сказал, что хочет научиться программированию, то самый лучший вариант это предложить ему изучение языка программирования Basic (кстати, раньше, его преподавали в школах) или Scratch – специально разработанная система для обучения детей азам создания простых игр или анимации.
Как привлечь ребёнка в IT сферу?
Покажите ребенку, что программирование – это не скучно, а очень увлекательно. Сделать это можно как раз на примере языка Scratch. В нем можно быстро получить готовый результат – игру или анимацию – без предварительной подготовки и долгого обучения.
Дайте время ребенку на то, чтобы он освоился в этой среде, понял, что именно ему интересно. Не давите и не пытайтесь заставить ребенка учить языки программирования, которыми пользуются профессионалы. Они требуют долгого и упорного труда, а также базовых знаний по другим предметам, которые ваши дети будут проходить в школе в старших классах.
Постарайтесь преподнести идею программирования для ребенка как игру. И Scratch – это самый простой и понятный способ.
Как создается программа
Чтобы создать работающую программу, нужно продумать и разработать целый ряд компонентов, без которых невозможно получить готовый результат.
- Объекты
- Логика
- События
- Функции Действия
- Память и Данные
- Внешний вид программы (GUI)
- Фреймворк
Действующие лица в программе (Герой игры, Картинка, Звук или Данные, например таймер будильника).
Как программа будет себя вести с самого начала. Это сценарий игры, сценарий будильника.
Как программа будет взаимодействовать с Пользователем – нажатия мышкой, ввод текста с клавиатуры. И как объекты будут взаимодействовать между собой – столкновение, появление на экране, исчезновение.
Что Объекты вообще могут делать: стрелять, прыгать, летать, звонить.
Чтобы герой игры имел 3 жизни и не погибал с первого выстрела, надо сделать так, чтобы он помнил, сколько раз в него попали. Чтобы будильник не звонил весь день и умел напоминать о пропущенном сигнале – он должен помнить о том, что уже звенел один раз. Такие Данные хранятся в памяти (в переменных) либо на диске.
Graphical User Interface или как все будет выглядеть. Кнопки, надписи на экране, картинки.
Взаимосвязь всех составляющих программы и настройка их слаженной работы. Та часть всех программ, создание которой сразу отталкивает детей и подростков за счет своей сложности и монотонности написания кода.
Для ребенка, который только начинает свой путь в программировании, будет сложно сразу удержать в голове все 7 пунктов. Именно поэтому мы рекомендуем отказаться от сред программирования для взрослых и сделать выбор в пользу Scratch – одного из самых легких языков, предназначенных для детей.
Что такое Scratch и как на нем программировать?
Scratch – это языксреда программирования, благодаря которому можно быстро (получить готовый результат) создать работающую программу. Это среда разработки программ без Фреймворка, а это значит, что он максимально прост и доступен для детей и подростков.
Не имея никакой базовой подготовки, ваш ребенок сможет написать простенькую игру, создать анимацию, калькулятор или секундомер с красивым оформлением. Scratch позволяет в игровой форме понять основные принципы программирования и создает базу знаний, благодаря которой можно легко перейти на следующий уровень программирования.
Например, в Scratch все предметы называются спрайтами, спрайтам можно задавать программу, присваивать звуки. Перетаскивая блоки из вкладки «Скрипты» на поле для «кода» ребенок создает понятную картину из разноцветных блоков:
- Синий – отвечает за движение
- Сиреневый – отвечает за внешность
- Розовый – отвечает за звук
- Зелёный – отвечает за перо
- Оранжевый – отвечает за данные спрайта
- Коричневый – отвечает за события
- Жёлтый – отвечает за управление спрайтом
- Голубой – отвечает за сенсоры
- Салатовый – отвечает за операции
- Фиолетовый – собственные блоки
Во вкладке костюмы можно выбрать образ (вид) спрайта.
Вкладка «Звуки» позволяет выбрать звук из библиотеки или из своих загруженных звуковых файлов и наложить на какой-либо спрайт или фон.
В результате можно получить небольшую игру или мультик.
Попробовать программирование на Scratch будет и родителям, которые никогда не имели дело с программированием.
Это может стать вашим новым хобби, а также поможет понять, что так сильно привлекает ваших детей в этой области.
Простой и понятный интерфейс Scratch поможет вам и вашим детям открыть для себя мир программирования и получить необходимые знания для того, чтобы расти и развиваться в IT.
А пользователям KidLogger мы напоминаем, что если вы заметили в отчете об использовании сайтов и приложений Scratch, не спешите ругать своего ребенка за часы, проведенные онлайн. Ведь это шанс научиться чему-то новому!
Здесь вы можете найти новости программы KidLogger, интересные статьи и советы по использованию нашего сервиса. Новые возможности, рекомендации по установке и настройке приложения для Windows, Mac, Android, Symbian, Blackberry и iOS.
Compare Parental Controls in Windows 7, Mac and Kidlogger.net
“Never leave kids and employees unsupervised. They might be protected and controlled.”
Archive
Источник: https://kidlogger.net/blog/programming-language-for-children.html?lang=ru
Язык будущего: как научить детей программированию
Екатерина Ушахина
Вы знаете, за каким языком будущее? Английским? Китайским? На самом деле, нет. В цифровом мире самый важный и необходимый язык — язык программирования.
Совсем скоро без него не сможет обходится ни один хороший специалист. Поэтому очень важно научить детей программированию уже в детстве.
Поверьте, освоить его совсем не сложно. Это даже весело и увлекательно. Сегодняшняя новинка «Программирование для детей» подскажет как.
Это весело!
Учиться программировать очень интересно, ведь можно придумывать собственные игры. Вот лишь несколько, которые сможет создать ваш ребенок во время чтения книги:
— Убеги от дракона! Простая игра, которая поможет освоить азы и понять, как управлять спрайтами (персонажами). Задача маленького программиста — помочь спрайту коту увернуться от огнедышащего дракона.
— Бешеные обезьяны. Поможет проверить на практике все возможности языка программирования Scratch. Задача программиста — сбить летучую мышь бананом.
— Дом с привидениями. Научит программировать на языке Python. Это увлекательная игра квест, задача разработчика — создать код, которые поможет спастись из дома с привидениями.
— Охотник за пузырями. Сложная в создании, но очень захватывающая игра. Поможет закрепить навыки программирования на языке Python. Задача маленького программиста — создать алгоритм, который поможет подводной лодке лопать пузыри на скорость.
Думай как компьютер
Программист должен научиться думать как компьютер. Все задачи стоит разбивать на небольшие подзадачи, которым легко следовать и которые невозможно понять неправильно.
Представь себе кафе с официантом-роботом. Поскольку у робота бесхитростный компьютерный мозг, ему нужно объяснить, как доставлять блюда с кухни посетителям, ожидающим в обеденном зале.
Сперва эту проблему нужно разбить на простые, понятные компьютеру подзадачи.
То есть придумать алгоритм действий (по-другому — компьютерную программу) — это набор простых инструкций, объясняющих, как выполнить задачу.
Языки программирования
Программисты — это люди, которые создают программы, управляющие всем, что мы видим и делаем на компьютере. Вы сможете писать собственные программы, если освоите какой-нибудь язык программирования. Их очень много. Каждый можно использовать для выполнения разных задач.
Существуют немного странные веселые языки. Например:
Ook! Язык Ook! разработан для орангутанов и содержит лишь три команды: Ook, Ook! и Ook? Из них можно составить еще шесть команд, таких как «Ook! Ook» или «Ook? Ook!».
Chef. Программы на языке Chef выглядят как кулинарные рецепты! Впрочем, по ним вряд ли получится приготовить что-то съедобное.
В этой книге авторы учат детей двум языкам:
1. Scratch (читается «скрэтч») отлично подходит, чтобы начать программировать. Программы на этом языке состоят не из текстовых инструкций, а из блоков кода, соединенных между собой. Scratch — простой и эффективный язык, знакомящий с основными понятиями, необходимыми, чтобы программировать на других языках.
2. Python. Люди по всему миру используют Python (читается «пайтон») для создания игр, приложений и веб-сайтов. Освоив этот замечательный язык, можно писать самые разные программы. Код на Python состоит из слов английского языка и символов.
Программируем при помощи картинок
Scratch — это визуальный язык, программировать на котором очень просто. С его помощью можно создавать самые разные веселые и интересные программы, например игры и анимацию.
Для него есть целые библиотеки картинок и звуков, с которыми можно позабавиться.
Scratch почти не требует ввода текста с клавиатуры. При этом в программу можно добавлять объекты: людей, автомобили, животных. Такие объекты называются спрайтами. Попросту спрайты — это фигурки-персонажи.
Чтобы заставить их двигаться или разговаривать, нужны скрипты — специальные цветные блоки кода. Выбирая блоки и соединяя их вместе, можно составить набор инструкций — скрипт.
С чего начать?
Вот пример Scratch-программы. Действие происходит на экране с картинками. На компьютерном языке он называется сценой. На сцену можно добавлять фоновые картинки и спрайты, «оживляя» их с помощью скриптов. Сцена находится слева, а справа можно создавать программы.
Простой урок
Чтобы поместить спрайт в определенное место или узнать его положение, нужны координаты — пара чисел, указывающая положение спрайта на сетке X–Y. Это, как в математике. Посмотрите на картинку:
Как стать знатоком программирования
Навыки программирования улучшаются с опытом — как при игре на пианино или занятиях спортом. На то, чтобы стать экспертом, можно потратить годы, но дорога будет легкой, если она в радость. Вот несколько советов, как стать знатоком программирования.
Программируй больше. Говорят, что повторение — мать учения, и это правда. Чем больше кодов ты пишешь, тем выше твое мастерство. Не останавливайся, и скоро ты станешь экспертом.
Больше любопытства. Изучай сайты и книги по программированию, читай чужой код. Так ты узнаешь приемы и трюки, доходить до которых самостоятельно пришлось бы годами.
Заимствуй идеи. Встретив хорошую программу, подумай, какие идеи и приемы из нее можно использовать в своем коде. Даже лучшие программисты занимаются копированием чужих идей и их усовершенствованием.
Научи друга. Научив кого-нибудь программировать, ты тоже многому научишься. Объяснять, как работает код, — хороший способ проверить свои знания.
Построй армию роботов. Ты можешь подключать свой компьютер к различным устройствам, от светодиодов до роботов. Выясняя, как завоевать мир, ты узнаешь много нового и интересного.
Программирование похоже на разгадывание головоломок. Это сложно, увлекательно и очень полезно. Научите вашего ребенка экспериментировать и идти против правил, доверяя собственному любопытству. И тогда он обязательно станет гуру программирования и цифровой мир будет открыт для него!
По материалам книги «Программирование для детей».
Источник: https://deti.mann-ivanov-ferber.ru/2015/05/21/yazyk-budushhego-kak-nauchit-detej-programmirovaniyu/
Программирование для детей – как учат самых маленьких и школьников в кружках, по книгам и играм
Программирование для детей на курсах или в форме игры может стать отличным хобби для младших и старших школьников. Этому искусству не так сложно научиться, как может показаться поначалу. Главное — сильное стремление и непоколебимая мотивация, не угасающая даже когда в коде возникают ошибки.
Чтобы ответить на этот вопрос, нужно определиться с понятием программы. По структуре это алгоритм, четкая последовательность команд. Программирование — процесс написания цифровых приложений на компьютерных языках, которых разработано более 8000. Постоянно создаются новые виды или совершенствуются старые, а развитию сферы способствуют курсы программирования для детей и взрослых.
Чтобы стать программистом, нужно понять, что написание программ — тонкий процесс со своими нюансами, особенностями.
Даже у опытных разработчиков немало времени занимает поиск ошибок в коде, мешающих стабильной работе программы или делающих запуск невозможным.
Популярен стереотип, что качественная разработка приложений требует глубоких математических знаний, но большее влияние оказывает логика, которую можно развивать при помощи математики.
Метод создания компьютерных программ путем управления визуальными элементами вместо прямого написания кода называется визуальной разработкой.
Это способ разрабатывать приложения при помощи графических, символьных интерактивных объектов, пользуясь пространственным свойством элементов как частями синтаксиса программы.
Языки, предназначенные для визуальной разработки, оперируют в работе фигурами и линиями, где первые выражают субъекты, события, а вторые – отражают отношения и взаимодействие внутри сцены.
Этот тип компьютерных языков основывается на применении т.н. скриптов (сценариев). Скриптом называют последовательность операций, алгоритм, автоматизирующий выполняемую пользователем работу. Ранее сценарные языки называли языками пакетной обработки. По быстродействию различают предварительно компилируемые ЯП (яркий пример — Perl) и динамического разбора.
- Языки первой группы переводят программу в байтовый компьютерный код, а после приступают к ее выполнению.
- Динамические скриптовые языки постепенно получают алгоритм из файла, считывая дальнейший код только по мере необходимости.
Традиционные языки
Эту группу языков можно назвать базисом разработки приложений. Благодаря сильной близости к стандартной машинной архитектуре, достигается повышенная эффективность работы.
Традиционные ЯП могут использоваться для генерации новых инструментов.
Основным минусом этой группы языков программирования считается ориентированность на численные алгоритмы, обуславливающие слабость в работе с символьными логическими массивами данных.
Какой язык лучше выбрать для обучения программированию детей? Он должен быть доступным, чтобы не напугать ребенка, но проще отталкиваться в выборе от количества подходящих обучающих материалов в свободном доступе. В этом плане лидируют следующие:
- Scratch;
- Python;
- Java;
- Processing;
- Basic.
Скретч — интерактивный учебный софт, среда, разработанная для обучения младших школьников.
Создание компьютерных игр в Scratch напоминает конструктор LEGO, где программа составляется из многочисленных блоков-команд разного цвета.
Скретч — объектно-ориентированная среда, где можно работать с различными элементами: видоизменять, задавать пути перемещения, заставлять взаимодействовать, поместив в визуальную среду.
Scratch относится к классу визуальных, разрабатывался под платформы Windows, GNU Linux и macOS для обучения детей азам программирования, а также прививания интереса к этому роду деятельности.
Этим обуславливается простота — процесс работы сводится к добавлению и изменению спрайтов, которые состоят из нескольких кадров с определенным сценарием.
Встроенный графический редактор упрощает изменение графической составляющей проекта.
Java
Это традиционный язык программирования, на котором можно выстроить методику обучения старших школьников. Спецификация Джава заключена в одном из ключевых достоинств — независимости от используемой платформы.
Основой технологии Java стал не машинный, а байт-код, приложения поддерживаются любой системой, включающей виртуальную машину JVM.
Ключевым достоинством Java считается относительная легкость в освоении, чему способствует обилие научных материалов на русском, английском языках.
Processing
Это скриптовый язык, основой которому послужил классический Java.
Благодаря доступному для понимания синтаксису, эта среда разработки способна без труда создавать приложения, которые в контексте Processing называют скетчами.
Обилие доступных в сети материалов, библиотек, мультиплатформенность, возможность использовать стороннее ПО (OpenGL) делают программирование для школьников очень доступным и не отпугивающим своей сложностью.
Как научить ребенка программировать
Поскольку детям гораздо интереснее обучаться на практике, стоит начать с нее, а не заставлять юного программиста читать «Искусство программирования» Д.Кнута.
Это одна из лучших монографий по написанию программ, но ребенку будет слишком неинтересно, скорее всего, он забросит ее уже после прочтения первых страниц, испугавшись сложности.
Рекомендуется разбить рабочий процесс на несколько этапов:
-
Ознакомительный. Продемонстрируйте начинающему девелоперу классический софт (например, от Microsoft), покажите, как редактировать тексты, разобрав как все работает, и объясните почему разработчик сделал так. Дайте ему почувствовать подходы и требования к интерфейсу и качественным программам в целом. Расскажите о компьютерных технологиях, об алгоритмах и о том, как с ними работать.
-
Базы данных. Не нужно рассказывать обо всех аспектах работы с базами данных, если юный программист слишком мал, чтобы справиться с такой информацией. Но стартовые знания (таблицы, SQL-запросы и процедуры) пригодятся для эффективного программирования и понимания того, как работают создаваемые программы.
-
Обучающий софт. Сфера разработки в России только развивается, но уже разработаны обучающие приложения, игры, которые можно найти в интернете. Установите несколько и научите ими пользоваться. Вскоре будут освоены начальные знания — основы информатики, алгоритмизация, логическое мышление.
Программы для обучения
Одна из лучших программ для прививания начальных навыков программирования называется Скретч. Это среда, позволяющая создавать интерактивные приложения простейшими алгоритмами. Разработано множество мультивозрастных приложений на смартфоны, обучающих программированию в игровой или практической форме:
- Tynker;
- Udacity;
- Javvy;
- Code combat.
Курсы программирования
В вашем городе могут быть курсы программирования для школьников, интересующихся разработкой — стоит проверить тематические ресурсы в сети или объявления в соответствующих учреждениях.
Еще стоит поискать в интернете онлайн-курсы, предоставляемые как университетами и школами, так и частными лицами, или же найти самоучитель и научиться основам — визуальному Scratch и текстовому Python или JavaScript вместе с ребенком.
Игры для обучения
Пример игр в категории программирования — Colobot и Codespells. Первое — трехмерная обучающая стратегическая игра о космосе, дающая начальные навыки работы с Java и C/C++.
Основная особенность – персонажи-роботы, которые программируются на выполнение монотонных действий вместо игрока. Второе — креативная игра в жанре «песочница о волшебниках».
Обучающая часть заключается в создании заклинаний путем написания кода.
Популярная игра в категории «Обучение детей программированию» — Kodable, игра-лабиринт, в которой юный программист познакомится с циклами, условиями, функциями и отладкой на 105 легких и сложных уровнях. Доступность и качественная анимация — весомые достоинства этого приложения, приковывающие внимание детей надолго.
Программирование для детей онлайн
Один из путей обучения — школа программирования для детей онлайн. В сети предлагаются курсы для начинающих разработчиков, ориентированные на группы разных возрастов.
Многие обучают детей от 7-8 лет, уроки проводятся по Skype.
Еще один вариант — онлайн-сервисы вроде Codabra, предоставляющие курсы для детей от 9 лет, где обучение программированию происходит при помощи таких платформ, как Minecraft и Scratch.
Книги
Одна из лучших книг в данной категории — «Программирование на Java для детей, родителей, дедушек и бабушек», выпущенная в 2011 году Яковом Файном.
Это доступно написанный учебник по Java для детей возраста 11-18 лет, который можно использовать, чтобы организовать кружок программирования для школьников.
Книгу нельзя назвать самодостаточным руководством, но для получения базовых знаний и пробуждения интереса к дальнейшему развитию она подойдет.
«Scratch для детей» — книга, предназначенная для обучения основам визуальной разработки детей старше 8 лет. По этому руководству, написанному М.Маржи, ребенок сможет начать свой путь программиста под чутким руководством своих родителей.
«Python для детей» — интересный самоучитель для детей от 10 лет. Книга актуальна по причине доступности и востребованности языка Python, который позволит юному программисту создавать все: от простых программ до крупных игровых вселенных.
Видео
Источник: https://sovets.net/15923-programmirovanie-dlya-detej.html
Зачем ребенку программирование
Стив Джобс считал: “Каждый человек должен учиться программировать, потому что это учит нас думать”. Когда речь заходит о развитии логики и аналитических способностей, считается, что сделать это практически невозможно.
Так уж сложилось, у кого-то “математический склад ума”, а кому-то просто не дано. Однако развить аналитическое мышление у ребенка возможно: на помощь приходят особые, “детские” языки программирования.
Я много раз слышал от родителей такую фразу “моя дочь хочет стать актрисой, зачем ей это?”, “мой сын будет юристом, для него это пустая трата времени!”
На самом деле, существует три веские причины познакомить ребенка с программированием, причем сделать это как можно раньше.
Основа программирования – это алгоритмы. Алгоритмом называют набор действий, который нужно выполнить для достижения результата. Любой процесс, будь то запуск ракеты, вождение автомобиля или приготовление борща, можно описать алгоритмом, а на основании него уже создать программу, которая будет его выполнять.
Как можно использовать это в повседневной жизни? Если вы работаете на компьютере, уверен, вам часто приходится выполнять однообразные, почти механические действия (форматирование текстов, сортировка файлов по папкам, рассылка электронной почты и т.д.).
Существует множество решений, позволяющих сэкономить ваше время: начиная с макросов в Microsoft Office (типичный пример – форматирование текста), заканчивая специальными программами, которые вы без труда найдете по запросу “автоматизации в Windows”.
Они не только выполнят часть работы за вас, но и сделают это в назначенное время, даже если вас не будет у компьютера.
Между прочим, необязательно ограничиваться работой: например, используя программу Sikuli, вы можете создать себе “бота” и несложными командами научить его собирать и продавать урожай в “Веселой Ферме” или любой другой онлайн-игре. Оставляете компьютер на ночь, и к утру бот зарабатывает вам мешок денег. Уверен, вам понравится.
При чем же здесь программирование? При том, что даже поверхностные знания в этой области позволяют нам “мыслить алгоритмами”, искать процессы, которые можно автоматизировать, и находить варианты, как именно это можно сделать, а при необходимости писать простейшие программы для решения любых задач. Таким образом, чем бы ваш ребенок ни занимался, такие знания никогда не будут лишними.
Кстати, с простейшими алгоритмами мы знакомимся задолго до того, как начинаем работать за компьютером. Известное нам с детства “Красный свет – хода нет!” – типичный пример алгоритма.
Они очень сильно облегчают нам жизнь, позволяя автоматизировать ежедневные процессы и освободить мозг для более важной работы.
Без таких “встроенных алгоритмов” мы бы оказались на месте сороконожки из мультика, которая задумалась о том, как же она ходит не спотыкаясь, и тут же запуталась в своих ногах.
Представьте себе, что вы не умеете писать и читать. Да-да, прямо сейчас, в 2013м году. Вы никогда не собирались становиться писателем или поэтом, вот и не стали учить алфавит.
Правда, написать жалобу в ДЕЗ или прочитать договор с банком вы тоже теперь не можете. А если нужно написать письмо, вы идете за помощью к знакомому, который умеет читать и писать.
Звучит нелепо, правда? Возможно, через 20-30 лет именно так будут чувствовать себя люди, не владеющие азами программирования.
Судите сами: 20 лет назад о существовании такого предмета, как программирование, знали только избранные. 10 лет назад мало кто понимал, кто такие программисты и чем они, собственно говоря, занимаются.
Сегодня программист – одна из самых популярных и востребованных специальностей.
Если развитие будет идти в том же темпе, возможно, в ближайшие 20 лет языки программирования станут так же необходимы для успешной карьеры, как иностранные языки.
Кроме того, компьютерные технологии все глубже входят в повседневную жизнь, устройства, которые раньше можно было увидеть лишь в фантастических фильмах, появляются на прилавках самых обычных магазинов. Роботы-помощники, устройства “умный дом” и бортовые компьютеры в автомобилях – все это реальность уже сегодня, а чтобы пользоваться ими самостоятельно, понадобятся новые знания.
Возможно, читая статью, вы подумали: “Это все, конечно, очень хорошо, но заставлять ребенка программировать ради призрачных перспектив в будущем? Нет, спасибо.” Думаю, у многих из вас программирование ассоциируется с черным экраном, малопонятным набором букв и цифр и вечной ошибкой “Syntax Error”, с которыми вам приходилось воевать на уроках информатики.
Действительно, до недавнего времени порог вхождения в программирование был достаточно высок: в большинстве программ используется английский язык, сложный синтаксис, пугающие интерфейсы с большим количеством окон. Увлечь программированием было сложно даже старшеклассников, что уж говорить о малышах. Однако сегодня созданы удивительные языки программирования, которые способны заинтересовать даже первоклассника.
Языки, о которых будет рассказано ниже, не только познакомят ребенка с азами предмета, но и помогут ему развить логику, пространственное мышление, внимательность и фантазию. Кроме того, работая с ними, ребенок не только испытает настоящее удовольствие от процесса, но и получит уникальный результат, который можно показать родителям и друзьям, а ведь это так важно! Итак, приступим.
http://scratch.mit.edu/
Студенты Массачусетского Технического Института (MIT) написали один из лучших языков для детей Scratch (краткая видеопрезентация) Он переведен на русский язык, и в последней версии 2.0 его даже не нужно устанавливать на компьютер: заходите на сайт и начинаете творить. Регистрация понадобится, если захотите сохранить вашу программу и похвастаться друзьям.
Писать программы в Scratch не сложнее, чем собирать конструктор Lego – команды присоединяются друг к другу как кирпичики.
Кроме того, вы можете взять любой понравившийся вам проект, посмотреть его код и изменить по своему вкусу, или сделать на его основе свою программу.
Все это происходит в доброжелательной атмосфере, где вы всегда можете пообщаться с другими авторами программ, спросить совета на форуме и просто получить лестные комментарии к своим программам.
Предлагаю вам прямо сейчас зайти на сайт http://scratch.mit.edu/и нажать кнопку “Попробуйте” (для работы в Scratch вам понадобится любой современный браузер и установленный Adobe Flash Player). Нажмите на знак вопроса в правом верхнем углу, чтобы пройти пошаговое введение в программирование или посмотреть описание разделов.
Скретч – не только среда программирования, но и полноценная мультимедийная площадка. Она позволяет рисовать, работать со звуком и фотографиями и использовать все это в своих проектах. Здесь можно создавать интерактивные истории, игры и мультфильмы.
Благодаря разнообразию проектов, Scratch будет интересен детям любого возраста.
По моим наблюдениям, детям помладше нравится рисовать комиксы или мультики и создавать музыкальные синтезаторы, ученики 5-7 классов любят писать собственные или делать копии любимых игр, а те, кто постарше, экспериментируют с моделированием физических объектов и математическими моделями – графикамии фракталами.
http://mindstorms.lego.com/en-us/products/default.aspx
Lego Mindstorms – это набор, от которого будут в восторге и взрослые, и дети, ведь он позволит вам создать самого настоящего робота.
Среди самых простых трюков – следование по заданной траектории, сортировка разноцветных шариков, прохождение лабиринта, патрулирование территории (робот нещадно расстреливает нарушителя теми же разноцветными шариками). Все эти программы подробно описаны в инструкции.
Однако не стоит ограничивать себя инструкцией: как только вы разберетесь, что к чему, сможете придумывать для робота самые разнообразные задания. В умелых руках этот конструктор способен решать судоку, собирать кубик Рубика и играть с вами в крестики-нолики.
Источник: https://letidor.ru/otdyh/zachem-rebenku-programmirovanie.htm?full
Как научить ребёнка программировать
В этой статье мы расскажем родителям, как самостоятельно обучить ребёнка основам программирования. Кстати, описанные ресурсы могут помочь не только детям. Поэтому любителям курсов «Java за 3 дня» тоже не будет лишним прочитать материал.
Прежде чем начать обучение, нужно понять, что объяснить что-то ребёнку часто сложнее, чем взрослому. Как минимум нужно быть усидчивее, терпеливее и сдержаннее. Иначе нервный срыв будет у всех участников учебного процесса. Также почитайте разные статьи об обучении детей программированию, например, интервью с заведующим отделом учебной информатики НИИСИ РАН А.Г. Кушниренко.
Примечание Если вы не планируете научить ребёнка программированию на 1C, то есть смысл отдать его на курсы английского языка, чтобы у него было хотя бы базовое понимание англоязычных терминов и текстов.
Перед началом обучения желательно поставить цель. Подумайте, чего должен достичь ваш ребёнок после освоения того или иного аспекта программирования.
Например, если вы хотите научить его пользоваться компьютером на продвинутом уровне, то вероятнее всего, не нужно углубляться в языки вроде C++.
Достаточно будет просто освоить Scratch, а также рассказать и показать, как работает Web. Уже на этом уровне ребёнок будет выделяться среди своих сверстников.
Если ваша цель — заинтересовать ребёнка в профессии программиста, то имеет смысл начать разрабатывать учебный план.
Для этого можно посмотреть, как преподносится материал на YouTube в видео с большим количеством положительных комментариев. Также стоит обратить внимание на Khan Academy.
Там есть множество материалов для детей и взрослых, и вы можете просто перевести их и использовать для обучения своего ребёнка.
Примечание Возможно, было бы рациональнее сначала научить ребёнка строить небольшие алгоритмы, потом обучить базовым понятиям английского, и только затем переходить к программированию.
Инструменты для начала обучения программированию
Scratch
Наиболее популярная среда для обучения как совсем маленьких, так и детей 10+. Программы создаются с помощью блоков с понятными для детей описаниями действий.
Детям нравится смотреть на результаты своего труда, здесь они увидят или интересную игру, которую сами сделали, или какую-нибудь анимацию. Ещё существует аналог Scratch для iOS — Hopscrotch.
Кроме того, есть версия для совсем малышей и называется она Scratchjr, однако разрабатывается не командой MIT.
Alice
В этой среде для разработки программ, анимаций и видео ребёнок сможет освоить базу объектно-ориентированного программирования. Всё полностью бесплатно и с открытым исходным кодом, так что можете даже внести свой вклад в проект.
StarLogo TNG
Программное обеспечение для моделирования и симуляторов. Позволяет создавать обучающие игры, на основе которых можно объяснять доступным языком функционирование сложных систем.
Snap!
Более продвинутый вариант Scratch. И выглядит, и работает сложнее, но ребёнок тоже растёт, верно? В Snap реализована возможность создания своих собственных блоков.
Gamefroot
Очередной блоковый редактор кода, позволяющий строить уже более масштабные алгоритмы, чем в Scratch.
Code.org
Отличный сайт, в том числе с русскоязычным контентом. Он сочетает в себе множество игр с разными уровнями. Игры построены таким образом, что приучают ребёнка искать самый короткий, но при этом выгодный путь для достижения цели. Более того, материал разбит на возрастные группы, что упрощает навигацию.
ПиктоМир
Полностью русскоязычная и российская разработка для обучения детей основам программирования. Отличается от предыдущих ресурсов тем, что программирование строится не путём использования блоков, а с помощью пиктограмм. Кроме того, ресурс, благодаря своей кроссплатформенности, позволяет использовать очень старые версии Android и iOS.
Конструкторы
Arduino
Когда речь заходит о программировании, то нельзя не сказать про Arduino. Такие игрушки подходят как детям, так и взрослым. Кроме того, программирование микросхем может заинтересовать ребенка роботехникой, что, конечно, не хуже, чем Web. А ещё Arduino работает со Scratch.
Raspberry PI
Raspberry PI — небольшой одноплатный компьютер под управлением Linux, который совместим с Arduino. Кроме того, он поддерживает язык программирования Python, что покажет ребёнку, как выглядит программирование у взрослых.
Lego
Lego, как Arduino, позволяет программировать свои конструкторы, но не все. Кроме того, Lego не может взаимодействовать ни с Arduino, ни с Raspberry, что уменьшает его шансы на популярность среди детей возраста 6+.
Примечание Чтобы заинтересовать ребенка миром IT еще сильнее, можете предложить ему почитать необычные статьи об устройстве тех или иных технологий. Например, обратите внимание на статью о том, как устроен Интернет под водой.
Заключение
Прежде чем делать из своего ребёнка высококлассного программиста исходя из своих интересов, попробуйте понять его характер и в соответствии с ним уже выбирать то, что больше подойдёт для обучения.
Не нужно пытаться реализовать в ребёнке свои мечты, чаще прислушивайтесь к его интересам и желаниям.
Если вы хотите больше узнать о психологическом аспекте обучения, то зайдите на Постнауку, а мы же предлагаем ознакомиться с нашими материалами уже взрослым программистам.
Евгений Туренко, кубанский переводчик
Источник: https://tproger.ru/digest/programming-for-kids/
Программирование для школьников: руководство к действию
Марк Цукерберг считает, что «Программирование – это основной навык как чтение. В каждой школе должны учить писать код». C 11-и лет основатель Facebook изучал основы программирования под руководством личного наставника.
Позже Цукерберг поступил в школу-пансион, где продолжил усиленно заниматься программированием, результатом чего стало создание программы Synapse для запоминания музыкальных вкусов. Вовсе не обязательно посещать репетитора или профильную школу, чтобы научиться программировать.
Родители могут обеспечить детям менее затратное обучение, для этого есть возможности, которых не было в юношеский период Цукерберга.
Младшая школа
Практика показывает, что основы программирования доступны для детей с 5-и лет. В Китае ребят обучают программированию уже в детском саду. Уроки по программированию с первого класса преподают в Эстонии с 2012 года.
В AppStore можно найти приложение Bustin Jeiber, созданное разработчиком Томасом Суарезом в 12 лет, мальчик увлёкся написанием кода в 6.
Для детей программирование может стать забавой, которая перерастаёт в профессиональное увлечение.
Визуальная среда Scratch позволяет создать анимацию или игру, сочетая готовые блоки кода
Учиться и играть одновременно
Мгновенно увидеть пользу от изучения новой темы школьнику поможет обучение с помощью игры. Ребёнок вряд ли придёт в восторг от знания переменных.
Если показать, что с помощью переменных персонаж игры научится приобретать или терять очки, эта информация станет видимой, а значит обратит внимание и заставит поразмышлять над решением задачи.
Подобный вариант написания кода предлагает визуальная среда Scratch, в которой ребёнок может создать игру, сочетая кирпичики с элементами кода. Программой можно пользоваться бесплатно. Даже родитель-гуманитарий в силах освоить её, чтобы помогать ребёнку создавать простые анимации и игры.
Если ребёнок увлекается компьютерными играми, его заинтересует создание программы для управления персонажем в Minecraft. Написание кода происходит с помощью визуального интерфейса: играючи, дети изучают операторы условия и циклы – важные концепции программирования.
С основами робототехники познакомят конструкторы, к которым прилагаются программируемые блоки, датчики и двигатели. Подобные продукты разрабатывает Lego. Компания выпускает наборы WeDo для детей от 7-и лет и Mindstorms для ребят от 10-и лет.
Программировать без компьютера
Занятия программированием настораживают родителей младших школьников: кажется, что у разработчиков рано развиваются проблемы со здоровьем. Привычный образ – человек с испорченными зрением и осанкой из-за многочасовых сидений за компьютером.
Обучение программированию не обязательно должно проходить постоянно за экраном. Существует образовательный подход без подключения (CS unplugged) к компьютеру.
С помощью настольных игр детей учат неизменным концепциям в области компьютерных наук: алгоритмам, человеко-компьютерному взаимодействию, искусственному интеллекту, теории информации, языкам программирования.
Такое обучение развивает программистское мышление, а не приучает к использованию определённого программного обеспечения. Например, изучение двоичной системы счисления проходит с помощью карточек.
Средняя школа
В средней школе дети уже привыкли высиживать 45 минут на уроках, вызывающих тоску. Формальное изучение информатики может быть скучным, далёким от решения практических задач. Но не стоит ограничиваться школьной программой: программирование можно изучать на очных и онлайн курсах.
Школьникам от 10-ти лет стоит попробовать создать прототипы реальных продуктов: сайтов, приложений, программ.
«В средней школе можно приступить к изучению основ и языков программирования, подходов к разработке программного обеспечения», – отмечает Сергей Николаевич Цымбалов, преподаватель курсов по программированию на языке Java для школьников Учебного центра «Специалист».
Выбор языка программирования
При подборе направления обучения в первую очередь необходимо выяснить интересы ребёнка. Школьник увлекается компьютерными играми, ему следует взяться за язык, используемый при их разработке. Для начала подойдут Java или JavaScript. Любителям роботов стоит изучать Lua и Scala.
Если ребёнку нравится, как выглядят сайты, направьте его в сторону разработки интерфейсов. Создавать сайты с нуля можно, используя простые технологии: язык разметки HTML и стилизации CSS.
Школьник скачивает кучу приложений на свой и родительский смартфон, стоит подыскать ему курсы по разработке на JavaScript и Swift.
Занятия должны быть ориентированы на практику, с хорошего курса ребёнок вернётся со словами: «Посмотрите, чему я научился!».
Всемирная олимпиада роботов в Сочи, 2014 год
Подготовка к олимпиадам
Если в 7-8-х классах понятно, что ребёнок увлечён программированием, есть смысл начать готовиться к олимпиадам: это длительный процесс, который займёт не менее года.
Преподаватель курсов по программированию для школьников Учебного центра «Специалист» Сергей Цымбалов считает, что школьникам полезно участвовать в олимпиадах по программированию: «Чем больше практики, тем лучше.
Участие в олимпиадах позволяет развить самостоятельность мышления, а также сравнить свой уровень знаний для дальнейшего развития».
Подготовиться к олимпиаде по программированию на занятиях в непрофильной школе практически невозможно. Придётся искать репетитора или заниматься на курсах. Правда, не во всех городах есть такие возможности. Выходом для талантливого ребёнка станут занятия в интернете: это могут быть онлайн-уроки с репетитором, курсы в форме вебинаров, видеокурсы по программированию для школьников.
Привыкнуть к скоростному решению задач – навык необходимый для большинства олимпиад – помогут тренировки на платформе CodeForces. Это международная площадка, на которой проводятся соревнования по программированию в онлайн-режиме.
Старшая школа
В последних классах одна из главных задач для будущего программиста – поступить в Высшее учебное заведение. Для этого нужно сдать ЕГЭ по информатике более чем на 80 баллов или выиграть олимпиаду. К экзамену возможно подготовиться за 10-11-й классы, заниматься олимпиадными заданиями лучше, начиная со средней школы.
Подготовка к ЕГЭ
В ЕГЭ по информатике представлены фрагменты программ на языках Паскаль, Бейсик, алгоритмическом языке, Python, С++. Как правило, на уроках информатики ограничиваются изучением первых трёх. Со школы стоит изучать язык программирования, используемый в практической деятельности.
Из списка для ЕГЭ будущему программисту полезно знать Python, С++. «Школьнику достаточно изучить один или два языка программирования. Желательно тот, который является объектно-ориентированным языком программирования высокого уровня.
Можно выбирать из этого списка: JavaScript, Java, Python, C», – рекомендует Сергей Цымбалов, преподаватель курсов по программированию для школьников.
Подготовиться к ЕГЭ по информатике можно с репетитором или на курсах. Онлайн-курсы по подготовке к ЕГЭ позволят учиться у лучших преподавателей вне зависимости от местонахождения ученика.
Знание информационных технологий даёт возможность работать в проектах, которые меняют мир. Зарплаты разработчиков в России на высоком уровне: средний заработок Java программиста в России 135 тыс.рублей, системного администратора 62 тыс.рублей.
В 2016 году средняя зарплата в сфере информационных технологий поднялась на 8%, больше ни в одной отрасли такого роста не случилось. Программирование – один из главных навыков будущего, обладая им можно не беспокоиться о трудоустройстве в ближайшие 20 лет.
Несмотря на карьерные перспективы в 2017 году ЕГЭ по информатике сдали только 7% всех выпускников, по данным «Федерального институт педагогических измерений». Программирование – сложный, но увлекательный предмет.
Полюбить его можно, создавая собственными руками код, значимый не только на школьной лабораторной, но и в реальном мире.
Источник: https://blog.teachmeplease.ru/posts/programmirovanie-dlja-shkolnikov-rukovodstvo
Программирование детям: надо – не надо?
Во-первых, на IT-специалистов всегда будет спрос. Ведь рост интернета не останавливается. Эта сфера очень устойчива к экономическому кризису. Вакансий среди итэшников всегда есть, несмотря на сокращение число вакансий в сфере компьютерных технологий. Спрос на них всегда будет. Плюс ко всему, технологические компании обещают поднять зарплаты!
Во-вторых, для нашей эпохи digital навыки эти супер важны. Как достичь успехов, если не идти в ногу со временем. Чтобы быть востребованным на рынке труда, мало коммуникабельности и др. Понятие программирование еще лет 20 назад было расширено, выведено за рамки информтехнологий.
То есть, мы живем в мире программ, вот и должны стать программистами. Чем раньше наши дети начнут познавать азы программирования, тем лучше! – так говорят многие эксперты.
Повзрослев, они не будут испытывать проблем в пользовании современными технологиями в мире, где все постоянно меняется. То есть программирование оценивается как второй грамотностью типа письма, чтения и пр.
, без которого в цифровом мире будет сложно. Ведь границ между цифровым и физическим миром скоро может не остаться.
В-третьих, программирование – это же увлекательно! Вырастая с гаджетами, ребенок будет счастлив. Если когда-то сам напишет программу! И увидит сразу результат своих трудов. А потом он, продвигаясь вперед, еще больше будет осознавать значимость процесс и своих усилий.
А у нас преподают программирование?
А знаете ли вы что мы с вами – программисты? По нужде, ведь мы управляем регулярно кофеварками, стиралками, календарями в мобилках, развозим пиццу и пр. Это так просто! Точно так и с детьми. Ведь они тоже невольно могут выполнять какие-то операции с программированием.
Пока что у нас младшеклассникам не преподают программирование. Но можно курсы пройти. Ученикам остальных классов дают возможность поучаствовать в акции «Час кода», начатой для популяризации программирования среди них.
На тематических уроках учащиеся просматривают мотивационное видео с знаменитостями и известными людьми из сферы, слушают видеолекции, работают с онлайн-тренажером, подводят итоги.
Это, несомненно, повышает заинтересованность детей в компьютерных технологиях.
Когда можно начинать?
Говорят, что все индивидуально. Но многие игры предназначены для детой после 4х лет. А некоторые специалисты говорят – начинайте с двух лет! Сложно представить, но почему не попробовать? Взять легенькую игру и преодолевать шаг за шагом препятствия с ребенком. Понятно, что время надо выделить, чтобы не пересидеть у компьютера.
Игры для самых маленьких, для деток постарше – они начинают тренировать и навыки программирования, и логику, и мышление, и пр.
Дорого! Но почему бы и не купить дорогую игру, если ваше чадо просто не отлипает от программирования. Но специалисты советуют начинать с приложений подешевле.
«Детские» языки программирования
Да, есть и такое понятие. Самым распространенным языком программирования для детей считаютSkratch. В игровой форме уже тысячи детей освоились в деле программирования. Дети, которые еще не умеют читать, могут решать некоторые задачи.
В игре, как можно назвать этот язык, иная логика. И ребенок незаметно обучается. Видя звуки, персонажей, цвет и др., он заставляет двигаться фигурки, говорить.
Он сам может создавать простые игрушки! Родители, которых заинтересует этот проект, могут сами позаниматься, а потом и детей переключить на него.
Потому что дети сами не разберутся с программой, которая дает хороший шанс взаимодействовать с окружающим миром.
Есть еще детский язык программирования – Alice и др. Все индивидуально и зависит не только от количества лет, а и способностей ребенка. Знакомство со «взрослыми» языками начинают обычно в 12-14 лет.
С чего начать
Говорят, мол, программирование – не для простого ума дело, тут надо учиться многому и др. А что тут сложного? Научить кодингу, цифровой грамотности можно легко. И не с помощью книжек. Делать надо первые шаги с простого.
Скажем, компьютерные забавы. Отличный тренажер для развития логического мышления, поскольку дети включают логику. Да и вообще, эти игры сначала преподадут азы, а потом идут уровни посложнее, при этом ни оценок результатов никто не делает.
А что, если не нравятся игры?
Логика не интересует малыша? Ну и что. А вдруг перед вами – поэт или художник? Найдите ребенку подходящие компьютерные игрушки, показав, как можно экспериментировать.
Источник: https://xn--h1aa0abgczd7be.xn--p1ai/blog/lichnoe-mnenie/programmirovanie-detyam-nado—ne-nado/
С какого языка изучать программирование?
Ну что на это сказать? Если начать с этих языков (PHP, вообще-то, трудно назвать языком программирования в классическом смысле), то я сильно сомневаюсь в результатах. Тем более, что советовал, скорее всего, такой же «грамотей», как и тот, с которым беседовал я.
Так что смысл в такой статье есть. Привожу краткие характеристики тех языков, которые я преподавал в течение ряда лет.
BASIC — язык наиболее простой для начального знакомства. Его осваивают не только те, у кого хорошо развито математическое мышление. Я его преподавал как начальный язык программирования. Так как в нем нет необходимости описывать типы переменных, он больше похож на обычные математические решения. Для олимпиад подходит до городского уровня, но не выше.
PASCAL — требует определенного математического мышления, но вполне подходит для начального изучения. В настоящее время имеется достаточно много литературы, доступной для школьников. Олимпиадное программирование обычно происходит на нем. Это язык, на котором я веду преподавание.
Си — язык профессионального программирования. Для начального изучения не рекомендуется. Его можно изучать после основательного знакомства с Паскалем. Но нужен он лишь для уровня международных олимпиад, ну может иметь преимущества для некоторых классов задач на уровне российских. С литературой по нему, доступной для школьников, я не знаком.
Delphi — в консольном варианте это Паскаль, может использоваться на олимпиадах. В объектно-ориентированном варианте не используется на олимпиадах.
Для начального обучения не рекомендуется, также как и остальные ООП языки программирования.
Я провожу пару занятий по Delphi в конце курса, но исключительно для того, чтобы у моих учеников не было комплекса неполноценности при общении с «распальцованными» выскочками.
Ассемблер — на самом деле, правильнее говорить ассемблеры, т.к. для каждого типа процессоров ассемблер свой. Для начального изучения категорически не рекомендуется. Его как первый язык может освоить только электронщик, детально знакомый с работой цифровой техники. В Интернете я встречал предложения начинать с ассемблера, но это не более чем стёб.
Общие замечания: языки программирования различаются синтаксисом, т. е. способом выражения мысли программиста. Главное не синтаксис, а алгоритмическое мышление. Если его нет, то нет и навыка программирования.
Если выработано алгоритмическое мышление, то переход с одного языка программирования на другой не столь уж и проблематичен.
Во многих школах преподавание ведется на BASIC-е просто потому, что других языков преподаватели не знают, а те кто знают, работают программистами и ерундой (вроде преподавательской деятельности) не занимаются.
Вывод: начинать изучение надо с TurboBASIC или TurboPASCAL. Подчеркиваю, что с турбо-вариантов. Изучение начинать после знакомства с алгеброй. Как вариант допустимо изучение программирования до знакомства с алгеброй, но тогда на примере языка программирования BASIC вводить алгебраические понятия. Но это в том случае, если идет индивидуальное обучение.
Моя практика показывает, что раннее обучение, как правило, неэффективно. Правда, встречаются дети с исключительной (высокой) мотивировкой, для которых общие рекомендации не работают. Но это очень редко.
Если у ребенка есть явновыраженные математические способности, то можно начинать с PASCALя, если нет, то лучше начинать с BASICа.
Если есть желание познакомиться с пользовательским аспектом (без серьезного вникания в синтаксис), то можно знакомиться с EXEL (без макросов).
Всем и каждому программирование не нужно вообще. Для общего образования достаточно знать компьютер на уровне пользователя.
Изучение языков программирования — это серьёзный труд, требующий большой концентрации внимания, поэтому прежде всего надо четко знать, чего вы хотите. И самое главное, чего хочет ребенок.
Или это глубокий интерес — и тогда требуется серьезный подход, или это поверхностное желание… В случае глубокого желания надо настраиваться на серьезный труд и не на один год.
Еще раз повторюсь, не на программировании свет клином сошелся. Жизнь разнообразна, и вполне возможно, что ваш ребенок найдет себя в совершенно другой области. Заниматься программированием — означает обречь себя на вечное ученичество.
Сейчас те языки программирования, которые мы изучали в университете (30 лет тому назад), можно найти, как правило, в разделе история вычислительной техники. В то же время программирование — процесс творческий и заниматься им интересно (мне так точно).
Желаю успехов в освоении этого предмета. От простого к сложному.
Источник: https://ShkolaZhizni.ru/school/articles/21544/