Як я можу допомогти дитині залишатися мотивованою у навчанні програмувати?


39

Як я можу допомогти розумній недоношеній дитині (до підлітка) навчитися програмуванню? Він добре в школі, і пропустив 2 класи і є інтровертованим стереотипним ботаніком. Він дуже зацікавлений у веб-розробці та засвоїв основи HTML , CSS та JS , про які я нічого не знаю (я не програміст). Він створив особистий веб-сайт зі своїх знань. Він дізнався про це з Інтернету на різних підручникових сайтах та Stack Overflow.

Як я можу заохотити його до розвитку цих навичок? Чи є спосіб допомогти в його навчанні, враховуючи те, що я сам не знаю програмування? Я не думаю, що я можу дізнатися все, що він дізнався, оскільки витрачає на це стільки часу і так віддано.

Я думаю, що найбільша небезпека полягає у втраті мотивації та відмови. Налагодження може бути часом неприємним, і я не хочу, щоб він припинився через це. З інших предметів я міг би допомогти йому працювати через це, але програмування я не можу, оскільки не маю ніяких знань про домен.

Що я повинен зробити, щоб його мотивація кодувати, щоб він, швидше за все, не відлякував, коли зіткнувся з труднощами, враховуючи, що я сам не можу подолати ці труднощі?

(не сам батько)


41
Хм, просто забороняйте, і вони будуть надзвичайно зацікавлені в темі.
Пер Олександрссон

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

3
Я навчився програмуванню в самому ранньому віці. Мій тато купив мені інструменти (сьогодні ви можете отримати безкоштовну версію візуальної студії) та книги. Йому ще не потрібно програмувати, як професіонал, а просто весело це робити. Я розважався, займаючись іграми, почав з текстової пригоди, потім 2D-шутер. Також за допомогою візуальної студії він може збільшити складність цього веб-сайту, зробивши його динамічним.
the_lotus

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

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 та Code Review Stackexchange .

По-друге, якщо ви відчуваєте, що вони можуть використовувати мотивацію для наступних кроків:

  1. Якщо дитина зріла (швидше за все), покажіть їм середні ставки оплати за різними професіями, і що інженери програмного забезпечення збільшилися порівняно з більшістю професій. Це дозволить переконатися, що він може проглянути повз звичних знущань за вихованками, з якими він, швидше за все, зіткнеться, і має підстави дотримуватися кодування.

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


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

Я повинен погодитися з @SantaClaus щодо цього. Тим більше, що в Техасі не так багато груп програмування. Я був дуже незадоволений, коли дізнався, що в моїй середній школі немає клубу. Ми спробували поговорити з ними, і вони відмовили це через фінансування. Однак у них є 20+ спортивних клубів. Мабуть, це стосується більшості шкіл Техасу, за винятком внутрішніх міст.
Дамієн Бочкарев

12

Кілька речей, які слід додати до відмінної відповіді user3143:

Інструменти. Інструменти не є заміною досвіду чи знань, але кожен майстер / жінка цінує хороші інструменти, і вони є чимось, у чому ви, як батько, який не програмує, можуть допомогти. Деякі з найкращих є безкоштовними, але якщо дитина хоче отримати IDE, бібліотеку, програму тощо, які коштують будь-яку розумну суму грошей, настійно подумайте про її отримання. Я вважаю, що Photoshop, наприклад, неоціненний для веб-розробки (моя робота). Запропонуйте дитині мобільну техніку, яку можна розробити. Це не повинно бути дорогим, і вам не потрібно підключати його до плану передачі даних, це буде робити використаний дворічний телефон і планшет.

Заохочуйте дитину внести свій внесок у відкритий код, дізнайтеся, як працює github (якщо він ще не робить). Заохочуйте дитину намагатися отримати шкільний кредит для особистих проектів (найкращий приклад). Заохочуйте дитину писати програми в якості подарунків (я зараз роблю веб-сайт для своєї 5-річної дочки). Це допомагає навчитися передбачати та виконувати бажання та вимоги інших людей, що буде важливо, якщо ви хочете, щоб дитина продовжувала кар'єру в програмуванні. Якщо говорити про ...

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

І останнє, але не менш важливе значення - RSI. Ваша дитина буде набирати текст. Багато. Влітку я взяв школу в школі, щоб навчитися наводити сенсорний тип у клавіатурній програмі Colemak, і я дуже радий. Варто перевірити.



1
Я кусаю. Хоббістам потрібен SCM (Git є найкращим, IMO), якщо вони коли-небудь хочуть бути здоровими.
Скасувати

2
Ось чому я сказав «доцільно». Я, безумовно, ковбоєм пару разів переходив у куточок над особистими проектами, думаючи: "Я не буду заважати контролю над джерелами цієї маленької програми, що викидається" :)
Джаред Сміт

11

Інші відповіді тут чудові, але я переживаю, що є один важливий факт, який усі оглядають:

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

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


1
Це дуже хороший момент, про який слід пам’ятати. Шукаючи клуб програмування або позакласні курси, які включають програмування (наприклад, перші ліги LEGO), можуть допомогти йому розвинути як свої очевидні інтереси, так і свої навички соціалізації.
Acire

2
Домовились. Я, мабуть, отримав більше одного року театру в середній школі, ніж будь-які інші класи за межами комп'ютерних матеріалів. Це навчило мене боротися зі сценічним переляком, як імпровізувати в стресовій соціальній ситуації та всіляких «м'яких навичок», які завжди корисні. А "драматичні вундеркінди" - це ще один підвид видовища, тому взаємодія з однокласниками та стосунки з ними не будуть настільки важкими для малюка, як це було б з деякими іншими чужорідними життєвими формами, які бродять по передпокої типової середньої школи. Ви обов'язково повинні заохочувати (але не підштовхувати ) його до занять драмою.
Мейсон Уілер

6

Як програміст і, певною мірою будучи «дитиною», я б сказав, що такі речі, як (дешеві) вбудовані апаратні комплекти, такі як Raspberry Pi або Arduino - це шлях. Зазвичай ці комплекти коштують досить дешево (Pi коштує близько 30 доларів і працює від зарядного пристрою телефону).

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

Молоді програмісти вивчають багато шкідливих звичок з онлайн-курсів та зразків коду. Зазвичай вони погано спроектовані і побудовані для роботи лише в оптимальних умовах. Хороші програмісти будують для всіх тих дивних маленьких «крайових випадків», коли все не зовсім те, що очікувалося. У якийсь момент їм доведеться вивчити всю погану поведінку і уникати «професійного» оточення, поки вони не будуть готові - це хороший спосіб допомогти зупинити формування шкідливих звичок.

Вони мотивовані грати, і вони також можуть грати, поки вони ще дитина, і поки вони хочуть це робити.

Прийняття апаратних засобів та печатних плат та власне виготовлення чогось заохочує творчі навички, яких часто (стереотипно) не вистачає дітям з такими інтересами. Як молодий програміст, набагато більше задоволення в "Я зробив це" і помилка в коді, яка має потенціал насправді щось зламати. Крім того, коли ви закінчили його будувати, ви можете пограти з ним деякий час.

Найголовніше - для непрограміста набагато простіше похвалити щось фізичне, мета якого легко зрозуміти. Це в свою чергу призводить до вищої похвали та більш конструктивних розмов, ніж код / ​​програми на екрані, які в кінцевому підсумку перетворюються на «полювання на помилки» або потребують пояснення, яке довше, ніж демонстрація.


5

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

Я вважаю, що ключовим в навчанні молоді як програмувати є заохочення. Це те, що я хотів би, щоб у мене було більше. Мої батьки не дуже підковані в техніці, як і ніхто в моїй родині, і через це я не отримав багато заохочень чи підтримки у навчанні / відточуванні своїх навичок програмування. Ви зробили правильний крок, запитуючи інших про їх думки, і це показує, що ви підтримуєте його інтереси. Найкраща порада, яку я можу дати батькові / опікуну / наставнику дитини, яка зацікавлена ​​в програмуванні, проста: не дозволяйте їм знемагати чи перевантажувати. Дитина може легко відчувати себе зневіреним або перевантаженим, коли працює над великою проблемою. Ваша робота - переконатися, що цього не відбудеться.

Щодо того, як ви можете його заохотити, це трохи складніше. Кожна дитина різна. Мої батьки почали підтримувати і заохочувати, коли я закінчував останні роки середньої школи. Я знайшов найбільше заохочення, коли вони завітають до моєї кімнати, сідають зі мною, запитують про те, над чим я працюю, слухають мене, як це детально пояснюють, дивляться, як я запускаю їх за ними, і, здається, цікавлюсь. Сьогодні я більше не вірю, що мої батьки привертають великий інтерес до моїх пояснень чи деталей, але в той час я був переконаний, що вони це зробили, і це допомогло мені відчути себе задоволеною та виконаною своєю роботою. Знайдіть час, щоб сісти з ним, подивитися на те, що він побудував, обговоріть це з ним, задайте питання і, здається, захоплений. Це змусить його відчувати себе особливим, і це забезпечить позитивне підкріплення. Ви, можливо, не зможете запропонувати йому допомогу або показати йому, як щось робити,

Один з найкращих способів навчитися програмуванню - знайти важку мету і зробити це основним центром розвитку. У моєму випадку я зосередився на одній конкретній цілі, коли мені було 16 років. Я був зосереджений на розробці програми для використання дуже популярної в той час гри Android / iphone. Я став орієнтуватися на цю мету і працював над нею місяцями. Нарешті я зміг створити програму для цього, і тоді моя мета стала більш широкою. Після досягнення цієї мети я працював над розширенням програми та додаванням до неї додаткових функцій. Протягом наступних півтора років я створив декілька програм, які досягли цієї мети і містили функції, які я жодного разу не думав, що зможу досягти. Я скажу, моєю мотивацією далі розширюватися були гроші. Я створив інтернет-бізнес, який продавав написане нами програмне забезпечення для гри. Однак його мотивацією може бути все що завгодно. Це не обов'язково повинні бути гроші або продати те, що він створює. Він може просто знайти мотивацію в задоволенні досягнення кінцевої мети. Не має значення, що його мотивує, важливо, що він мотивований.


Ось кілька найкращих ресурсів, які я знайшов для навчання програмуванню:

  1. YouTube: Це може здатися поганою пропозицією, але дозвольте мені пояснити. Шукайте "[якою б мовою він не хотів вивчити] підручник" та виберіть список відтворення. На YouTube є багато чудових навчальних посібників для багатьох мов - від початкових до просунутих.
  2. Академія хана: Я цього не знайшов до року тому, але в Хан академії є безкоштовний курс програмування. Я пробіг курс і, здається, це дуже хороший курс для початківця програміста. Він охоплює основні поняття і це дуже зрозуміло. Це може бути хорошим ресурсом для нього.
  3. "TeachMeComputer": TeachMeComputer - це ім'я на YouTube людини, якій було створено чудові підручники для Visual Basic .NET та PHP. Він організував їх усіх та надав додатковий вміст на www.HowToStartProgramming.com . З інтересом дитини до веб-розробки це може бути цінним надбанням для вивчення PHP. Я вважаю, що VB.NET - чудова мова програмування для початківців, тому набір навчальних посібників може бути дуже корисним і для нього.

Редагувати : Мої вибачення за те, що ви вважали, що ви були батьком. Я не помітив останнього рядка вашої публікації, який говорить, що ви не є. Незважаючи на це, я вважаю, що моя відповідь все ж може бути корисною.


4

Навчившись розробки програмного забезпечення саме таким же чином (хоча на початку 90-х років було набагато менш корисний матеріал, доступний в Інтернеті, і тому я знайшов / купив книги як своє основне джерело інформації), можу сказати, що найголовніше дитина потребує у нього вже, здається, є: Мотивація до навчання.

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

Я також додам: Заохочуйте цю молоду людину обрати мету / проект за власним вибором та дотримуватися її до завершення. Це може зайняти кілька спроб, і перша (і) може залишитися незавершеною, бути занадто амбітною, з часом стати нудною і т. Д. Але навчитися долати це і насправді створювати щось якісне, що хтось використовує (це може бути проект з відкритим кодом) , або щось, що використовується в школі або друзями тощо) - це важливий момент і життєво важливий крок.

Я багато чого навчився програмуванню приблизно в тому ж віці (10-12 років), але коли мені було тринадцять, хтось насправді запропонував мені гроші, щоб щось програмувати для них, і з цим був встановлений термін. Це був інший досвід. Хоча це було пов’язано з деяким стресом, це також спричинило мене відповідальність. У мене було безліч незавершених проектів та розумних ідей, але це не було, поки хтось не допоміг мене навчити дисципліні поставляти будь-яке програмне забезпечення, про яке я писав (і нехай воно буде досить пристойним та працездатним, а не надмірно гнучкою купою лайна), Я фактично вважаю, що "став справжнім розробником".

Це мої два центи.


3

Почніть з Scratch: http://scratch.mit.edu/

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


5
Ew Мене змусили використовувати Scratch в курсі «комп’ютерної грамотності» в 6 класі, і це було жахливо. чому ви змусивши мене використовувати мишу так , просто дайте мені tyyyyype
дверну ручку

1
Якщо єдине, чого ви навчились працювати з Scratch, це те, що вам не подобається миша, то ви пропустили суть. Це відмінний інструмент для вивчення основних концепцій програмування. І дуже цікаво експериментувати. Обом моїм дітям це сподобалось, і вони пішли вивчати реальне програмування. Ключ не в тому, використовує миша чи ні; Ключовим є те, що це цікавий спосіб почати роботу, який може підтягнути їх до подальшого навчання.
james.garriss

5
Scratch є досить гарною відправною точкою для введення в основу логіки програмування, але може бути трохи на молодій стороні для підлітка, який вже розпочав роботу. Це також хороший спосіб звикнути їх до мов візуального програмування, які можна використовувати в кар’єрі (наприклад, LabVIEW).
Acire

3

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


3

Ніколи не забувайте, що є дві цілі, які іноді можуть суперечити.

  • Приємно програмуйте
  • Стати чудовим розробником програмного забезпечення

Пам'ятайте про це двоє, адже якщо ви приймаєте рішення, не усвідомлюючи того, якому з двох ви надаєте пріоритет, ви не зможете отримати правильний баланс. Завжди пріоритет однакового над іншим не вийде добре.

Хтось, хто навчає себе програмувати без керівництва досвідченіших програмістів, може навчити себе шкідливим звичкам, які їм доведеться вивчити пізніше.

Якщо отримання репетитора для дитини - це варіант для вас, то це може бути дуже корисним.

Заохочуйте дитину брати участь у проектах з відкритим кодом, оскільки це може забезпечити численні переваги:

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

Є багато проектів з відкритим кодом, тому цілком ймовірно, що є такий, який зацікавив би дитину.

Навіть якщо у вас немає технічних навичок, ви все одно можете направляти дитину в цьому процесі. Дещо з того, що потрібно для участі в такому проекті, - це хороші навички для людей, де ви могли б дати певні рекомендації.

Деякі інтернет-спільноти можуть сприйматись як трохи ворожі до новачків. Кілька порад, які є актуальними у більшості випадків:

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

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


2

Зараз я в молодому віці і займаюся програмуванням кілька років.

Мене вперше представили на мові C, коли мені було близько восьми, хоча я не дуже торкнувся цієї мови. Я більше зосереджуюсь на веб-розробці та дизайні, хоча я знаю фундаментальні знання Java для Bukkit API, і незабаром я перейду на цілі C або Swift.

У моєму теперішньому досвіді найкраще вчитися через себе. Мені важче в молодшому віці вчитися у інших людей, а скоріше проб і помилок. Я знаю, що багато шкіл пропонують комп’ютерні клуби і таке, щодо чого мене просили відвідувати, але відмовили, хоча мені це не вистачає. Будучи молодшим віком, люди узагальнюють, що ми, діти, не здатні на те, чого вони очікують. Я знаю, що я більше обізнаний з різними мовами програмування та сценаріїв з багатьма дорослими, які припускають мій рівень знань з цього питання.

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

Я б скопіював код з відео та вивчив, як це працювало. Я досліджував би певні функції та експериментував з мовою, поки не отримав проміжних знань про неї.

Я відчуваю себе дитиною, я обмежений тим, що можу досягти. Теоретично я міг би бути класифікований як "ботанік" або такий, що мав такий розширений спектр знань для обчислень та програмування, хоча це не дуже допомагає мені. Я не в змозі зосередити свій повний робочий час на обчисленні та програмуванні для бар’єрів, таких як школа, родина та друзі. Якби я був дорослим, я вважаю, що міг би швидше розширити свої знання та дізнатися більше, хоча це різне для людини.

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

Прошу вибачення за будь-які граматичні помилки, бо я ще дитина сама, і не в змозі детально або структуровано написати дорослого з більшим досвідом та знаннями.

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

Редагувати: я б не рекомендував використовувати такі інструменти, як подряпина або автоматичне доповнення, або автоматично генеровані інструменти коду, оскільки вони загрожують меті програмування. Scratch складається із здорового глузду, а не програмування - це не те, як слід розглядати програмування.


2
+1 до вашої редакції. Це моя найбільша скарга на використання деяких IDE під час навчання. Якщо IDE пише для вас більшу частину коду, то чого ви навчаєтесь? Я з обережністю рекомендую Visual Basic .NET через цю проблему. Visual Studios для VB.NET часто автоматично записує багато ключового коду та пропонує що написати для решти. Це добре, якщо користувач дізнається, що насправді робить автоматично створений / завершений код, але якщо користувач не буде шукати цих знань самостійно, то він не буде належним чином вчитися. Тому +1 до вашої поради щодо подібних речей.
Спенсер D

1
Дякую, що погодилися зі мною. Оскільки я володію знаннями з різних мов, я буду використовувати IDE, які автоматично завершуються. Це лише для управління часом, і хоча я б рекомендував це для більш досвідчених розробників, людям все-таки потрібно навчитися програмувати. Це як знати вміння говорити мовою, не знаючи, як її писати певним чином.
профіль

Гарна аналогія для цього. Якщо я можу, я б сказав, що це як знати кілька слів іноземною мовою, а потім за допомогою Google Translate перекласти, щоб перекласти решту того, що ви хочете сказати. Так, це дає точку впоперек, і це працює, але ви самі цього не написали, і, таким чином, ви не дізналися, що означає кожне окреме слово. Однак, як ви вже говорили, коли ви зрозумієте мови та код, використання автоматичного заповнення та автоматично згенерованого коду, як правило, може бути значною економією часу.
Спенсер Д

Хе, так. Повністю згоден з цим.
профіль

2

Я хотів би додати один пункт до наведених тут відповідей. Якщо ви можете це зробити, зберігаючи їх інтерес, спробуйте заохотити вивчення того, як працюють мови (теорія обчислень, мовні парадигми тощо), можливо, з читання підручників, а не лише синтаксису та документації мови. Пробні помилки чудово підходять для вивчення того, що працює, але розуміння причинпозаду того, що працює чи не працює в програмуванні, життєво важливо стати розробником програмного забезпечення замість того, хто просто зацікавлений у виконанні завдання, не зважаючи на те, наскільки добре написано код. Лише мої два центи як інженер-программіст, який побачив різницю між "своїми роботами", тому він повинен бути ідеальним? Менталітет і ідея написати чистий код, який добре працює, є масштабованим, пристосованим тощо. Вивчення теорії справді може допомогти це.


1

Малюк вже вміє вчитися і продемонстрував, що хоче. Багато інших відповідей зосереджуються на тому, щоб показати малюкові матеріали, що не корисно, оскільки дитина може задавати питання про матеріали будь-де в Інтернеті. Шукання матеріалів та очікувань щодо малюка навіть може перешкоджати та вбивати будь-який інтерес до теми.

Я думаю, що на це варто звернути увагу лише на 2 речі: втрата інтересу через відсутність виклику або переповнення викликом.

Щоб боротися із переповненістю, проявляйте інтерес до того, що він зробив, щоб він міг пишатися своїм прогресом (або принаймні усвідомлювати, що був прогрес, якщо справи йдуть повільно). І якщо вам не вистачає труднощів, згадайте ще кілька речей, які він міг би зробити (наприклад, працювати над модом для гри, яка йому подобається, придбайте Raspberry PI тощо), але не натискайте на нього роботу - нехай він буде тим, хто вирішує, чи хоче він їх робити.


1

Йому потрібні особисті проекти, щоб зацікавити. Відкритий код - це чудово. Зробити гру чудово - але, безумовно, найвищий порядок заповнення.

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

Але якщо він ботанік, він теж полюбить ігри. Ігри також вигідні. Ахаха.


1

Я думаю, більшість пропозицій тут ведуть у неправильному напрямку.

Враховуючи той факт, що він, здається, може самостійно отримати відповідні знання або навички, я рекомендував би два наступні:

Запропонуйте йому дати позакласному викладацькому класу або кілька розмов про програмування своїм однокурсникам. Найкращий спосіб навчитися - це все-таки навчити. Це також може покращити його соціальні навички.

Дайте йому кілька «справжніх» проектів. Попросіть його запрограмувати веб-сайт для шкільного класу чи який-небудь веб-аплет для математичного чи фізичного проекту. Або трохи баз даних, або вікі. Таким чином він побачить фактичну актуальність у своїх навичках. Він зрозуміє, що він експерт і що йому потрібні інші люди. І він навчиться рано продавати себе на ринок.


1

Вітаємо цей молодий розум за те, що він вже мав неймовірно товарний навик у ранньому 14-річному віці! Як класно це дитина. (Я програміст, так вибачте мене, поки він визирає).

  1. Перший дзвінок заохочуйте це його великий вміння мати!

    Програміст початкового рівня може починатись від 30 000-50 000 доларів на рік залежно від району. Передові програмісти (зазвичай їх називають "Інженери") можуть спростити шість фігур.

  2. Усі ресурси, які йому потрібно вивчити, розважити та продовжувати вдосконалюватись, є безкоштовними в Інтернеті, я розміщую посилання нижче.
  3. Навіть незважаючи на те, що програмування є цікавим, клавіатури та столи дуже важко впливають на корпус. Молодий падаван розпочався в дуже ранньому віці, йому потрібно розглянути деякі фізичні навантаження, щоб переконатися, що в 16 років не потрапить тунель з ковроліну.

    Я настійно пропоную йогу, і в її найпростішій формі просто виконайте пошук на YouTube і робіть 15 хвилин розтяжок щодня, що не школяться в школі чи іншому занятті.

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

Посилання Любов:

Є багато МНОГО більше ресурсів там, але як тільки він перегляне їх, він зможе знайти більше за посиланнями тощо.



0

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

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


Вибачте, -1. Як професійний розробник, немає нічого гіршого в тому, що той, хто вважає гольф позитивною справою; і як хтось, хто навчав програмування, гольф - це набагато більше того, що повинен піддаватися новачок.
користувач3143

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

0

Всі вищевикладені пропозиції корисні, але якщо ви перебуваєте в одному з перелічених нижче районів, ви можете поїхати туди до Кодердоджо. Якщо ні, і ви можете знайти таких, як однодумців, дітей та батьків, ви можете подумати про те, щоб почати одного з себе. Деталі див. На https://zen.coderdojo.com/dojo

Я запускаю одного в моєму районі Саллінс, штат Наас (в Ко-Кілдаре, Ірландія) і з 4 дітьми два роки тому, зараз у нас є 50+ дітей щотижня, від 6 до 17, всі працюють на різних мовах та інструментах, від Scratch і MineCraft, Python і PyGame, Java, Blender, Unity, Eclipse тощо.

Я сподіваюся, що вам вдасться зв'язатись із групою, оскільки це дійсно додає досвіду, щоб ви могли поділитися хвилюванням від нашого постійного досвіду навчання та показати кожен новий проект :-) JK


0

Я почав програмувати в середній школі з книги Ігрове програмування для підлітків . Він викладає мову програмування BlitzMax . Я думаю, що це хороша мова програмування для початківців, оскільки вона має синтаксис, що нагадує англійську мову, та простий набір команд для малювання на екрані. Багато інших мов, таких як Java, мають величезний API, який є користю для професійних програмістів, але може бути непосильним для новачків. Після того, як ви вивчите одну мову програмування, набагато простіше вивчити іншу, тож він зможе перейти до іншої мови, наприклад Java або C #, коли буде готовий.


0

Не можу сказати, що я прочитав усі відповіді, але перші кілька мене дуже засмутили. ВІРНО НІКОЛІ сучасних великих обчислювальних великих (думаю, Гейтс, Джобс тощо) різали зуби при такому високому рівні абстракції (тобто веб-технологіях). Всі вони впали та забруднилися технікою. Гуру в будь-якій команді майже завжди є тими, хто має найглибші знання низького рівня.

Якщо ви хочете, щоб він навчився РЕАЛЬНИМ обчисленням і викликав захоплення від цього, знайдіть йому необхідні іграшки (хороший якісний мультиметр та CRO (чудовий блок 2-мегапіксельних 50 МГц Tektronix зробить чудово), чудову дошку розвитку (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.