JavaRush /Java блог /Random UA /Ефективне навчання програмування

Ефективне навчання програмування

Стаття з групи Random UA
Навчання програмування з нуля – непростий технологічний процес. Особливо якщо вчишся самостійно в мережі: ти намагаєшся знайти оптимальний спосіб, витрачаєш час та зусилля на пошук адекватної інформації, слухаєш-читаєш-дивишся, намагаєшся писати перші програми, помиляєшся, не знаєш де саме, нічого не розумієш, заходиш у глухий кут… 90% спроб закінчуються ще до ладу не розпочавшись. Дуже часто після таких зусиль людина сама собі ставить діагноз "це не моє" і навчання програмування закидається.
Ефективне навчання програмування - 1

Помилки в самостійному вивченні Java з нуля

  • Недостатня кількість практики: не теоретично повинен розбиратися програміст насамперед. Насамперед програмує програміст, навчання такого фахівця має будуватися саме на практиці і тут хоч кіл на голові тіші! "Ось зрозумію, що до чого, а потім зроблю завдання" - це не про програмування!

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

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

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

  • Формальний підхід: особливо не вникаючи і не намагаючись вирішити завдання самостійно більше ніж один раз, люди шукають в інтернеті чуже рішення. Насправді “списування” може бути корисним, у навчання основ програмування часто входить розбір чужого коду. Але саме розбір, і саме після того, як людина здійснила кілька підходів до проблеми самостійно.

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

Як просунутися у навчанні програмування?

  1. Знайти основне джерело інформації, опрацьоване, добре структуроване, наповнене лише найпотрібнішою інформацією та ненудним (це важливо!). Дотримуватися цього джерела;

  2. Вміти знаходити додаткові джерела інформації та користуватися ними за потребою. При цьому не розпорошуватися;

  3. Постійно програмувати: вирішувати багато практичних завдань та мати можливість перевіряти коректність рішень;

  4. Займатися регулярно, не закидати навчання надовго;

  5. Не намагатися охопити все одразу, рухатися за циклом, з поступовим нарощуванням складності;

  6. Ефективне навчання програмування - 2
  7. Навчитися читати чужий код;

  8. Навчитися знаходити відповіді на запитання в інтернеті, але не зловживати цим;

  9. Спілкуватися з побратимами на майбутнє щастя: бажано, щоб поряд був ще хоча б один студент - програміст, навчання онлайн без спілкування йде набагато менш ефективно;

  10. Спілкуватися з досвідченими програмістами;

  11. Не здаватися!

"Ха, легко сказати!" - Скажете ви. І додайте: "Дякую, Кеп!". Найпростіші поради зазвичай найскладніше реалізувати. Але ви читаєте ці рядки і вже потрапабо на сайт JavaRush. А сайт JavaRush містить однойменний курс, який саме за цими канонами і побудований! Давайте переконаємося в цьому.

JavaRush - нестандартний підхід до навчання

  • JavaRush - це добре структурований курс з мови Java. Він складається з коротких лекцій, представлених у формі цікавих діалогів, які перемежовуються численними практичними завданнями. Курс ви проходите від імені персонажа, якого потрібно “прокачати” з 0-го до 40-го рівня, як у грі жанру РПГ. Вирішуєте завдання – отримуєте бали, які можна витратити на відкриття наступної лекції.

    Але насправді хитається не персонаж, а ваше вміння програмувати. Курс містить всю необхідну інформацію з Java Core (ядро мови Java, саме його має досконало знати майбутній Java Junior Developer) і трохи більше. На цьому місці можна поставити галочку навпроти першого пункту зі списку.

  • На JavaRush є спеціальні лекції, де методисти курсу рекомендують ті чи інші книги, відеоролики та інші джерела інформації. Крім того, адміністрація курсу, а також просунуті студенти часто пишуть статті з рекомендаціями, які мають полегшити розуміння складних тем. Це закриває пункт 2.

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

    Творці JavaRush це зрозуміли давно, так що практика лежить в основі курсу. У ньому – 1200 завдань! Це той самий цінний досвід програмування, якого не вистачає всім тим, хто намагається стати розробником ПЗ.

    Однак самих по собі завдань мало, їх потрібно вирішити і зрозуміти, що рішення правильне.

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

    Ефективне навчання програмування - 3
    Ефективне навчання програмування - 4

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

  • Практичні завдання на JavaRush

    • Частина завдань охоплює теоретичний матеріал лекції, що йде перед нею.
    • Ще одна частина розрахована на повторення раніше пройденої теорії (на попередніх рівнях).
    • Треті завдання - це "завдання з майбутнього", вони даються за матеріалами наступного одного-двох-трьох рівнів. Так-так, вам не здалося. Це зроблено навмисно. Хочете вирішити завдання зараз, але вам не вистачає знань? Гугліть! Це надзвичайно корисна навичка для програміста. Ну а якщо ви хочете рухатися послідовно, просто відкладіть завдання і поверніться до неї через пару рівнів, коли дійдете необхідної теорії. На цьому місці можна поставити галочки навпроти пунктів 5 та 7.
    • Бонусні завдання. Ці завдання підвищеної складності для самостійного навчання та розвитку алгоритмічного мислення. Ще одна галочка до пункту 7!
    • Міні-проекти. Це завдання, розбиті на кілька підзавдань, у результаті поступового вирішення яких ви створите відносно складні та великі програми. Наприклад, гру "Сокобан" або онлайн-чат. Такі завдання з'являться приблизно у середині курсу.
    • Набір коду – завдання для початківців. Іноді майбутньому програмісту потрібно просто набити руку та відчути код. Для цього ви просто "списуєте" зі зразка.
    • Розбір чужого коду та пошук помилок. Ну ви зрозуміли. Такі завдання також є, і тут можна поставити плюс навпроти пункту 6.
    • Відео. Іноді корисно перейти на іншу діяльність. На JavaRush такою діяльністю служить перегляд відеороликів про айтішників.
  • Допомога у вирішенні завдань

    Як ми вже згадували вище, навчання програмуванню онлайн не повинно нагадувати одиночне плавання на плоту серед океану. Вам потрібно спілкуватись. Для цього на JavaRush в першу чергу є розділ "Допомога". Якщо ви вже дуже довго застрягли на якомусь завданні з курсу або не можете зрозуміти складну тему, ставте питання у спеціальному розділі . Вам обов'язково допоможе хтось із студентів, розробників чи адміністрації ресурсу. Крім того, ми маємо розділ “Групи”, де можна спілкуватися з іншими студентами курсу. А ще, коли відчуєте в собі сабо, буде дуже корисно заходити до розділу “допомога” для того, щоб допомогти комусь із навчанням. Тут вам доведеться розбиратися в чужому коді. Ставимо галочку навпроти пунктів 8 та 9 і ще одну навпроти 6!

    Ефективне навчання програмування - 5
  • У курс JavaRush вплетена велика кількість мотиваційних лекцій, а ще наші випускники, які вже працюють програмістами, іноді надсилають нам свої історії успіху . Судячи з коментарів під цими історіями, вони справді мотивують людей не закидати навчання. Тут можна поставити галочку навпроти пункту 10.

Отже, ми змогли поставити галочки навпроти всіх пунктів (місцями навіть кілька разів). "Неправда, четвертий пункт поки що відкритий", - зауважить уважний читач. Так і є! Однак творці курсу JavaRush доклали всіх зусиль, щоб ви змогли поставити галочку і під цим пунктом. Справа за вами! І… удачі у цій непростій справі — вивченні програмування!
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ