Що робити, коли застряг у вивченні CS50
Самостійне навчання вимагає від студента значної концентрації. Особливо, коли ви обрали програму вивчення комп’ютерних наук. Зараз це розумію не з чуток, бо хочу опанувати курс від Harvard University з основ комп’ютерних наук — CS50: Introduction to Computer Science.
Програма ускладнюється, що в результаті створює перешкоду, яка не дає рухатись далі. Це — закономірність, яку я спостерігаю вже не вперше, проходячи чергову навчальну програму чи курс.
Під час вивчення CS50 в якийсь момент ви можете зрозуміти, що застрягли. То як впоратись із цим і продовжити навчатись далі?
У цій статті опишу на власному досвіді, як подолати етап застою і не зійти з дистанції. Є причини, які здатні вас загальмувати під час вивчення CS50. Втім з ними можна впоратись! Ви ж іще не досягли мети, а отже — мусите прикласти трішки більше зусиль.
Ускладнення навчальної програми
Досягти успіху можна тільки тоді, коли ваш рівень зростає. Тому нормально, що навчальна програма поступово стає більш складною. Завдяки цьому ми зростаємо як спеціалісти. А оскільки взялись навчатись на курсі від Harvard University, то тут логічним буде пропорційне посилення вашого рівня.
CS50 передбачає поступове вивчення ключових тем в комп’ютерних науках. Програма написана для тих, хто тільки починає знайомство з напрямком розробки. Як результат — кожна тема дуже детально пояснюється професором David J. Malan. Тому, як на мене — важливо уважно переглядати відеолекції викладача.
Найбільш складною темою для вас може видатись Algorithms або Memory. У кожного по різному, все залежить від того, що вам простіше для сприйняття — алгоритмічні задачі чи робота з пам’яттю. Ці теми потребують вашої значної уваги і вони важливі для подальшого вивчення комп’ютерних наук. Я помітила, що більшість студентів має камінь спотикання саме на вивченні теми Memory.
Щоб подолати цю тему я користувалась наступним алгоритмом:
- переглядала по кілька разів лекції Девіда — коли була потреба, то і
2-3 рази; - перечитувала Transcript лекцій — досить дієво діє читання, а це по факту готовий конспект;
- вивчала презентацію, яку лектор використовував під час пояснення теми;
- переглядала всі короткі відео — жодного не пропустила, бо там додаткові пояснення всіх методів, синтаксису, типів і т.п.;
- виконувала ВСІ практичні — на платформі вказано, що ви повинні здати тільки одне завдання із перелічених, але практика найкращий вчитель;
- здійснювала пошук додаткової інформації в Google — для кращого розуміння складної теми;
- переглядала відео на YouTube від інших експертів.
Якщо для вас складно сприймати англомовне навчання, можна додатково переглядати україномовну версію. На Prometeus є перекладений українською мовою цей курс, щоправда за 2019 рік. Проте загальні концепції не змінились і ви зможете краще зрозуміти складну для себе тему.
Зрозумійте, що складну тему можна вивчити. Варто копати глибше, якщо наявних інструментів не вистачає. На етапі, коли ви застрягли, це може задаватись занадто високим тяжким випробуванням. Проте подолавши його — далі рухатись буде дійсно простіше.
Збільшення навантаження
Програма CS50: Introduction to Computer Science має все необхідне для того, щоб розкрити тему вивчення. Коли вам складно, може здаватись, що крім складної теми ще й зростає навантаження. Здається, що всього стає більше:
- конспект для вивчення;
- відео на перегляд;
- матеріали — аудіо, текстові, презентації, графіки і т.п.;
- практичних робіт;
- лабораторних робіт.
В порівнянні з Week 0, воно так і є. Проте насправді, програма збалансована — може відрізнятись кількість обов’язкових до вивчення матеріалів. Але скоріше за все, така думка виникає на ґрунті того, що студент застряг. У мене такий момент також був, але тут найкраще працює раціональних підхід. На платформі курсу CS50 ви маєте доступ до всіх модулів. Достатньо просто переглянути — і ви зрозумієте, що навантаження скрізь відносно однакове.
В цей же час моя особиста рекомендація — розвантажити свій час! Відмовтесь на період вивчення CS50 від зайвих занять:
- проекти — якщо ви над чимось працюєте додатково для саморозвитку, визначте для себе пріоритетні та відмовтесь від тих, які вас виснажують;
- навчання поза CS50 — лишіть англійську, це єдине, що вам буде корисне на ці
11-12 тижнів; - поставте на паузу частину своїх чатів — повернетесь до них, коли будете готові виділяти на них час;
- зберігайте пропоновані ресурси для розвитку або нові проекти, але не долучайтесь до них під час навчання.
Я відмовилась від 2 pet-projects, бо вони практично не рухались. Але відповідальність зростала і кращим рішенням було попередити команди та вийти зі складу цих проектів. Відверто поділюсь — це було вірним рішенням, бо думки про невиконані завдання справді відполікають і давлять морально.
Окрема порада — давайте собі відпочивати. Іноді складна тема з’являється тоді, коли ви занадто багато працюєте. Мозок хоче розрядки, тому слід задовольнити цю потребу. І коли емоційно не стягуєте — треба теж відпочити і дозволити собі прийти до тями. В Україні емоційні гойдалки ні для кого не новина, це нормально дати волю емоціям. Важливий баланс, бо він забезпечує ефективність.
Необхідна підтримка від ментора або колег
Самоосвіта має як переваги, так і недоліки. Ви не прив’язані до локації, термінів та можете займатись навчанням в зручному для вас режимі. Разом з тим мінімізується комунікація, завдяки якій можна подивитись на проблему під іншим кутом.
Насправді Девід забезпечив таку можливість, коли створював цей курс. Не дарма CS50 вважається одним із найкращих для початківців. Тому не лінуйтесь користуватись цим. Бо проблеми з цим немає, якщо уважно вивчити доступні для вас інструменти. Ви отримуєте доступ до спільноти однодумців в Discord — це досить зручна платформа для спілкування. Не нехтуйте цим, бо тaм передбачена менторська підтримка та можливість спілкування в чатах по темах практичних робіт, лабораторних та різноманітних завдань.
Маленька рекомендація від мене: якщо у вас багато чатів на цій платформі або ви не хочете отримувати сотні повідомлень щодня — заглушіть сервер.Відвідуйте тоді, коли це необхідно.
Ви можете просто читати або спілкуватись в чатах серверу, ставити питання, знайомитись із іншими студентами. Там точно знайдете відповіді на всі запитання по програмі курсу і розширити нетворкінг.
Збирайтесь на CS50 з однодумцями
Спілкуюсь з розробниками з різним досвідом і більш досвідчені говорять, що часто повертаються до CS50. Спеціалісти надають перевагу цій програмі, щоб освіжити в пам’яті основи комп’ютерних наук. Це розумно, бо невикористовувані знання — забуваються, а з часом навіть використовувані — стають застарілими або неактуальними зовсім.
Коли не впевнені в своїх силах — об’єднуйтесь в команди. Так менше спокуси зійти з дистанції, та і бажаючих скласти вам компанію набереться. До речі, в січні збираємось навчатись разом. Поки я цей шлях проходжу самостійно. Але знаю, що змогла надихнути якусь кількість людей на вивчення CS50. Не забувайте, що в кінцевому результаті ви матимете сертифікат від Гарварду, це стимул працювати попри труднощі.
З радістю ділюсь інформацією, що мені доступна і буду продовжувати це робити. До прикладу, сама я дізналась про курс зі статті Ярослава. Якщо ви ще не знаєте про нього або не читали статтю — щира рекомендація. А ще рекомендую канал CS50 на YouTube — там не лише навчальні матеріали, але й багато цікавого або розважального контенту.
46 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів