Какие вехи ребенок должен достичь, прежде чем изучать программирование?

27

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

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

Никита Барсуков
источник
Сколько ему / ей лет?
nuc
@nuc - Ему 7 в три недели.
Никита Барсуков
2
Я думаю, что программирование скорее научит вашего ребенка тому, что ему нужно, чем наоборот. Но он, конечно, должен уметь читать, писать и пользоваться компьютером. Хотя есть игры в стиле программирования, которые не используют текст.
Леннарт Регебро
Это больше вопрос типа StackOverflow? Может быть так: stackoverflow.com/questions/3088/…
Джастин Стандарт,
1
Не ответ, но вы можете захотеть взглянуть на Scratch , он увлекательно сочетает в себе креативность с логикой и имеет отличную базу поддержки. Там было не так много, как хотелось бы по ссылке "для родителей", но я уверен, что у них есть более подробная информация.
kleineg

Ответы:

15

Как программист, я бы предложил вам следующее:

Абстрактное мышление, Прагматическое мышление, Высшее решение проблем. Шаблоны проектирования (Не программирование в целом, а строительство. Строительство в смысле здания, строительства. Знаете ли вы, что шаблоны проектирования происходят из проектирования зданий и решения проблем в технике?)

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

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

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

Также я бы порекомендовал использовать Mind Maps, так как дети, как правило, лучше запоминают яркие вещи. :) http://en.wikipedia.org/wiki/Mind_map

Оооо также ... я забыл, но это может помочь.

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

Я думаю, что ребенок был бы очень счастлив, если бы, например, он мог определить, приближаются ли его родители к его комнате. :) Или создай маленького робота-лего и запрограммируй в него рутину, как иди, принеси мне молока Что сложно, но начните с него, и у него тоже будет цель и реальный жизненный опыт, который ОЧЕНЬ важен в первые годы.

Смотрите: Lego Mind Storm: http://mindstorms.lego.com/en-us/Default.aspx

Ганнибал
источник
1
Раньше я учил лого (бесплатную загрузку сейчас) первоклассникам. Им нужно знать алфавит, им нужно практиковаться в поиске букв на клавиатуре, и им нужно иметь базовое понимание чисел. Большинство «слов» логотипа имеют длину всего две буквы, а работа с логотипом учит числовым понятиям, таким как углы и размеры. К 9 или 10 годам дети могут делать с ним довольно удивительные вещи.
MJ6
Обучение чтению музыкальных листов очень похоже на обучение чтению кода.
За Александерссон
Я рекомендую tedfelix.com/qbasic в качестве руководства для строительных блоков. Вам не нужно использовать qbasic или freebasic, если вы хотите модернизировать документ. Но если вы пропустите материал на дискете, все, что здесь описано, - это то, где все остальное построено поверх. Весь мой код в той или иной степени сложнее, эти простые команды. (В уважаемом langauge я кодирую, что есть). Legos звучит веселее, хотя я бы никогда не смог позволить себе программирование lego в свое время.
Мэллов
17

Я начал, когда мне было 6 лет или около того - у меня не было никаких особых предпосылок, я просто любил исследовать (особенно на компьютере!). На самом деле я сам нашел QBASIC на компьютере, понятия не имел, что он делает и как с ним работать, и спросил моего отца - я понятия не имел, что это связано с «программированием» или чем-то еще, - но он просто показал мне, как вы мог бы сказать компьютеру «делать» что-то (сначала добавлять цифры, затем отображать сообщения, затем запрашивать ввод и делать что-то с этим…), и он делал бы это за вас! Сама природа умения инструктировать что-то еще (мне! Шестилетнему ребенку!) Заключалась в крючке.

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

Научите своего ребенка не программировать, а учиться .

Эш
источник
9

Возможно, ему было бы легче понять основные понятия с помощью некоторых программных / образовательных игр.

Некоторые из них:

Kodu

Визуальный язык программирования, созданный специально для создания игр. Доступен для детей и приятен для всех ».

Kinderlogo

Kinderlogo - это адаптация Logo для детей младшего возраста, предлагающая стимулирующую среду Logo для творческого исследования, решения проблем и открытия для студентов K-3 и тех, кто с особыми потребностями.

Lego WeDo Robotics

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

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

пис
источник
1
Да, в самом деле. :) Я только что добавил робототехнику Lego в свой комментарий к. Я забыл о них, но в целом они самые забавные вещи. : D Мне уже за 30 и до сих пор люблю ласкать с лего робототехникой.
Ганнибал
@hannibal К сожалению, в детстве у меня не было лего! Я не могу ждать, пока мой сын немного подрастет и начнет играть с ним! Специально эти роботы кажутся такими замечательными! :)
nuc
Ах да, действительно. :) Вам они очень понравятся. Но будьте осторожны, чтобы не наслаждаться этим больше, чем ваш ребенок. : D Или возьмите немного для себя ... :)
Ганнибал
Не могу дождаться, чтобы проверить Kinderlogo, и для записи мой класс первого класса хорошо с логотипом ванили. Мне придется выкопать одну из моих старых кассет с программами, которые я написал.
Дэвид Лебауэр
7

Я кодер, поэтому я просто призвал своих детей «помогать» мне с раннего возраста. В два или три года они стояли у меня на коленях и смотрели, как я пишу приложения, и вообще взламывали, поэтому, как только я мог освободить запасной ноутбук, я дал им тройной загрузочный пакет linux, solaris и windows для игры.

Базовое кодирование в оболочке казалось простым с 4 или 5 лет, и самый старший смотрит на Ruby on Rails - ему 10 лет.

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

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

Рори Олсоп
источник
«Базовое кодирование оболочки казалось простым с 4 или 5 лет» - могли ли ваши дети уже читать и писать в 4 года? Я не представляю, как можно программировать компьютер без навыков чтения и письма.
BBM
Да, они могут легко читать простые слова в 4. Компьютеры используют очень простое подмножество слов.
Рори Олсоп
Это действительно здорово, как вы поощряли своих детей помогать вам и заставляли их писать код в 4-5. Мне любопытно, 4-5 кажется очень молодым для кодирования оболочки, я думаю, что они программировали бы Ruby on Rails к 5-6 тогда. Почему так долго переходить от кодирования оболочки к веб-программированию?
01
+1 за то, что ваши дети «помогли» вам. Проводить время с детьми и давать им ответственность - это большой шаг к тому, чтобы заинтересовать их по правильным причинам.
deworde
5

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

alesplin
источник
Разочарование является частью процесса обучения. Вы должны знать, сколько разочарований я пережил (а иногда и испытывал), когда дело доходит до программирования
Разочарование в изучении структуры программирования это одно. Разочарование из-за невозможности печатать без орфографических ошибок (что приведет к всевозможным программным или компиляционным ошибкам) ​​- это совсем другое. Если ребенок не может набрать предложение без опечаток из-за ошибок на клавиатуре, он (или она) не сможет испытать «хорошее» разочарование от обучения программированию.
Алесплин
2

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

Так я начал заниматься программированием в 7 лет - набирал код игры из книги по быстрому основам, которую мой отец где-то купил мне. Интенсивные 30 минут ввода 10-100 строк кода с последующим нажатием «run» и часов (ок, минут) ликования.

Это отличное решение, потому что оно связывает усилия с результатами. А какой ребенок не любит игры?

ashes999
источник
1

Эта ссылка была в моем списке задач некоторое время. http://www.qimo4kids.com/Вы можете найти некоторые интересные ресурсы там. Но чтобы ответить на вопрос, я думаю, что трудно ответить на это как взрослый. Наше воспитание, которое включает в себя процесс обучения программированию, полностью отличается. Мои дочери двоих понимают вещи, которые я не понимал, когда мне было два года. Потом был GPS. Мой отец делал вещи с компьютерами, но на перфокартах. Регистраторы кассет - это предметы из прошлого. Я почти уверен, что программирование, каким мы его знаем сегодня, не будет программированием, выполненным моими дочерьми, если они выберут ту же профессию, что и я. Поэтому моя задача - предоставить моим детям компьютерную среду, которая им подходит. Я еще не проверил это, но я думаю, что Гимо подойдет. Я думаю, что прогресс в программировании будет следовать. Это если они заинтересованы в этом вопросе. Может быть, они предпочитают садоводство в конце концов.


источник
это не совсем ответ на вопрос, возможно, это было бы лучше в качестве комментария.
Дэвид Лебауэр
Ты так прав. Я адаптировал ответ, чтобы сделать его соответствующим ответом