JavaRush /Java блог /Random /Я никогда не научусь программировать. Простые советы, как...

Я никогда не научусь программировать. Простые советы, как построить план обучения и пошагово двигаться к цели

Статья из группы Random
В школе мы учились по школьной программе, в вузе — по университетской. На первой работе нам помогали коллеги. Но в онлайн-образовании все не так просто. Даже если вы готовитесь пройти полноценный онлайн-курс, а не учитесь только по книгам и туториалам, сформировать план обучения бывает сложно: надо определить финальную цель, придумать график, следить за прогрессом. И если в традиционном обучении это зачастую делает преподаватель, то в онлайне эту роль должен взять на себя ученик. В этом тексте мы расскажем о том, зачем нужен учебный план и дадим несколько советов, как его правильно составить.“Я никогда не научусь программировать”. Простые советы, как построить план обучения и пошагово двигаться к цели - 1

Зачем нужен план обучения?

У выпускников Гарвардской школы бизнеса спросили, составляли ли те письменные цели и план их достижения: 84% вообще не ставили целей, 13% поставили письменные цели, но не продумали конкретные планы, 3% учеников записали цели и конкретные планы по их достижению. Через 10 лет 3% класса, у которых были записаны цели и планы, зарабатывали в десять раз больше, чем 97% их одногруппников. Очевидно, что прописывание своих целей помогает четче осознать, чего мы действительно хотим и разработать действенный план по реализации этих целей. Вот еще несколько причин, почему нужен учебный план:
  1. Помогает разбить большую задачу (освоить Java-программирование) на более мелкие. Например, выучить общий синтаксис языка; разобраться с классами, объектами и обработкой исключений; научиться работать с файлами и потоками ввода/вывода; освоить многопоточность, познакомиться с коллекциями; азами веб-разработки, популярными фреймворками.
  2. Помогает составить удобный график: каждый день по 4 часа; 2 часа по будням и 6 — по выходным; только по выходным, только по будням.
  3. Помогает отслеживать прогресс: можно сравнивать свои успехи по ходу обучения с тем, что было вначале. Также можно сверять то, что уже успел выучить с намеченными контрольными точками и понимать, нужно ли усилить график обучения.
  4. План обучения мотивирует. Ощущение победы от выполненного пункта в вашем списке поставленных задач подстегивает учиться дальше.

Как составить план обучения?

Найти мотивацию

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

Определить свой уровень знаний

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

Сформулировать цель

Чтобы достичь успеха, цель должна быть максимально конкретной. Например, цель “выучить язык программирования” — размытая. Лучше сформулировать так: “выучить Java и найти работу джуна в продуктовой компании”. Такая конкретная цель будет лучше мотивировать.

Выбрать один из планов обучения

Есть два основных способа планировать обучение — их можно использовать по отдельности или комбинировать. Первый план — основанный на целях. В этом случае нет строгой привязки к датам, план больше ориентирован на достижение результата. Второй — это план, основанный на времени. В таком случае есть дедлайн. Например, выучить Java Core за 6 месяцев. Выбирая один из планов, следует учитывать свои особенности. Если понимаете, что у вас плохо с дисциплиной, то, возможно, стоит выбрать второй план. Понимаете, что склонны заваливать дедлайны? Попробуйте рационально рассчитать, какое количество времени при ваших нагрузках и знаниях, вам понадобится, чтобы освоить и закрепить новый материал. В этом может помочь исследование “Сколько нужно времени на изучение Java”, которое мы проводили среди выпускников.

Разбить цель на маленькие шаги

Желательно на максимально конкретные шаги с точными дедлайнами вплоть до финальной цели. Двигаясь понемногу, вы избежите того давления, которое оказывает конечная цель (вначале она кажется нереальной), а вот маленькие ежедневные действия вполне вам по силам. Это так называемая “стратегия маленьких побед” — ее чаще используют для командной работы, но и для индивидуальной работы она подходит. Ее основные принципы: ясные цели, автономия, ресурсы, время, поддержка (например, от ментора — ред.). К этому совету, можно отнести и составление ежедневного расписания, в которое будет включено ваше обучение. Желательно работать в одно и то же время дня: тогда расписание войдет в привычку. Вот что пишет пользователь JavaRush о своем графике: “Главное — еженедельный прогресс. После двух недель отдыха возвращаться уже сложно, а писать каждый день несколько месяцев подряд не каждый сможет. Дайте себе норму в часах на неделю — например, 15. Вы можете кодить по 1,5 часа каждый будний день и еще 3-4 часа на обоих выходных, или можете отдохнуть пару вечеров, но "выходная норма" увеличится. Таким образом, график получится гибким, но регулярным”.“Я никогда не научусь программировать”. Простые советы, как построить план обучения и пошагово двигаться к цели - 2
Пример плана обучения (дорожная карта)

Составить список источников для обучения

Список ресурсов может быть единым, а может дополняться или изменяться в процессе. Например, чтобы выучить Java, это могут быть:
  1. Курс JavaRush.

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

  2. Книги:
    • "Head First Java, Изучаем Java", Кэти Сьерра, Берт Бэйтс;
    • "Java. Руководство для начинающих", Герберт Шилдт;
    • "Java. Полное руководство", Герберт Шилдт;
    • "Java. Библиотека профессионала", Кей С. Хорстманн, Гари Корнелл.
  3. Туториалы на YouTube (вариантов много — выбирайте тот формат подачи информации, который вам ближе);
  4. Консультации с ментором / знакомым разработчиком. Этот пункт нужен для тех, кому важно получить “живое объяснение”, а не разбираться во всем самостоятельно.

Отслеживать прогресс

Инструменты для отслеживания прогресса помогут придерживаться изначального плана. Второе преимущество — это мотивация, ведь маленькие успехи на пути к большой цели позволяют не перегореть раньше времени. Для отслеживания прогресса можно завести документ в Excel, бумажный дневник или пользоваться специальными приложениями и плагинами типа Trello, Google Keep, Degreed, Diigo, Maketime.

Хвалить себя

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

Как придерживаться плана обучения?

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

Структура курса

Весь обучающий курс разбит на 4 блока — квеста: Java Syntax, Java Core, Java Multithreading и Java Collections. Каждый квест состоит из 10 уровней, а каждый уровень содержит 10-15 лекций и 20-30 практических задач. Такая структура помогает ученикам постепенно двигаться к намеченной цели. Если необходимо — всегда можно вернуться к решенным задачам и лекциям и еще раз просмотреть.

График пинков

Конечно, вас будет пинать программа, а не человек, но и перед ней может быть стыдно за пропущенные занятия. Кик-менеджер можно собственноручно запрограммировать на нужные дни учебы — он напомнит, когда это будет необходимо. Можно выбрать напоминалки на каждый день или выходные дни. А если вдруг вам надо будет срочно отдохнуть, можно использовать кнопку «Забить на учебу».“Я никогда не научусь программировать”. Простые советы, как построить план обучения и пошагово двигаться к цели - 3

Ачивки за решение задач

За каждую решенную задачу вы получаете награду — несколько единиц черной материи. Материя необходима для того, чтобы двигаться дальше – открывать следующие уровни и лекции.“Я никогда не научусь программировать”. Простые советы, как построить план обучения и пошагово двигаться к цели - 4Ну а за более крупные достижения, вроде решения 10 задач за день, непрерывную серию ежедневных занятий, решение всех задач квеста, активную помощь другим юзерам в прохождении курса, вы получаете специальные ачивки, которые формируют ваш итоговый рейтинг среди всех студентов курса. Ну а кто из нас не любит получать ачивки? Это прекрасная мотивация двигаться дальше :)
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
kharkov.valery Уровень 4
22 марта 2021
Открыл для себя сервис weeek.net. Очень неплохой планировщик. В отличие от аналогов, позволяет составлять индивидуальный план. Выглядит свежо и не перегружено.
Андрей Уровень 27 Expert
26 октября 2020
Хорошая инфографика по этапам обучения, особенно блок с SQL, Hibernate, Spring между блоками Collections/Multithreading и Стажировка JavaRush. Этот блок в рамках квестов JavaRush уже просто заждались, а пока приходится искать обучение по этим темам на стороне.
Apafios Уровень 11
26 октября 2020
"можно сравнивать свои успехи по ходу обучения с тем, что было вначале." Да это очень помогает , хотя не редко забываешь )) а хвалить себя это вообще сложно.
Евгений Уровень 27
26 октября 2020
На личном примере могу сказать, что главное мотивация! Без ее ничего не выйдет. Из плана обучения могу сказать, что нужно конкретно выбрать направление (должность). А список нужных знаний можно узнать из рынка вакансий от работодателя. Но основой, все же, являются знания от JavaRush - это Syntax, Core, Multithreading. Далее кто что захочет) Далее как вариант, альтернатива стажировке, создание своего проекта( хоть будильник). На гитхабе можно поискать ментора для проекта, или просто постить куски для проверки более опытным людям.