Научить ребенка программированию
Sep. 12th, 2011 12:11 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Ситуация: Ребенок 10 лет хочет "научиться программировать".
Желание весьма похвальное. И хочется ему возможность научиться дать.
Я, в общем, и сам программист, но что-то придумать что-то "простое" и "интересное" так вот сразу не могу. Педагог из меня аховый.
Можете посоветовать что-нибудь, что поможет нормально понять ребенку что же это такое "программирование" в доступной и интересной форме? Чтобы не пропало желание через 20 минут после попытки научиться?
Во времена моего детства было что-то вида "pascal robots", где пишешь робота и он потом с другими на арене сражается.
Есть сейчас что-нибудь подобное?
Желание весьма похвальное. И хочется ему возможность научиться дать.
Я, в общем, и сам программист, но что-то придумать что-то "простое" и "интересное" так вот сразу не могу. Педагог из меня аховый.
Можете посоветовать что-нибудь, что поможет нормально понять ребенку что же это такое "программирование" в доступной и интересной форме? Чтобы не пропало желание через 20 минут после попытки научиться?
Во времена моего детства было что-то вида "pascal robots", где пишешь робота и он потом с другими на арене сражается.
Есть сейчас что-нибудь подобное?
no subject
Date: 2011-09-12 08:23 am (UTC)Поробуйте начать с асма, имхо он проще из-за примитивности пошаговости.
no subject
Date: 2011-09-12 08:30 am (UTC)no subject
Date: 2011-09-12 08:28 am (UTC)Мне в детсве помог программируемый калькулятор с стековой нотацией, но где сейчас такой взять. Именно калькулятор - что бы в руках держать и кнопки нажимать.
Более современный стиль можно попробовать освоить по такой (http://users.livejournal.com/_darkus_/364113.html) настолькой игре.
no subject
Date: 2011-09-12 08:39 am (UTC)no subject
Date: 2011-09-12 08:41 am (UTC)no subject
Date: 2011-09-12 08:57 am (UTC)100 лет назад...
Date: 2011-09-12 09:04 am (UTC)Она слушала с интересом по той простой простой причине, что нам, её любимым родителям было это интересно. Все на личном отношении основано, и на добром уважительном отношении друг к другу.
А что объяснять не важно. Терпение в воспитании очень важно. Я думаю, у Вас получится.
Хорошего дня.
no subject
Date: 2011-09-12 09:12 am (UTC)no subject
Date: 2011-09-12 09:34 am (UTC)Вот, смотрите, пара построений, для которых можно использовать только циклы, moveto и lineto:
Плюс в том, что:
А когда справится - предложить раскрасить все это в шахматном порядке :)
no subject
Date: 2011-09-12 09:38 am (UTC)http://scratch.mit.edu/
Идеально как раз для такого возраста (можно использовать не все возможности среды).
Визуальный конструктор программы (перетаскиваем блоки, собирая их в программу).
Можно обойтись без переменных (на начальных этапах обучения программированию).
Создание анимации, мультфильмы, простые (или не очень простые ;)) игры.
Программа бесплатная, русифицированная.
Есть еще масса графических учебных исполнителей - Робот, Чертежник, Стрелочка, множество вариантов той же Черепашки (Logo), но, на мой взгляд, Scratch для начала - самое то.
no subject
Date: 2011-09-12 09:41 am (UTC)no subject
Date: 2011-09-12 09:49 am (UTC)Скриншоты Scratch:
(на фото - англоязычные варианты команд, но вообще на русский язык программа при запуске переходит автоматически - как я понимаю, берется просто системный язык по умолчанию)
Дополнительная информация:
http://progopedia.ru/language/scratch/
http://setilab.ru/scratch/
http://letopisi.ru/index.php/Scratch
no subject
Date: 2011-09-12 09:58 am (UTC)no subject
Date: 2011-09-12 09:53 am (UTC)(к учебнику информатики А.Г. Гейна, 8 класс)
Выкладывает узоры красными и зелеными плитками на клетчатом поле.
Страница программы на сайте издательства (там же можно скачать программу):
http://www.prosv.ru/info.aspx?ob_no=19088
Дополнительная информация:
http://www.inf777.narod.ru/parketchik.htm
no subject
Date: 2011-09-12 09:56 am (UTC)http://kpolyakov.narod.ru/school/robots/robots.htm
no subject
Date: 2011-09-12 09:44 am (UTC)Ну или ЛОГО
no subject
Date: 2011-09-12 08:58 pm (UTC)no subject
Date: 2011-09-12 09:04 pm (UTC)no subject
Date: 2011-09-13 11:30 am (UTC)Школьный сайт да, полузаброшен, там за ним едва присматривают
no subject
Date: 2011-09-12 10:02 am (UTC)no subject
Date: 2011-09-12 10:04 am (UTC)Раньше компьютеры были проще. И изучить их было легче. Достаточно было умения читать документацию и мыслить по-программистски. И документация была. К компьютерам прилагались схемы. Даташиты на микросхемы можно было найти в журналах "Радио".
Программы тоже были простые. И изучать программистские трюки, вроде ШИМ на PC-Speaker'е, можно было просто отладчиком.
Потом появлялись более продвинутые компьютеры. На которые приходилось истерично разыскивать даташиты и документацию. Принтеры не справлялись её тиражировать.
Раньше "умение пользоваться компьютером" означало как минимум умение писать и понимать простейшие программы на бейсике. Даже просто чтобы загрузить программу с магнитофона, нужно было уметь всё правильно подключить и набрать в бейсике команду LOAD.
Раньше учились так. Как научить по-другому, я не знаю. В принципе, древнюю технику при желании вполне можно достать. Хотя бы тот же спектрум. Или начать с микроконтроллеров. Если у ребёнка есть способности -- то должно сработать.
Конечно, сейчас время фаст-фуда. В том числе и образовательного. Тут не знаю -- не моя стихия, сами выкручивайтесь.
Да и зачем засирать голову ребёнка хернёй?
Лучше учите его жизненно необходимым навыкам 21-го века. Как купить дешевле (например, тех же программистов) и продать дороже. Как жрать себе подобного и конкурировать с ним по Дарвину. Присмотритесь, именно носители этих навыков достигают успеха в современной России.
MS Small Basic
Date: 2011-09-12 10:13 am (UTC)no subject
Date: 2011-09-12 10:40 am (UTC)no subject
Date: 2011-09-12 10:51 am (UTC)Да даже с обычной микроволновки можно начать. Обратить его внимание на то, как она по программе выполняет определенные действия. Включает-выключает магнетрон. Отображает что-то на экране. и т.д.
Или с холодильника. Современные холодильники довольно мудрёные. Например, попробовать подействовать извне на датчики и посмотреть что будет.
Найти в интернете что-нибудь про вход в сервисное меню и показать.
Научить набирать номер ударами по телефону. ;)
Я понимаю, что опасно. Ребёнок потом "нахакерсвтует" так, что не рады будете. Но что делать. Опыт растёт пропорционально выведенному из строя оборудованию.
Потом можно перейти на простейшие конструкции на цифровых микросхемах-рассыпухе.
А когда ребёнок врубится, что такое нолики-единички, сумматоры-триггеры, тактирование и т.п., можно перехожить к логике программы, шинам адреса и данных. Ну и, наконец, к микроконтроллерам и ассемблеру.
Ведь это же круто -- сделать устройство и запрограммировать его. Да хотя бы мигалку светодиодами на велосипед. Пайки там по-минимуму. Собирать можно на макетке или даже на картоне. Главное выбирать правильную элементную базу. DIP-микросхемы, наверное, ещё делают.
Ну а компьютер можно изучать параллельно. Каких-нибудь ботов для Квейка писать.
no subject
Date: 2011-09-12 05:15 pm (UTC)no subject
Date: 2011-09-12 08:32 pm (UTC)no subject
Date: 2011-09-13 12:17 am (UTC)no subject
Date: 2011-09-13 08:02 am (UTC)no subject
Date: 2011-09-12 12:04 pm (UTC)no subject
Date: 2011-09-12 09:01 pm (UTC)no subject
Date: 2011-09-13 05:06 am (UTC)no subject
Date: 2011-09-12 02:18 pm (UTC)no subject
Date: 2011-09-12 07:51 pm (UTC)no subject
Date: 2011-09-12 04:00 pm (UTC)Выбирайте подходящий (по основам Java или С#, а ещё лучше C++) и пусть смотрит и пробует простые примеры из курса.
Затем ставите задачу, например создать игру, для начала подойдет текстовый квест. Затем простые игры с графикой, например Крестики-нолики или Lines (статичные) и Змейка или Тетрис (динамичные). По мере проб и ошибок он сам будет задавать вопросы.
Это один из самых эффективных способов обучения.
no subject
Date: 2011-09-19 11:25 am (UTC)http://school.dentro.ru/programming/roo.php