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


39

Как я могу помочь умному ребёнку научиться программировать? Он хорошо учится в школе, он пропустил 2 класса и является интровертным стереотипным ботаником. Он очень интересуется веб-разработкой и освоил основы HTML , CSS и JS , о которых я ничего не знаю (я не программист). Он построил личный сайт на основе своих знаний. Он узнал об этом из Интернета на различных учебных сайтах и ​​в Stack Overflow.

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

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

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

(не родитель сам)


41
Хм, просто запретите, и они будут очень заинтересованы в этой теме.
За Александерссон

Мой друг написал пост в блоге ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) о том, как он учит своих детей программировать, что может быть полезно для вас.
Джефф

3
Я изучал программирование сам в очень раннем возрасте. Мой папа купил мне инструменты (сегодня вы можете получить бесплатную версию visual studio) и книги. Ему пока не нужно программировать как профессионал, просто чтобы весело провести время. Я получал удовольствие, создавая игры, начинал с текстового приключения, а затем с 2D-шутером. Также с Visual Studio он может увеличить сложность этого сайта, сделав его динамичным.
the_lotus

Научись кодировать с ним. Веселое занятие для вас, чтобы делать вместе. Таким образом, вы можете сделать разочарование для него в начале.
Evorlor

9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) говорит человек с репутацией 4k SO и топ-тегами которого являются HTML, CSS и JS
Санта-Клаус

Ответы:


25

Прежде всего, чтобы помочь ребенку научиться:

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

  2. Поговорите с учителем компьютера в школе, если таковой существует. Они могут согласиться помочь ребенку или дать совет.

  3. Аналогично # 1 / # 2, рекламируйте репетитора, если можете себе это позволить. Бедный, но блестящий майор колледжа CS может по-настоящему получать удовольствие от обучения умных подростков, гораздо больше, чем менее умных ровесников, которых они обычно обучают. Я знаю, что сделал. Задача (помимо того, что вы должны платить) - найти кого-то, кто хорош в преподавании - необходимо запросить предварительный опыт преподавания или репетиторство, а также умение работать с младшими детьми.

  4. Онлайн курсы (Coursera и т. Д.) Могут быть отличными, особенно для перевернутого ботаника ( я смотрю в зеркало )

  5. Чтобы бросить им вызов, укажите им на Rosetta Code и сайты Stackexchange Code Review .

Во-вторых, если вы чувствуете, что они могут использовать мотивацию для следующих шагов:

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

  2. Укажите, что есть много таких детей (как вы можете видеть из личных отзывов почти на все ответы здесь :) - он, вероятно, будет более воодушевлен, если он не будет чувствовать себя уродом, даже если он замкнутый природой.


3
Many/most schools have computer clubsЯ прошу не согласиться.
Дед Мороз

Я должен согласиться с @SantaClaus по этому вопросу. Особенно в Техасе не так много групп программистов. Я был крайне недоволен, когда узнал, что в моей местной старшей школе нет клуба. Мы пытались убедить их в этом, и они отрицают это из-за финансирования. Тем не менее, у них есть более 20 спортивных клубов. Это очевидно верно для большинства школ в Техасе, за исключением городских школ.
Дэмиен Бочкарев

12

Несколько вещей, чтобы добавить к отличному ответу user3143:

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

Поощряйте ребенка вносить вклад в открытый исходный код, узнайте, как работает github (если он / она этого не делает). Поощряйте ребенка пытаться получить школьный кредит на личные проекты (лучший выбор за всю историю). Поощряйте ребенка писать программы в качестве подарков (сейчас я делаю сайт для моей 5-летней дочери). Это помогает узнать, как предвидеть и выполнять желания и требования других людей, что будет важно, если вы хотите, чтобы ребенок продолжил карьеру в программировании. Говоря о которых...

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

Последнее, но не менее важное - это RSI. Ваш ребенок будет печатать. Много. Я провел лето в аспирантуре, чтобы научиться печатать на клавиатуре Colemak с помощью сенсорного ввода, и я очень рад, что сделал это. Стоит проверить.



1
Я укушу Хобби нужны SCM (Git - лучший, IMO), если они хотят быть в здравом уме.
Отменить

2
Вот почему я сказал «возможно». Я, конечно, пару раз загонял себя в угол в личных проектах, думая: «Я не буду беспокоиться об управлении исходным кодом в этой маленькой одноразовой программе» :)
Джаред Смит,

11

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

интровертный стереотипный ботаник

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


1
Это очень хороший момент, чтобы иметь в виду. Поиск клуба программистов или внеклассных занятий, которые включают программирование (например, лиги FIRST LEGO), может помочь ему развить как очевидные интересы, так и навыки социализации.
Acire

2
Согласовано. Я, вероятно, получил больше за один год театра в старшей школе, чем любые другие занятия, кроме компьютерных вещей. Он научил меня, как бороться со сценическим страхом, как импровизировать в стрессовой социальной ситуации, и всевозможными «мягкими навыками», которые всегда пригодятся. И "драматические гики" - это еще один подвид гиков, поэтому общение с одноклассниками и общение с ними не будут такими тяжелыми для ребенка, как это было бы с некоторыми другими инопланетными формами жизни, которые бродят по коридорам. типичной средней школы. Вы должны определенно поощрять (но не подталкивать ) его к драме.
Мейсон Уилер

6

Будучи программистом и, в некоторой степени, сам «тем ребенком», я бы сказал, что такие вещи, как (дешевые) встроенные аппаратные комплекты, такие как Raspberry Pi или Arduino, - это путь. Эти комплекты, как правило, довольно дешевые (Pi стоит около 30 долларов и питается от зарядного устройства телефона).

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

Молодые программисты учат много вредных привычек из онлайн-курсов и примеров кода. Они обычно плохо спроектированы и созданы для работы только при оптимальных условиях. Хорошие программисты строят для всех этих странных маленьких «крайних случаев», когда все не совсем так, как ожидалось. В какой-то момент им придется отучиться от всего плохого поведения и избегать «профессиональной» среды, пока они не будут готовы, это хороший способ помочь предотвратить формирование вредных привычек.

Они мотивированы, чтобы играть, и они могут также играть, пока они еще ребенок, и пока они хотят это делать.

Использование аппаратных / печатных плат и фактическое создание чего-то поощряют творческие навыки, которых часто (стереотипно) не хватает детям с такими интересами. Будучи молодым программистом, я гораздо больше удовлетворен «Я сделал ЭТО» и ошибкой в ​​коде, которая потенциально может что-то сломать. Плюс, когда вы закончили его строительство, вы можете поиграть с ним некоторое время.

Самое главное - для непрограммиста гораздо легче хвалить что-то физическое, чье предназначение легко понять. Это, в свою очередь, приводит к более высокой оценке и более конструктивным разговорам, чем код / ​​программы на экране, которые в конечном итоге превращаются в «поиск ошибок» или требуют объяснения, которое длиннее демонстрации.


5

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

Я считаю, что ключ к обучению молодежи программированию - это поощрение. Это то, что я хотел бы иметь больше. Мои родители не очень разбираются в технологиях, и в моей семье нет никого, и из-за этого я не получил большой поддержки или поддержки в обучении / оттачивании своих навыков программирования. Вы сделали правильный шаг, спросив других за их мысли, и это показывает, что вы поддерживаете его интересы. Лучший совет, который я могу дать родителю / опекуну / наставнику ребенка, который интересуется программированием, прост: не позволяйте им обескураживаться или перегружаться. Ребенок может легко чувствовать себя обескураженным или подавленным, работая над большой проблемой. Это ваша работа, чтобы убедиться, что этого не произойдет.

Что касается того, как вы можете поощрить его, это немного сложнее. Каждый ребенок индивидуален. Мои родители стали поддерживать и ободрять меня, когда я училась в старшей школе. Я нашел наибольшее воодушевление, когда они приходили в мою комнату, садились со мной, спрашивали о том, над чем я работаю, слушали, как я объясняю это подробно, наблюдали, как я делаю это для них, и, кажется, мне это интересно. Сегодня я больше не верю, что мои родители питали большой интерес к моим объяснениям или деталям, но в то время я был уверен, что они это сделали, и это помогло мне почувствовать себя удовлетворенным и довольным своей работой. Потратьте время, чтобы сесть с ним, посмотреть на то, что он построил, обсудить это с ним, задать вопросы, и, кажется, в восторге. Это заставит его чувствовать себя особенным и обеспечит позитивное подкрепление. Возможно, вы не сможете предложить ему помощь или показать ему, как что-то сделать,

Один из лучших способов научиться программировать - это найти трудную цель и сделать ее центром развития. В моем случае я сосредоточился на одной конкретной цели, когда мне было 16 лет. Я был сосредоточен на разработке программы для использования в то время очень популярной игры для андроид / iphone. Я зациклился на этой цели и работал в течение нескольких месяцев. Наконец я смог создать приложение для него, и тогда моя цель стала более широкой. Достигнув этой цели, я занялся расширением программы и добавлением в нее новых функций. В течение следующих полутора лет я сделал несколько программ, которые достигли этой цели и содержали функции, которые я никогда не думал, что смогу достичь. Я скажу, что моей мотивацией для дальнейшего расширения были деньги. Я создал онлайн-бизнес, в котором продавал игровое программное обеспечение, которое написал. Однако его мотивация может быть чем угодно. Это не должны быть деньги или продажа того, что он создает. Он может просто найти мотивацию в удовлетворении достижения конечной цели. Неважно, что мотивирует его, важно то, что он мотивирован.


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

  1. YouTube: Это может показаться плохим предложением, но позвольте мне объяснить. Найдите «Учебное пособие [на любом языке, который он хочет изучать]» и выберите плейлист. На YouTube есть много отличных учебных пособий для многих языков - от начинающих до продвинутых.
  2. Академия Хана: Я не нашел этого до года назад, но Академия Хана имеет бесплатный курс программирования. Я пролистал курс, и он кажется очень хорошим курсом для начинающего программиста. Он охватывает основные понятия, и это очень понятно. Это может быть хорошим ресурсом для него.
  3. "TeachMeComputer": TeachMeComputer - это имя на YouTube человека, который создал великолепные учебные пособия для Visual Basic .NET и PHP. Он организовал их все и предоставил дополнительный контент на www.HowToStartProgramming.com . С интересом ребенка к веб-разработке, это может быть ценным активом для изучения PHP. Я считаю, что VB.NET является отличным языком программирования для начинающих, поэтому этот набор руководств может быть для него очень полезным.

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


4

Я сам научился разработке программного обеспечения примерно таким же образом (хотя в начале 90-х в Интернете было гораздо меньше полезного материала, и поэтому я нашел / купил книги в качестве основного источника информации), я могу сказать, что самое важное ребенок нуждается, он уже, кажется, имеет: мотивация учиться.

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

Я также добавил бы: Поощрите этого молодого человека выбрать цель / проект по его / ее собственному выбору и придерживаться его до конца. Это может занять несколько попыток, и первая (-ые) может быть оставлена ​​неполной, слишком амбициозной, со временем станет скучной и т. Д. Но научиться справляться с этим и действительно производить что-то качественное, что кто-то использует (это может быть проект с открытым исходным кодом) или что-то используемое в школе или друзьями и т. д.) - это важный момент и жизненно важный шаг.

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

Это мои два цента.


3

Начните с нуля: http://scratch.mit.edu/

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


5
Еа. Я был вынужден использовать Scratch в курсе «компьютерной грамотности» в 6-м классе, и это было ужасно. почему вы заставляете меня так много использовать мышь, просто дайте мне tyyyyype
Doorknob

1
Если единственная вещь, которую вы узнали из работы с Scratch, это то, что вам не нравится мышь, то вы упустили из виду. Это отличный инструмент для изучения основных концепций программирования. И с ним очень весело экспериментировать. Это понравилось обоим моим детям, и они начали изучать настоящее программирование. Ключ не в том, использует ли он мышь; ключ в том, что это интересный способ начать, который может подтолкнуть их к дальнейшему обучению.
james.garriss

5
Скретч - довольно хорошая отправная точка для знакомства с основами логики программирования, но, возможно, он немного полезен для подростка, который уже начал. Это также хороший способ привыкнуть к языкам визуального программирования, которые можно использовать в карьере (например, LabVIEW).
Acire

3

Люди уже добавили несколько отличных предложений. Единственное, что я могу добавить, - это найти что-то, что он уже любит делать, что программирование даст ему конкурентное преимущество. Например, если он любит видеоигры, а знание кодирования означает, что он может модифицировать свою систему или программное обеспечение (да Я знаю, что это может привести к мошенничеству), чтобы дать ему преимущество, тогда, возможно, это способ заставить его взломать код и научиться изменять поведение приложения в соответствии с его потребностями. Это могут быть глупые вещи, на которые он начинает хакаться; но со временем его навыки росли бы естественно, не становясь рутиной. Когда людям нравится то, что они делают, они учатся быстрее и продолжают развиваться.


3

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

  • Веселого программирования
  • Станьте великим разработчиком программного обеспечения

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

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

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

Поощряйте ребенка участвовать в проектах с открытым исходным кодом, поскольку это может обеспечить несколько преимуществ:

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

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

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

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

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

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


2

Я сейчас нахожусь в молодом возрасте и программирую уже несколько лет.

Впервые я познакомился с Си, когда мне было около восьми лет, хотя я не особо касался языка. Я больше сосредотачиваюсь на веб-разработке и дизайне, хотя у меня есть фундаментальные знания Java для API Bukkit, и вскоре я буду расширять либо Objective C, либо Swift.

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

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

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

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

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

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

Я надеюсь, что моя информация помогает, хотя это довольно расширенная информация.

Редактировать: я бы не рекомендовал использовать такие инструменты, как «скретч», «автозаполнение» или «автоматически сгенерированные инструменты кода», так как они могут нанести ущерб цели программирования. Царапина состоит из здравого смысла, а не программирования - это не то, как следует рассматривать программирование.


2
+1 к вашему редактированию. Это моя самая большая жалоба на использование некоторых IDE при обучении. Если IDE пишет большую часть вашего кода для вас, то что вы изучаете? Я осторожен при рекомендации Visual Basic .NET из-за этой проблемы. Visual Studios для VB.NET часто автоматически записывает большую часть кода ключа и предлагает, что написать для остальных. Это хорошо, если пользователь узнает, что на самом деле делает автоматически сгенерированный / завершенный код, но если пользователь сам не ищет эти знания, он не будет учиться должным образом. +1 к вашему совету против подобных вещей.
Спенсер Д

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

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

Хех да Полностью согласен с этим.
Профиль

2

Я хотел бы добавить один момент к ответам, приведенным здесь. Если вы можете сделать это, сохраняя при этом их интерес, постарайтесь поощрять изучение работы языков (теория вычислений, языковые парадигмы и т. Д.), Возможно, читая учебники, а не только синтаксис языка и документацию. Метод проб и ошибок отлично подходит для изучения того , что работает, но для понимания причинЗа тем, что работает или не работает в программировании, жизненно важно стать разработчиком программного обеспечения, а не тем, кто просто заинтересован в выполнении задачи, независимо от того, насколько хорошо написан код. Просто мои два цента как инженера-программиста, который видел разницу между «это работает», поэтому он должен быть идеальным »и идея писать чистый код, который работает хорошо, масштабируем, адаптируем и т.д. Изучение теории может действительно помочь это.


1

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

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

Чтобы бороться с потрясением, проявите интерес к тому, что он сделал, чтобы он мог гордиться своим прогрессом (или, по крайней мере, осознавать, что был прогресс, если дела идут медленно). И если не хватает задачи, упомяните еще кое-что, что он мог бы сделать (например, работать над модом для игры, которая ему нравится, купить Raspberry PI и т. Д.), Но не заставляйте его работать - пусть он будет тем, кто решает, хочет ли он это сделать.


1

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

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

Но если он ботаник, он тоже будет любить игры. Игры тоже выгодны. Ахаха.


1

Я думаю, что большинство предложений здесь ведут в неправильном направлении.

Учитывая тот факт, что он, кажется, может самостоятельно получить соответствующие знания или навыки для проекта, я бы порекомендовал следующие два:

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

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


1

Поздравляем этот молодой ум с тем, что он приобрел невероятно рыночный навык в раннем возрасте 14 лет! Как круто этот ребенок. (Я программист, так что извините меня, пока он выродок).

  1. Во-первых, поощряйте это своим большим навыком!

    Программист начального уровня может начинать с $ 30 000-50 000 в год в зависимости от области. Опытные программисты (обычно называемые инженерами) могут легко сделать шесть цифр.

  2. Все ресурсы, которые ему нужно изучить, развлечься и продолжать совершенствоваться, бесплатны в Интернете. Ниже приведены некоторые ссылки.
  3. Несмотря на то, что программирование - это весело, клавиатура и столы наносят тяжелый урон телу. Молодой падаван начал в очень раннем возрасте, ему нужно подумать о некоторых физических нагрузках, чтобы убедиться, что он не получит карпельный туннель в 16 лет.

    Я настоятельно рекомендую йогу, и в ее простейшей форме просто делайте поиск на YouTube и делайте 15-минутные растяжки каждый день, когда он не в школе или в какой-либо другой деятельности.

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

Ссылка Любовь:

Существует много МНОГО других ресурсов, но, посмотрев на них, он сможет найти больше по ссылкам и т. Д.



0

Если он хорошо разбирается в HTML CSS и JS без подсказок, у него уже есть ловкость. Если он хочет отточить свои навыки, почему бы не указать ему на CodeEval ? Выполнив эти задачи, он почувствует, какой язык он выберет, и если он поймает несколько языков, тем лучше (в конце концов, языки кодирования похожи на человеческие, чем больше вы знаете, тем легче выучить следующий. ).

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


Извините, -1. Как профессиональный разработчик, нет ничего хуже того, кто считает гольф положительным моментом; и как кто-то, кто преподавал программирование, гольф намного превосходит то, с чем должен столкнуться новичок.
user3143

@ user3143 Точка, ссылка для гольфа удалена. CodeEval (по крайней мере, для начинающих) - отличный способ освоить трюки и работать с базовыми алгоритмами.
Сидни

0

Все вышеперечисленные предложения полезны, но если вы находитесь в одной из областей, перечисленных ниже, вы можете пойти туда в Кодерджо. Если нет, и вы можете найти таких же единомышленников, детей и родителей, вы можете подумать о том, чтобы завести их в своем районе. Подробности смотрите на https://zen.coderdojo.com/dojo

Я управляю одним из них в моем районе Саллинс, Наас (в Co Kildare. Ирландия), и два года назад у 4 детей было 50+ детей в неделю, от 6 до 17 лет, все они работают на разных языках и на разных инструментах, с нуля. и MineCraft, для Python и PyGame, для Java, Blender, Unity, Eclipse и т. д.

Я надеюсь, что вам удастся соединиться с группой, поскольку это действительно добавляет к опыту, чтобы иметь возможность поделиться волнением нашего постоянного опыта обучения и показать каждый новый проект :-) JK


0

Я начал программировать в старшей школе с книги « Программирование для подростков» . Преподает язык программирования BlitzMax . Я думаю, что это хороший язык программирования для начинающих, потому что он имеет англоязычный синтаксис и простой набор команд для рисования на экране. Многие другие языки, такие как Java, имеют огромный API, который является преимуществом для профессиональных программистов, но может быть подавляющим для новичка. Как только вы выучите один язык программирования, гораздо легче выучить другой, поэтому он может перейти на другой язык, например Java или C #, когда он будет готов.


0

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

Если вы хотите, чтобы он научился РЕАЛЬНЫМ вычислениям и вдохновлял их на это, принесите ему необходимые игрушки (мультиметр хорошего качества и CRO (хороший блок Tektronix с частотой 50 МГц во второй руке), отличная доска для разработки (Raspberry PI, Intel Edison и т. Д.), И проведите мозговой штурм, сделав несколько интересных проектов для него. Например, возможно, подключив датчик движения и отправив ему по электронной почте фотографию его спальни, когда обнаружится какое-либо движение. Абсолютно бессмысленно, но очень весело и круто показать твои друзья.

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


Sparkfun - хорошее место, чтобы начать с такого рода вещами. Много готовых проектов робототехники. Я думал о том, чтобы порекомендовать робототехнику / встроенный материал сам.
Тайлер

0

Исходя из своего СОБСТВЕННОГО опыта, я могу сказать, что вам нужно просто научиться этому сам, как я. Я начал с того, что делали другие люди, читал вики, смотрел учебники и пытался понять их механику, затем начал пытаться делать это сам и здесь. я. я также узнал кое-что от codeacademy.com, это было моим основанием для html, css, javascript, php и ruby. Самое главное, что вам нужно дать ему компьютер, интернет, много времени, понимания и, конечно, ему нужно вдохновение (например, его собственный проект или что-то важное для него), и НИКОГДА не говорите ему, как это сделать, если он говорит, что он ЗНАЕТ, как это сделать, так как он должен сам найти все, чтобы изучить его, а также получить бесплатный поддомен и хостинг по адресу http://api.hostinger.co.uk/redir/3586817.(<- я использую это), и ему не нужны никакие специальные инструменты для кодирования, так как его легче освоить, когда вы делаете это в простом редакторе файлов. Но, на самом деле, вы знаете, не делайте ничего, о чем он не просит

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.