Ответы пользователя по тегу IT-образование
  • Формирование программистского кругозора и мотивации к самостоятельному обучению у начинающих?

    MrMig
    @MrMig
    У меня есть пара саксесс-стори, не смотря на мой возраст :)
    Несколько лет назад я занимался написанием ботов и просто утилит в виде юзерскриптов. И разрабатывал скрипт с кучей полезностей для vk.com. На базе этого скрипта получил несколько интересных знакомств и ценный опыт.

    Так вот, ближе к делу. Однажды ко мне в личку постучался 19летний парень. Оказалось, что он очень сильно впечатлён самой возможностью «расширять сайты» и добавлять функционал. Он попросил меня рассказать ему, как это делается. У парня было только школьное образование, ни в ВУЗ, ни в ПТУ он не поступил, работы не было (на это были причины личного характера).
    Его обучение началось с javascript. Я взял его в «команду» — помогать мне со скриптом. Со своей стороны я объяснял ему основы программирования на конкретных примерах: алгоритмическое мышление, циклы, условия, простые алгоритмы, и т.д.
    Самое главное, что все эти понятия были наглядными. Имея в запасе минимальное понятие о API джаваскрипта, не представляя, что такое CSS и HTML, человек, тем не менее, мог видеть результат своих экспериментов, и этот результат приносил какую-то пользу, а не был очередным хеллоу-вордом.

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

    Как показывает опыт, основанный на экспериментах на друзьях, следующий паттерн работает для большинства заинтересованных:
    1. Определить, что именно зацепило человека (с какими технологиями его начать знакомить в первую очередь)
    2. Познакомить его с базовыми понятиями (циклы, переменные, условия, составление алгоритмов)
    3. Дать ему в руки инструмент для экспериментов — простой язык, на котором можно писать полезные для самого человека вещи, с незамысловатым API.
    4. Показывать человеку реальный пример кода (исправлять его код) и объяснять досконально ход своих мыслей при разработке или проектировании. При этом, сначала вы будете отвечать на вопросы «как?». Постепенно их нужно полностью сводить к вопросам «почему?». Вопрос «как» человек должен решать сам.
    5. Максимально сократить цикл идея-реализация-результат. Это очень важно! Это топливо для мотивации.
    6. Главный вопрос — какую идею реализовывать. It depends. Лучше всего, чтобы обучаемый сам придумывал, какую проблему он будет решать. Если мотивация не строится на мысли «мне срочно нужны деньги, поэтому я стану программистом» или прочими мыслями о будущем, то написания «шаблонных» программ будет идти в ущерб мотивации.
    7. Как только человек научится ваять код самостоятельно — он начнёт выходить за рамки вашего обучения. Тут важно научить человека получать информацию (да, не все умеют пользоваться гуглом и стэковерфлоу. И про книги не забываем)


    8. Это субъективно, но для меня такой подход работает. Я веб-программист, и «подопытные» тяготеют к этим технологиям.
      Но в целом — никто не любит сухую теорию. Видеть и «щупать» результат — бесценно :)
    Ответ написан
    2 комментария