Код 12-річної дитини

Всім привіт!
Молодший брат (12 років, закінчив 7 клас звичайної школи) серйозно вирішив зайнятися програмуванням. Порадив йому мову python, оскільки вважаю, що вона чудово підходить для початківців, та ще й таких! Сам він надибав книгу Доусона, яку захоплено читає.

Так от, сьогодні випадково натрапив на його власну програму на python`і. Здивувала його логіка, сам код:

print("На відгадування слова вам дано 4 спроби")
print("Слово складається з англійських букв")
word = "python"
tries = 4
letter = input("Введіть букву :")
if letter == "p" or "y" or "t" or "h" or "n":
    print("Правильно! Ця буква є в слові!")
    letter = input("Введіть букву:")
else:
    print("Такої букви в слові немає!")
    tries = 4 - 1
    print("Ваші спроби : " + str(tries))
    letter = input("Введіть букву:")
    if letter == "p":
        print("Ваше слово : 'p*****'")
        print("Ваші спроби : " + str(tries))
        letter = input("Введіть букву :")
    elif letter == "y":
        print("Ваше слово : '*y****'")
        print("Ваші спроби: " + str(tries))
        letter = input("Введіть букву :")
    elif letter == "t":
        print("Ваше слово : '**t***'")
        print("Ваші спроби: " + str(tries))
        letter = input("Введіть букву :")
    elif letter == "h":
        print("Ваше слово : '***h**'")
        print("Ваші спроби : " + str(tries))
        letter = input("Введіть букву :")
    elif letter == "o":
        print("Ваше слово : '****o*' ")
        print("Ваші спроби : " + str(tries))
        letter = input("Введіть букву :")
    elif letter == "n":
        print("Ваше слово : '*****n'")
        print("Ваші спроби : " + str(tries))
        letter = input("Введіть букву :")
    else:
        print("Такої букви в слові немає!")

Питання: як ви вважаєте, дитині в 12 років ще зарано починати програмувати, чи це нормально?
Запрошую до обговорення!

UPD: Брат кіпішує, що ще не доробив програму

LinkedIn

Лучшие комментарии пропустить

Б***ь. Шо вы все, как моя мама. О***битесь от детей. Дайте им палками играться и делать, то что нравится им. Без рассказов и заманух какими-то необозримыми деньгами и тд. Вот ты бы так же радовался, если бы брату дотка нравилась? Сделал бы стрим его каточки? Нет. Ну и вот.

Детство на то и дано, чтобы не думать ни о чём, дёргать Машку за косички и тд. Я путь навязывания профессии с 7 лет прошла. Каждый год, как круг по Данте. Оно никому не надо.

В программировании где-то 35-40.

лол

Не сидел на доу долго, сдесь собрание поехавших походу: код ребенка, 5%, дебил поехал в Германию, сломалось весло, вы извините но создайте на форуме тему флуд и пусть туда перенесут треш. Иногда хочется почитать что-то но если 90% говна в главной ветке это пздц товарищи)))))

Удалите сообщение, темы есть))

та куда мне было, меня ж готовили в супер войска супер элитной профессии ПЕРЕВОДЧИК. солдат джейн на фронте лингвистики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Уверенны, что не скопипастил с учебника? :D там обычно такие примеры :D

Ну ХЗ. Я в 13 лет получил свою первую пару сотен баксов за примитивную базу данных запчастей для John Deere (через посредника, ествественно). Так что всем кто считает что 12-13 лет — слишком рано — пусть подождут своей пенсии для начала чего-либо. Нормально всё заходит в детстве.

Склонности людей к профессиям в 12 лет и начинают проявляются. Я думаю все нормальные программисты где-то в таком возрасте и написали свою первую программу. Нужно же понимать что в какой-то художественной гимнастике 22 года уже пенсионный возраст. В программировании где-то 35-40. Насколько хороши задатки у малого сказать сложно, потому что с 9 строки уже идёт ад и содомия. Но вроде как что-то есть.

В программировании где-то 35-40.

лол

Я же надеюсь, что вам всем под 40 вы во всю валите код на технологиях выученных не 10 лет назад и потому лолкаете :))

Вы считаете, что в 40 нельзя выучить новые технологии? :)

І вже певне не стоїть, га-га-га :D

Смотря на кого.

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

На порядок, то есть в 10 раз?)
там если и будет разница, то процентов 20, не больше..

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

<сарказм>Ну а так да, в остальном конечно 20 летним везде дорога..< / сарказм>

Здесь еще 23-летние сеньоры есть. Лол.

Що це означає — «нормально»?) Це не порно і не качалка. Про що розмова? Думаєте, програмування у 12 років буде мати незворотні наслідки для мозку?
І взагалі, не чіпайте дітей стостовно вибору професії.

Я начинал в 11-12 лет на Спектруме на встроенном в него Бейсике )))
Из документации — распечатка, чего команды означают.

Я теж в 12 почав кодити, і нічого, нормальний (місцями). Писав на Delphi, потім — на С. Потім, маю декілька знайомих, які так само починали — вони зараз реально круті специ і цікаві співрозмовники)
А щодо коду — ще навчиться писати. Я особисто почав задумуватися над чистотою коду вже під 17 років, до цього мені було якось фіолетово на такі речі. І часто в програмах були глобальні однобуквенні змінні)

Back in my times...
12-летние дети п***или палкой кропиву и им было збс :)

Вообще пусть делает че хочет, я вот тоже в 12 лет купил какую-то книгу (не помню, PS7 или С++ или Corel), но подталкивать кодить в 12 не нужно.

Я как-то умудрялся сочетать :-)
Дома Бейсик, на природе — фехтовалка с крапивой ;-)
При этом я в 12 лет прочитал «Огнём и мечом» и заинтересовался тем периодом с другой стороны, Польшей, польским языком и латынью. 12 лет — благодатный возраст, львиная доля нашего багажа это то, что мы узнали до 13 лет. И эти знания с навыками ещё и в голове держатся лучше, чем последующие.

палкой кропиву

Лол, спершу здивувався як це, а потім згадав і таки да! Кропиву, лопухи і бур’ян :)

Еще одуванчики неплохо с ноги отлетали.

Молодец брат. Помоги ему доработать его код, а еще покажи другие способы решения. Раз кипишует, значит ему интересно и код ему не безразличен:)

Нормально в 12 пробовать программировать.
Я когда-то вела курсы по Scratch для группы 8-10лет. Курс для новичков без опыта программирования. Состоял из разработки 10ти простеньких игр. При правильной подаче дети отлично разбираются и в алгоритмах и циклах. Причем у них всегда куча идей, что можно добавить в игру, как усложнить. Тут главное не мешать, а только направлять.

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

А чому це може бути ненормально — обирати професію в 12 років? я особисто не бачу раціональних аргументів.
UPD: брат правильно кіпішує :) могли п з ним пофіксати парочку багів, потім викладати код :)

Тому що в 12 починається не стабільний підлітковий період. Краще до 17років розвивати якісь навики, а не готуватися до певної професії.

Ну на загал Ви ІМХО праві: шкільний період напевно краще розвивати дитину різнобічно. А що скажете про спортсменів? дівчата-гімнастки в 14-15 років будуть на чемпіонатах перемагати, пацанчики-футболісти за грубі гроші батькам налом переходять з одної футбольної школи в іншу, бо легально ніззя. Ті ж шахісти, з 7-8 років (а сестри Полгар куди раніше) сидять за книжками і компутерами... Цей варіант також має свою перевагу: дитина концентрується на чомусь одному. В ідеалі, гадаю, її мали п обережно просвітити і підтримати:)

Это если у ребенка есть явно выраженный один талант. Большинство людей- обычные универсалы..

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

І так само ніхто з перших спроб не писав код на рівні стронґ-джуна. Якщо він відчує і воно йому «зайде», то він сам скоротить цей код в N разів і виправить усі помилки.

Б***ь. Шо вы все, как моя мама. О***битесь от детей. Дайте им палками играться и делать, то что нравится им. Без рассказов и заманух какими-то необозримыми деньгами и тд. Вот ты бы так же радовался, если бы брату дотка нравилась? Сделал бы стрим его каточки? Нет. Ну и вот.

Детство на то и дано, чтобы не думать ни о чём, дёргать Машку за косички и тд. Я путь навязывания профессии с 7 лет прошла. Каждый год, как круг по Данте. Оно никому не надо.

А саму то дёргали за косички? И чё как те люди поживают?) И что сама делала?

та куда мне было, меня ж готовили в супер войска супер элитной профессии ПЕРЕВОДЧИК. солдат джейн на фронте лингвистики

Дотка имеет переспективу только для корейских киберспортсменов. Поскольку мы только приближаемся к Корее (и то, Северной), то занятия доткой абсолютно бесперспективны и пустая трата времени.

к этому и референс был

Что-то не видно в топах корейских команд. А 7-й инт европейцы взяли.

Молодший брат (12 років, закінчив 7 клас звичайної школи) серйозно вирішив зайнятися програмуванням.

А, собственно, никто и не приебывался-то

Дотка теж непогано мислення розвиває — британські вчені довели.
Головне, щоб не дуже захоплювався всякими бидлоблогерами на ютубі (опущу подробиці). Зараз це просто епідемія, охоплює всіх віком від 8 до 18. Основний симптом — бажання знайти чарівну таблетку, яка дозволить «піднімати 5 косих баксів на місяць та кататись по світу, нічого не роблячи».

Не сидел на доу долго, сдесь собрание поехавших походу: код ребенка, 5%, дебил поехал в Германию, сломалось весло, вы извините но создайте на форуме тему флуд и пусть туда перенесут треш. Иногда хочется почитать что-то но если 90% говна в главной ветке это пздц товарищи)))))

Удалите сообщение, темы есть))

По поводу треша — это у тебя в ВК был мастер Йода на аве?

Звичайнісінький собі код. Реальна робота не стільки писати, скільки читати код. От коли він зможе ЧИТАТИ код — то вже половина справи.

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

Цей код як мінімум показує те, що він не виконав його у своїй голові

як ви вважаєте, дитині в 12 років ще зарано починати програмувати, чи це нормально?

Если нравиться, пусть играется, не мешай, но помогай, когда просит помощи. С 12 до 25 он еще много чего перепробует.

Да, тут важен момент, что для ребенка это все игра и если правила ему не понравятся то игра станет не интересной. Сам в школе колупался в бейсике на zx spectrum, если бы меня мариновали изначально всякими коде практис или еще чем то забил бы сразу от нудятства, а так даже книгу читал «как написать игру на zx spectrum».

З досвіду — краще не допомагати порадами, і давати читати кращий код

В мене в 12 було краще

Але я знайомий з математиками, які писали саме так

Такими темпами діти програмістів про програмування будуть дізнаватися раніше, ніж про секс.

так і було, і вже до речі давненько так, років зо 30 тому

Школьные олимпиады по информатике — не, не слышал?

На олимпиадах по информатике трахаются?

Там обычно только 1-3 девчонки участвует. Но бухаловка перед отъездом была обязательна

На республиканских только если :) Кстати, не только перез отъездом. Были кадры, которые пик Балмера решали поискать, правда, безуспешно.

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

Я в 11 примерно такой же код писал

Правильно брат делает — что кипишует.
Я бы не хотел — чтобы без моего разрешения, мой недоработанный код в паблик выкладывали и приглашали его обсудить =)

Прапор в руки тому, хто буде дописувати цей код)

1. код не коректний, бо виконається лише раз. можливо, час розповісти про цикли.
2. що саме вас дивує у логіці?
3. код вочевидь новачковий. проте це і добре — краще пояснити, нащо ті цикли, коли сам вже намучився з Ctrl+C/Ctrl+V
4. якщо може робити операції над числами, то абстрактне мислення вже засвоїв. чому ви думаєте, що програмування зарано?

Рядок

tries = 4 — 1

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

говорить сам за себе :)

ну, якщо продублювати увесь блок і замінити tries = 4 — 1 на «tries = 3......... tries = 2 ...... tries = 1» то буде логічно ж :)

Звісно цикли колись він засвоїть

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

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

Первая гитара должна быть — бревно, первая машина — жигули, первая телка — стремная. Ну-ну.

а потом о массивах

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

Я в 5 классе на факультатив по информатике ходил(турбо паскаль), когда мне показали циклы был в полном восторге. А массивы не показали, но я видел, как их использовали 9классники, и люто завидовал этой магии.. Книжек по программированию, и интернета тогда не было у нас в городе.

Конечно-конечно, не было книжек :)
И как вообще можно показывать циклы без массивов? Они ж как бы за руку ходят, практически все циклы имеют под собой массив в том или ином виде, и только малая их часть обслуживает потоки. Которые по сути те же самые массивы, но с иными критериями конца.

Питання: як ви вважаєте, дитині в 12 років ще зарано починати програмувати, чи це нормально?

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

Якщо ви про вміння рухати мишкою, та друкувати на клавіатурі, то це він вміє з 5-ти років.
Інформатика в школі, наразі, дає дітям знання про те, як малювати в paint’i, набирати тексти в word`і і т.д. і т.п. Окей, в 10-11 класах вивчають Skype, та Паскаль.
Питання в іншому: варто дітям з шкільної парти пояснювати принципи ООП, структури даних, чи залишити це на потім?

пояснювати принципи ООП, структури даних

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

Думка слушна, проте є і інша сторона.
Малим дітям легше вивчити мову, аніж 15-річному підлітку. Аналогія з програмуванням:можливо 12-річній дитині під час формування логічного мислення буде легше засвоїти всю цю «логіку» та основи, аніж 18-літньому студенту якогось універу?

Малим дітям легше вивчити мову

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

Малим дітям легше вивчити мову, аніж 15-річному підлітку.

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

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

Ребенка учат, он не сам учится. Учат постоянно. Да и нельзя измерять как бы взрослый учил язык, не зная языка в принципе. Потому рассуждения, кому проще, а кому сложнее, не имеют под собой основания, а если мерить, кто быстрее выучит, то однозначно взрослый.

Програмування можна вчити в будь-якому віці. Краще в 9 років, коли сформоване логічне мислення, але паттернів ще замало. Там нема ніякого «легше», 12 років — це вже дорослий вік із точки розвитку процесу мислення.

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

До речі, програмування — не логічне. Якби воно було логічне — воно б і не знадобилося. Все що роблять насправді програмісти — змушують комп′ютер виконувати абсолютно нелогічні дії. А для логічних — вже давно написані утиліти. Наприклад, ти ж не станеш писати програму для архівації файла у 7z? Але коли треба це зробити в автоматичному режимі — то вже напишеш скрипт.

Якщо ви про вміння рухати мишкою, та друкувати на клавіатурі, то це він вміє з 5-ти років.

Нет, не про это

Інформатика в школі, наразі, дає дітям знання про те, як малювати в paint’i, набирати тексти в word`і і т.д. і т.п. Окей, в 10-11 класах вивчають Skype, та Паскаль.

Бегите из той школы.

Питання в іншому: варто дітям з шкільної парти пояснювати принципи ООП, структури даних, чи залишити це на потім?

Я бы давал бы знания ООП лет с 5ти, чего ждать то?

> Я бы давал бы знания ООП лет с 5ти, чего ждать то?

Не в образу Вам, але Ви — наркоман.

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

Прогрес у вас!
Мене в 9-му класі (5 років тому) вчили, як браузером користуватися.

Більшість цього і зараз не знає. Бо тоді не ставили би Хром :)

а что с хромом не так для юзера?

Це тролінг. Насправді знання програмування неможливо дати. Ними можна лише ЗАЦІКАВИТИ.

Але вивчення я би пропонував розпочинати НЕ з Python, а з VBA. Чому так: дуже щвидкий прогрес в Excel, розуміння як поводитися з величезними масивами даних, розуміння природи людського фактора у програмуванні. І звичайно розуміння, що треба РОБИТИ З ЛАЙНА ЦУКЕРОЧКУ.

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

Тому, якщо це справді професія, найкращий шлях — спочатку навчитися обробці даних, і вже потім відчувати ЩО САМЕ виконують програми. А тому починай з Excel, далі давай бази даних та SQL, далі знов Excel та його зведені таблиці. І вже потім — VBA.

Що корисного саме в VBA — є функція запису макросів. Тобто, робиш щось руками — і от воно ж тобі постає як програма. Це єдина серйозна причина, чому VBA є коротким шляхом до розуміння справжніх паттернів людської інформації, а не тієї х-ні, що пишуть в заумних книжках. Ну і він точно не боятиметься «великих даних», бо розумітиме що таке гіперкуб OLAP, і коли не треба вигадувати велосипед (писати зайвий код) замість використання серйозних інструментів.

VBA

Воплощение зла. Использовать Бейсик как первый язык + показывать его в сочетании с MS Office — это double kill... Не надо так травмировать детскую психику :)
ИМХО лучший способ заинтересовать ребенка — показать пример как написать очень простую игрушку. Дальше воображение само дорисует что еще можно сделать когда умеешь делать такие простые вещи.

Чтобы написать простую игрушку, нужны скиллы покруче чем у 99,7% здесь сидящих. А вот умение программировать ЛОГИКУ как раз таки в VBA лучше всего нарабатывается.

Я не призываю анонировать на мелкомягкие технологии. Или изучать их до матёрого профессионализма. Но освоить лучшие практики манипуляций с данными — самое оно.

Воображение? Знали б вы сколько людей не смогли освоить профессию, из-за того что образование полагается на мифическое воображение, мифические способности мозга, которые должны закрыть огромные дыры в самой структуре обучения, и ещё более громадные — в понимании результата этого обучения.

К слову, чтобы освоить ООП нужно день-два, не больше. А вот чтобы привыкнуть к реальным задачам манипуляции с данными, чтобы понимать беспомощность компьютера в понимании что он делает, чтобы научиться обрезать острые углы и избавляться от лишнего кода, чтобы понять как зачем и когда делается рефакторинг — лучше всего иметь дело с РЕАЛЬНЫМИ объектами, чем писать всё с нуля.

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

Программирование начинается с умения РАБОТАТЬ С ИНФОРМАЦИЕЙ. А уже потом учатся фреймворки и языки на которых они пляшут, в зависимости от выбора профессии. VBA прост тем, что его не нужно учить, там нечего учить в самом языке — это просто макроязык. Зато можно прекрасно попрактиковаться, не испытывая проблем обычных языков: когда всё разваливается, хрен сложишь воедино, а источники информации в один голос льют ведро помоев вместо компактно собранного примера с пояснением возможных вариаций.

ЛибреОфис использовать с питоном можно с таким же успехом.

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

Але вивчення я би пропонував розпочинати НЕ з Python, а з VBA.

Вообще пофик на язык, поэтому нужно брать перспективные, например C++17

Надо исходить из предметной области, а уже потом брать язык и фреймворки.

Информатику обычного с первого класса учат

Ага, особенно на курсах вайтивайти.

Подписаться на комментарии