JavaRush /Java блог /Random /"Я ніколи не навчуся програмувати". Прості поради щодо то...
Yuliia Tunik
42 рівень
Киев

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

Стаття з групи Random
У школі ми вчилися за шкільною програмою, у виші — за університетською. На першій роботі нам допомагали колеги. Але з онлайн-освітою все не так просто. Навіть якщо ви готуєтеся пройти повноцінний онлайн-курс, а не вчитеся тільки по книжкам і туторіалам, сформувати план навчання буває складно: потрібно визначити фінальнуу мету, продумати графік, стежити за прогресом. І якщо у традиційному навчанні цим як правило займається викладач, в онлайні цю роль має взяти на себе учень. "Я ніколи не навчуся програмувати". Прості поради щодо того, як організувати план навчання та крок за кроком наближатися до мети - 1У цьому тексті ми розповідаємо про те, навіщо потрібен навчальний план та даємо кілька порад щодо того, як його правильно скласти.

Навіщо потрібен план навчання?

Одного разу у випускників Гарвардської школи бізнесу спитали, чи складали вони письмові цілі та план їх досягнення: 84% взагалі не ставили цілі, 13% поставили цілі письмово, але не деталізували плани, а 3% учнів записали цілі й конкретні плани щодо їх досягнення. Через 10 років 3% учнів класу, які записували свої цілі та плани, заробляли вдесятеро більше за 97% одногрупників. Ясна річ, прописування власних цілей допомагає чіткіше усвідомити, чого ми насправді хочемо та розробити ефективний план із реалізації цих цілей. Ось ще кілька причин, чому потрібен навчальний план:
  1. Допомагає розбити велику задачу (опанувати Java-програмування) на дрібніші. Наприклад, вивчити мовний синтаксис; розібратися з класами, об’єктами та обробкою виключень; навчитися працювати з файлами та потоками введення/виведення; розібратися з багатопоточністю, познайомитися з колекціями; азами веброзробки, популярними фреймворками.

  2. Допомагає скласти зручний графік: наприклад, заняття кожного дня по 4 години; 2 години у робочі та 6 — на вихідних; заняття тільки на вихідних, або тільки в робочі дні.

  3. Допомагає відстежувати прогрес: можна порівняти власні успіхи в процесі навчання з тим, що було на початку. Також можна порівняти те, що вже встигли вивчити, із визначеними контрольними точками і зробити висновок щодо того, як потрібно скоригувати графік навчання.

  4. План навчання мотивує. Відчуття перемоги після виконання пункту з вашого списку спонукає продовжити навчання.

Як скласти план навчання?

Знайти мотивацію

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

Визначити свій рівень знань

Якщо раніше ви вже вивчали мову програмування, нема сенсу починати з нуля. Спробуйте згадати все, що ви вчили попередньо, та визначити власний рівень у цій сфері знань. Оцінка знань допоможе скласти правильний список джерел для навчання та “карту прогалин”. Якщо ви вчили програмування у ВНЗ, і з теорією все добре, можна приділити увагу вивченню мови та практиці. Якщо ви в програмуванні новачок, слушно буде додати до програми навчання книжки, які допоможуть розібратися з теорією. Наприклад, паралельно з першими рівнями JavaRush можна читати:
  • "Head First Java, вивчаємо Java" (Кеті С’єрра, Берт Бейтс)
  • "Java. Керівництво для початківців" (Герберт Шилдт)
  • "Java для чайників" (Баррі Бьорд)
А от коли ви достатньо зануритеся в програмування, в нагоді зможуть стати ці довідники та посібники:
  • "Java. Повне керівництво" (Герберт Шилдт)
  • "Java. Бібліотека професіонала" (Кей С. Хорстманн, Гарі Корнелл)
  • "Java. Довідник розробника" (Бенджамін Дж. Еванс, Девид Фленеган)
  • "Effective Java" (Джошуа Блох)
  • "Філософія Java" (Брюс Еккель)

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

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

Обрати один із планів навчання

Є два основні способи планування навчання — їх можна використовувати окремо або комбінувати. Перший тип плану базується на цілях. У такому випадку нема чіткої прив’язки до дат: план скоріше орієнтирований на досягнення результату. Другий — це план, у якому враховується час. У такому випадку є дедлайн. Наприклад, вивчити Java Core за 6 місяців. Обираючи план, враховуйте власні особливості у навчанні. Якщо ви розумієте, що з дисципліною все не дуже добре, можливо, вам варто обрати другий тип плану. Розумієте, що схильні завалювати дедлайни? Спробуйте раціонально розрахувати, скільки часу вам знадобиться на засвоєння нового матеріалу, якщо взяти до уваги ваш рівень знань та поточне навантаження. У цьому вам може допомогти наше дослідження “Скільки потрібно часу на вивчення Java”.

Розбити ціль на маленькі кроки

Бажано – на максимально конкретні кроки з чіткими дедлайнами, аж до остаточної мети. У поступовому навчанні ви уникнете тиску, який чинить фінальна ціль (оскільки спочатку вона може здаватися нереальною). З невеликими щоденними діями ви точно зможете впоратися. Це – так звана стратегія “маленьких перемог” – її частіше використовують для командної роботи, але і для індивідуальної вона також підійде. Її основні принципи – чіткі цілі, автономія, ресурси, час, підтримка (наприклад, від ментора – ред.). До цієї поради можна додати складання щоденного розкладу, у якому будуть передбачені слоти під ваше навчання. Бажано вчитися в ту ж саму пору дня/вечора: тоді розклад увійде у звичку. Ось що написав про свій графік один із користувачів JavaRush: “Головне — щотижневий прогрес. Після двох тижнів відпочинку вже складно повертатися, а писати код щодня протягом кількох місяців поспіль не кожен зможе. Встановіть собі норму в годинах на тиждень — наприклад, 15. Ви зможете кодити по півтори години з понеділка по п’ятницю та ще 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 є кілька рішень, які допоможуть із цим:

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

Курс складається з 6 блоків – квестів: Java Syntax, Java Core, Java Multithreading, Java Collections, JSP & Servlets, SQL & Hibernate. Кожний квест складається з 10-20 рівнів, а кожний рівень містить 10-15 лекцій та 20-30 практичних задач. Така структура допомагає учням поступово рухатися до визначеної мети. Якщо необхідно, завжди можна повернутися до вирішених задач та лекцій і переглянути їх ще раз.

Ачівки за розв’язання задач

За кожну вирішену задачу ви отримуєте нагороду — кілька одиниць чорної матерії. Матерія необхідна для того, щоб рухатися далі – відкривати наступні рівні та лекцїі. За більш істотні досягнення – вирішення 10 задач на день, безперервну серію щоденних занять, вирішення всіх задач квесту, активну допомогу іншим юзерам у проходженні курсу, ви отримаєте спеціальні ачівки, які формують ваш рейтинг серед усіх студентів курсу. Ну а хто з нас не любить отримувати ачівки? Це прекрасна мотивація рухатися далі :)
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ