Чи справді CS50 — найкращий онлайн-курс для початківців

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

Жартую.

Усі мають право на власну думку. Навіть на таку, що CS50 найліпший курс для розробників-початківців. Головне, щоб ця думка не завадила вам дочитати статтю до кінця, інакше як вам зрозуміти, що вона не вірна.

Усім мої вітання, з вами Сергій, і це перший не хвалебний огляд «CS50: Вступ до комп’ютерних наук» від Гарвардського університету.

Що ж таке CS50

Перш за все, я маю попередити, що «CS50» — це назва версії курсу для кампуса. А в цій статті мова йде про CS50x MOOC (Massive Open Online Course). Але заради простоти, я буду користуватись назвою «CS50». Отже...

Якщо не заглиблюватись у деталі — один з найкращих початкових курсів до комп’ютерних наук. Початок свій бере у Гарварді, а зараз викладається ще у декількох університетах, а також доступний для проходження онлайн на різних платформах.

Як викладають CS50

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

Викладає професор Девід Дж. Малан — доволі харизматичний дядько і гарний спеціаліст, де-факто обличчя курсу; а ще він з якихось причин ненавидить друковані телефонні довідники та намагається їх знищити.

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

Якщо ви виконали певну кількість практичних завдань, здали фінальний проєкт та маєте близько $250 (кажуть, останнє не обов’язково), то можете отримати цифровий сертифікат з вашим ім’ям. Сертифікат має близьку до нуля практичну користь, але про це трохи далі.

Стислий зміст курсу

Кому дуже цікаво, програма курсу легко гуглиться. Я ж не буду вкотре робити копіпаст, а просто скажу, що на цьому курсі ви дізнаєтеся наступне:

  • Комп’ютерні науки вивчають дані та методи взаємодії з ними.
  • Комп’ютери (або точніше — їхні процесори) оперують машинним кодом, і не розуміють нічого, окрім цього коду.
  • Для кожної окремої архітектури процесора існує набір зрозумілих команд машинного коду.
  • Комп’ютерна програма — це послідовність інструкцій, які має виконати комп’ютер.
  • Високорівневі мови програмування дозволяють створювати програми, абстрагуючись від машинного коду, а перетворення вихідного коду відбувається за допомогою спеціальних програм: компіляторів або інтерпретаторів.
  • Кожна мова програмування визначає свій синтаксис — правила написання програм цією мовою.
  • Усі мови програмування мають реалізацію найпоширеніших типів даних, їх структур, та надають змогу реалізувати відсутні структури самостійно (у більшості випадків).
  • Усі мови програмування мають можливість виконувати (або не виконувати) окремі блоки коду, або виконувати їх повторно (циклічно) залежно від умови.
  • Також мови програмування надають можливість виокремити окремі блоки коду у функції — окремі програмні сутності, які можуть бути використані повторно у різних місцях програми.
  • Дані зберігаються в пам’яті, та залежно від свого типу займають певну кількість комірок.
  • Алгоритм — це визначена послідовність операцій та умов до їх виконання, а також вхідні та вихідні дані, які використовуються та генеруються цією послідовністю.
  • Програмування засновано на структурах даних та алгоритмах.
  • Найпоширеніші завдання вже мають реалізацію певною (або частіше декількома) мовою програмування; такі рішення збираються у функціональні бібліотеки або просунуті конструктори для використання в певному домені (фреймворки).

І... щойно я доволі точно переказав зміст усього курсу та заощадив вам час на його проходження.

Звісно, моя версія не така цікава та захоплююча.

Чи буде цього курсу достатньо? Залежить від мети, яку ви поставили перед собою. Якщо ваш намір — пройти лікнеп з комп’ютерних наук, то так. Якщо щось інше, то ні.

До суті

Отже, CS50 — це початковий курс для вивчення комп’ютерних наук. Його мають пройти усі, хто бажає отримати CS ступінь в Гарварді, а також можуть пройти інші студенти для «розширення кругозору». Декілька слів про те, як працює комп’ютерна пам’ять, як оперують даними, які мови програмування є. Така собі оглядова розповідь довжиною в десяток тижнів про те, що взагалі можна робити за допомогою цього програмування, і як приблизно це можна робити.

Хто не вірить, просто гляньте на перелік мов, яких торкається цей курс:

  • Scratch (не те щоб мова, а конструктор для дітлахів, але най буде...)
  • C
  • Python
  • SQL
  • JavaScript
  • HTML
  • CSS

Така солянка дозволяє з висока подивитись на підходи та реалізацію одних і тих самих операцій у різних мовах, та виокремити загальні шаблони до розв’язку певних завдань. А іноді окрема мова просто більше підходить для демонстрації конкретного процесу.

Ніхто ж насправді не вірив, що тут когось навчать програмувати 3+ мовами?

Чи складний цей курс

Дуже багато студентів зазначають, що вступний курс має мало спільного з прогулянкою парком. І це доволі звичайно для курсів, де одна з умов полягає у тому, що левову частку інформації ви маєте знайти та засвоїти самостійно. Простими словами: на лекції скажуть, що 2 + 2 дорівнює 4, а у якості домашки загадають розв’язати диференціальне рівняння. І це є чи не основною причиною того, що студенти кидають курс. І так, відсоток дроп-аута тут просто пробиває стелю. Лише близько 5% студентів подолали виконання усіх практичних завдань.

Мова про студентів, які навчались саме за онлайн-версією курсу. Серед студентів кампуса статистика геть інша, і вже майже усі змогли успішно впоратись. Але цим людям спочатку треба було потрапити в Гарвард.

Особисто я не помітив у цих завданнях нічого складного. Для мене було куди складніше тримати концентрацію під час перевірки тестами, бо вже за пару годин я як німецький хлопчик починав кричати на монітор.

Проте цілком можливо, мої складні відносини з чек-ранером — це виняток. Я не помітив, щоб студенти масово скаржились на процесор перевірок; але я також не скажу, що такі скарги взагалі відсутні, і час від часу вони випливають то тут, то там.

Так, цей курс надає виклик початківцю, але він не містить неможливих завдань. Зрештою, 5% онлайн користувачів та студенти кампуса регулярно їх виконують.

Чи це справді найкращий курс від Гарварда

Подекуди ще кажуть «найкращий курс з програмування для початківців від Гарварда». І чомусь завжди далі починають розповідати про різних людей з IT-тусовки, які заходили прочитати лекцію, про викладача, про рейтинг Гарварда. І завжди дуже скупо про те, чому цей курс навчає, і яку користь надає.

І я можу таке зрозуміти, бо якщо порівняти зміст курсу з навмання обраною мапою розвитку спеціаліста, то стає помітно, що програма курсу закриває малесеньку крапочку на безмежному полотні. І це вимагає доволі високої залученості протягом тривалого часу.

Як на мене, буде не дуже доречно порівнювати вступ до комп’ютерних наук з прикладним програмуванням. CS50 — це дійсно гарний курс, але він ніколи не мав на меті зробити когось програмістом. Ба більше, навіть викладачі курсу сходяться на думці, що вступного курсу буде недостатньо для опанування професії. Іншими словами — це лише перші кроки на довгому шляху навчання.

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

Трохи критики, яка швидше стосується тутешніх моїх колег — адептів CS50, — ніж курсу самого по собі, який, я нагадаю, дійсно гарний у своїй ніші.

Що стосується згадування Гарварда — то це банальна маніпуляція. Я не кажу, що цей факт треба замовчувати; я кажу, що характеристика «від Гарварда» явно не перше, що бажаєш побачити серед інших до навчального курсу. З цієї точки зору ліпше буде пройти MIT6.00, який на відміну від CS50 все ж надає практичні навички в конкретній мові, і цілком може розглядатись як самостійний (хоча так само ніколи не мав цього на меті). А в згаданих рейтингах вишів MIT крутить Гарвард по-всякому вже протягом 10 років, якщо це комусь цікаво.

І зрештою, чому б просто не вступити до Гарварда? Так, це складно, але щороку сотні абітурієнтів це роблять.

Чому хтось взагалі може радити цей курс

А чому б ні? Курс дійсно непоганий. Та й Девід гарно його розповідає.

Хоча заради справедливості маю зауважити, що Девід з якоюсь механічною завзятістю розповідає одне і те ж саме, однаковими словами та з однаковою інтонацію і діями, де б він не опинився: в аудиторії, на інтерв’ю, в проморолику, будь-де. І так вже років з 10. А тому під час праці над цією статтею я знаходився у перманентному стані «це ж було вже».

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

І повертаючись до питання у підзаголовку, якщо бажаєте на чистоту, то я не маю відповіді. Хтось просто не любить комерційні IT-курси як явище, і тому спамить CS50 на кожному куті. Для когось порадити CS50 як перший курс — це просто ввічливий спосіб сказати: «Відчепись, я не маю часу займатись твоїми проблемами». А хтось дійсно вірить, що цей курс несе якусь користь початківцям. І це тільки те, що спадає мені на думку одразу; мотивація може бути дуже різною.

Справді, розібратись з потребами людини, виявити її слабкі та сильні сторони, врахувати побажання, підібрати щось серед усього різномаїття IT-спеціальностей та сформувати якусь мапу розвитку — це (та інше) вимагає дуже багато часу та зусиль. Повірте, рахунок іде на дні, і посиденьками за кавою тут не обмежитись. А тому проста відповідь у стилі «А пройди CS50» цілком доречна, і не містить стільки сарказму, як «Навчись програмувати». І тому я не маю жодного морального права когось у такій пораді звинувачувати.

Звинувачувати — ні, а от спитати — ви угораєте? — можу. Тому, щоб двічі не вставати, моя версія рубрики...

Критикуєш — пропонуй!

Щоб не відволікатись від першочергової теми й не перетворювати цю статтю на нескінченний список того, які ресурси вам доступні, я просто сфокусуюсь на тих аргументах на користь CS50, які зустрічались мені найчастіше.

  • CS50 фокусується на мові програмування C, яка основна та взагалі найліпша.

Вирази «Бути програмістом» та «Знати C» дійсно були тотожні... десь так у 90-х. Навіщо комусь возитись з вказівниками, якщо ціль — робити форми для веб?

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

Я ще не бачив жодної документації до мови програмування, яка б починалась не з опису доступних базових типів даних та операції. Чому б не почати одразу з цікавої вам мови? Лезо Оккама в дії.

  • Вивчення CS50 спростить подальше вивчення програмування.

Вважаю це дійсно так. Зрештою будь-яка підготовка ліпша, ніж ніякої. Проте витратити 100 або більше годин зараз, щоб можливо(!) заощадити собі пару годин потім — це доволі сумнівний розмін.

  • Практичні завдання CS50 дозволяють опанувати базові навички.

Платформи на кшталт LeetCode або Codewars мають тисячі завдань, які вже класифіковані за складністю, мовою програмування та доменом.

  • CS50 розглядає базові алгоритми.

Книга «Грокаємо алгоритми» (до речі, доступна в українському перекладі) робить те саме (і навіть більше), написана мовою, яку зрозуміє п’ятикласник, та читається від корки до корки за пару тижнів по вечорах. А за час, відведений під CS50, навіть мій кіт упорається.

  • CS50 має гарну візуалізацію алгоритмів.

Візуалізація від університету Сан-Франциско: інтерактивна, можна налаштувати вхідні параметри та швидкість виконання, а також пройти алгоритмом крок за кроком в обох напрямах.

  • CS50 — це складний курс, який надає виклик!

Існують «Cracking the Coding Interview» за авторством Гейл Макдауел та вже згадані тут LeetCode, Codewars та інші. Всі вони мають задачки, які з наскоку не розв’яжуть розробники з 10+ роками досвіду. Але, як на мене, «складність» — така собі метрика для навчального курсу.

  • CS50 навчить алгоритмічного мислення та закарбує гарний підхід до побудови застосунків.

Я б тут посперечався. Але якщо «алгоритмічне мислення™» ще якось можна притягнути, то от про гарний підхід до побудови — це вже занадто.

По-перше, абстракціям та побудові програм навчає CS51, і повноваження CS50 сюди не розповсюджуються. Тобто курс від самого свого задуму не має виконувати цю задачу.

По-друге, в нашому Всесвіті існують вже згадана «Грокаємо алгоритми» та «чиста» серія від дядька Боба.

І найважливіше: розуміння патернів та вміння їх застосовувати приходять з досвідом. І, мабуть, жоден курс цьому не навчить. Хто не вірить, просто запитайте когось зі знайомих програмістів: чи доводилось їм робити огляд шматка коду від графомана, який напхав туди усі патерни, про які вчора дізнався.

  • По завершенні CS50 надається сертифікат.

Рекрутера більше цікавить ваш стек та попередній досвід. А так у нас навіть на дипломи профільних вишів не завжди дивляться.

Сертифікат про проходження CS50 можна розцінювати лише (!) як підтвердження власного вміння ставити ціль та досягати її. А також як підтвердження того, що у вас ДУЖЕ багато вільного часу.

  • ... диплом від Гарварда!

Не займайтесь самообманом. Це сертифікат (!) про проходження курсу. І він має практичну цінність тільки як додаток до відповідного диплому (наприклад, CS degree, отримана в Гарварді). В будь-якому іншому випадку його цінність та ж сама, що у моєї «відмінно» з лінійної алгебри за перший курс.

Іншими словами, отримати диплом Гарварда можна тільки навчаючись у Гарварді.

  • Це безкоштовний курс, а IT-школи тягнуть гроші за оманливі обіцянки.

Чесність окремих IT-шкіл — це предмет для іншої статті. В контексті поточної най їх обіцянки лишаються на їх совісті.

З практичної точки зору CS50 вимагає стільки ж часу, а подекуди більш як середній курс від середньої IT-школи. А обсяг розглянутого матеріалу буде з величезною перевагою на користь IT-школи.

І треба зауважити, що CS50 безплатний. Безкоштовний — це доволі суб’єктивна характеристика; наприклад, я не можу надати таку чомусь, що потребує 100 годин часу.

Час — це чи не єдиний невідновлюваний ресурс, яким володіє людина; і його менше з кожною секундою. Заплатити курсам «Рога та Копита» та заощадити собі години навчання може бути набагато дієвішою стратегією. Зрештою, гроші можна заробити, а години життя — неможливо.

І щоб мене не звинуватили у грі на користь IT-шкіл, я чітко та гучно скажу: «Усі наведені вище альтернативи або геть не потребують додаткових фінансових вливань, або ж потребують їх у мінімальному обсязі. А про IT-школи я вперше згадав в цій секції лише декілька абзаців вище».

Замість висновку

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

CS50 не можна порівнювати зі «сфокусованими» курсами (комерційними чи ні), бо з таким самим результатом можна порівнювати ворону та письмовий стіл. Такі курси знаходяться в різних категоріях, і фактично не конкурують проміж собою, якби хто те порівняння не бажав притягнути.

Порівняння буде більш доречним для спеціалізованих версій CS50, таких як CS50W чи CS50AI. Хоча і в цьому випадку воно буде притягнуте за вуха.

За тим я резюмую, що CS50 ідеально підійде, якщо для вас справедливо одне чи декілька з наступних тверджень:

  • Ви плануєте здобути ступінь магістра комп’ютерних наук в Гарварді.
  • Вам загалом неважливо, що саме та як вивчати.
  • Ви просто полюбляєте дізнаватись щось нове.
  • Ви маєте необмежені ресурси — час для вас не проблема, а отримання конкретних результатів через рік-два-три цілком приємне.
  • Ви вже розробник, проте відчуваєте брак фундаментальних знань, а читати документацію вам забороняє релігія.
  • Ви не плануєте будувати кар’єру, пов’язану з IT, але серед ваших знайомих багато програмістів, і ви б бажали розуміти про що вони балакають своєю місячною мовою.
  • Ви працюєте над статтею про CS50.

І коли я казав про «адептів CS50», я не мав на увазі тих, хто каже: «Норм курс». Я казав про авторів сотень хвалебних відео та рецензій, які приписують цьому курсу хіба не магічні властивості, яких його автори ніколи в навчальну програму не закладали.

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

На тому побажаю успіхів та буду з вами прощатись.

Посилання

👍ПодобаєтьсяСподобалось18
До обраногоВ обраному5
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Я вже десь тут писав — ЦС50 такий собі збірник усього потроху й марна трата часу Краще глянути введеня до компютер саенс з стенфорду. Вони його там на ява робили і там добрий старий інжерений погляд на речі.

Java не дуже доброзичлива до початківців, у тому числі через примусове ООП.

Скидається на те, що Автор здолав лише 2-3 лекції... і застряг десь на 5й... Біля алгоритму. Якщо я помиляюсь — прошу показати сертифікат.
Просто не можна розглядати CS50 у відриві від Університету. В універах рівня Гарвард — там левова частка навчання проходить самостійно. Там не можна отримати «залік» просто за відвідуванням лекцій... Тому курс дуже складний, саме для тих, хто здатен навчатись в найкращих університетах.

Ви недооцінюєте завзяття з яким я берусь за справу.

Я передивився УСІ доступні версії CS50 — загалом близько 600 годин, і починав з версії 2015-го року.
Звісно, я не виконував практичні завдання взагалі усіх цих курсів, але чесно зробив усі для базового CS50x (без проекта) та CS50W, і ще десь третину для CS50SQL та CS50AI. Далі мені то вже набридло. Майте Бога в серці, я і без того на це витратив від 600 до 700 годин, а від їх тормознутого тест-ранера у мене тепер в’єтнамські флешбеки.

Якщо я помиляюсь — прошу показати сертифікат.

Легко. Але спочатку най мені хтось кине $250, бо я свої манав витрачати. Хоча зізнаюсь, на початку у мене була така ідея, як раз для того, щоб показувати цей сертифікат за проханням. Але зваживши всі «за» та «проти», я вирішив що це дуже дорога забавка виходить.
Проходив на платформі edX, версію 2024-го.

Просто не можна розглядати CS50 у відриві від Університету.

На жаль, я не зрозумів про що ви тут.

В універах рівня Гарвард — там левова частка навчання проходить самостійно.

Мені потрібна пояснювальна бригада. Стаття каже про це прямим текстом.
І я навіть додам, що в будь-якому університеті левова частка інформації здобувається самостійно.
Звісно є деталі, в залежності від спеціальності, але в середньому це твердження вірне.

Тому курс дуже складний, саме для тих, хто здатен навчатись в найкращих університетах.

Мені здається, що ви подолали лише 2-3 перших абзаци.
Я просто наведу цитату з цієї ж статті:

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

Особисто я не помітив у цих завданнях нічого складного. Для мене було куди складніше тримати концентрацію під час перевірки тестами, бо вже за пару годин я як німецький хлопчик починав кричати на монітор.

Тому курс дуже складний, саме для тих, хто здатен навчатись в найкращих університетах.

А ось перший абзац тіла статті після інтро:

Перш за все, я маю попередити, що «CS50» — це назва версії курсу для кампуса. А в цій статті мова йде про CS50x MOOC (Massive Open Online Course). Але заради простоти, я буду користуватись назвою «CS50».

Здається, я знайшов місце далі якого ви не читали.
Без негатива. Всі ми вільні люди.

а ще він з якихось причин ненавидить друковані телефонні довідники та намагається їх знищити

Це зауваження виклакає посмішку, він і справді багато їх знищив😅

Цікавий виклад, із задоволенням ознайомилась з альтернативним поглядом на цей курс.
Дякую за згадки моїх публікацій

То пасхалка «для своїх».
І я радий, що вона спрацювала саме так, як мала спрацювати.

проходив цей курс ще в перших ітераціях, коли там ще треба було ставити віртуалку з убунтою, а есайнменти сдавати через консоль
перекладів звісно не було, але мене він вразив і надихнув на цей шлях)
з усім погоджуюсь, він те що він є — введення в КС, перша щабель в СІ або просто для розширення кругозору для людей інших спеціальностей

Побачив багато років на прометеусі.
В мене цей курс відбив би будь яку мотивацію, якби я спробував його вивчати в 1994 :)
Краще семестр КПІ, кібернетики КНУ, або сучасних програм знайомства та тест драйву ІТ професій.
«Чи вийде
у тебе працювати в IT із ЗП від $1500?»

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

Боюсь, ми не побачимо оновлену версію.
Бо я банально не бачу причин для великих галер повторно спонсорувати переклад.
Та й не бачу як прикрутити нові codespace, хіба що хтось погодиться оплатити їх «клонування».

В цілому, я не бачу критичної різниці між лекціями сучасної версії, та тієї що лежить на Prometheus. Тому можна дивитись, слухати. А практичні завдання або скіпнути та набрати собі з умовного codewars, або зробити та забити на тести.

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

Приділив я питанню ще деякий час.
І в цілому я не бачу технічних проблем оновити версію на Prometheus.
Та і загалом я придумав як можна це робити на регулярній основі щороку.
Проблеми тут більш організаційного характеру.
І якщо знайдеться вагома кількість людей згодних підтримати ініціативу, я б навіть погодився надати свої сервери, та прийняти участь у вирішенні організаційних питань.

Мені років сім тому попався cs50 на прометеусі з php замість пайтона.
Якщо хочете війти в ІТ — марна трата часу.

Я би не сказав, що прямо марна трата часу.
CS50 має суттєві переваги у своїй структурі, і як навчальний курс — це дійсно гарний приклад того, як треба структурувати лекції.
Якщо дивитись на нього як спосіб здобуття IT-професії — я би назвав його дуже мало ефективним у порівнянні з доступними альтернативами.

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

Відрекламую свій безплатний курс для початківців «Знайомство з Python». Теж з нуля. Теж з інтерактивними зразками коду. Теж з практичними завданнями.

Я про це вже років 7 торочу :) Курс добрий, але не для початківця.
Залежно від рівня людини звісно, її попереднього досвіду, та краще з чогось простішого починати

Згадка про тих, хто нахвалює й пропагандує CS50, стосується мене — це констатація факту, з якою погоджуюсь.

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

Варто згадати, що повно якісних безкоштовних навчальних матеріалів, на які варто орієнтуватися — які офіційно викладаються у відкритий доступ провідними університетами світу. І саме це я регулярно нагадую в коментарях на DOU, бо ІТ-індустрія росте.

Сергію, ще раз дякую за твою статтю — вона корисна для ІТ.

Завжди будь ласка.

Згадка про тих, хто нахвалює й пропагандує CS50, стосується мене — це констатація факту, з якою погоджуюсь.

Це збірний образ, і він не має на увазі нікого конкретного (якщо це малось на увазі).
Але так, я використовував ваші дописи як джерело інформації та натхнення під час праці над цим текстом.
Он вони усі в посиланях :-).

... щоб абітурієнти могли оцінити якість навчання у CS50

Один з висновків цієї статті полягає у тому, що CS50 та комерційні IT-курси не є альтернативами одне одному.
Порівнювати їх звісно можна, але я не бачу в цьому сенсу.

... обіцяють забагато, а їхня реклама більше схожа на рекламу казино

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

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

Звісно. Але більш дієвим у такому випадку буде просто вступити до вишу, а той самий OSSU можна використовувати як джерело додаткової інформації.
Якщо проходити повну університетську програму самостійно... Ну, особисто я, таких людей по-перше — поважаю; по-друге — боюся.

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

справедливості ради гарвард входить в топ 10 в світі по різним рейтингам . і міт там не все перший. не видно по рейтингах шоб там була велика різниця між ними в стем.

Я не казав, що між ними велика різниця.
Я сказав, що MIT обходить Гарвард вже 10-ть років поспіль.
Користувався я QS рейтингом.

res.cloudinary.com/...​/qphaqna3irmvzu0bp7xu.png

то шо там пару відсотків закінчують цей курс це може не показник. от скіки людей його пройшло і дало хороші відгуки не редаговані. взагалі ті онлайн курси люди передивляються часто без мети проходити. а шоб порівняти користь, тре порівняти які знання і мотивацію отримує людина після cs50 і розрекламованих курсів, які наприклад набирають вже людей з дипломами і після яких людина яка провчилася в університеті по тому не останньому в Україні не може сказати шо таке ооп на інтерв’ю.

то шо там пару відсотків закінчують цей курс це може не показник.

І погоджусь, і ні. Все залежить від кута зору на цей факт.

Згідно з дослідженням дроп-аута, найбільший відсоток відпадає на перемиканнях контексту.
І один з висновків: людям нема чого втрачати. Тобто студент кампуса заплатив за своє навчання не малі гроші.
А от студент MOOC — нічого не платив, і може просто дропнути курс тому, що... Да банально відосик на YouTube попався цікавий (перше з голови). Хтось лінується, хтось знудився, комусь не вистачає мотивації — і це тільки перше, що приходить в голову.

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

от скіки людей його пройшло і дало хороші відгуки не редаговані.

Я не зовсім розумію в якому це контексті.
Хіба хтось заперечує те, що курс гарний? Я тільки звернув загальну увагу на те, що він гарний у своїй ніші.
І сказав що не слід сприймати його тим, чим він не є.

Щодо редактури відгуків — усі то роблять в тому, чи іншому сенсі. Але це швидше «цензура», аніж «редагування».
Бо якщо є можливість впливати на відгуки таким чином — легше не публікувати «неугодні», аніж терти, виправляти, чи просити GPT написати 100500 позитивних відгуків про якусь шарагу.

Я скажу особисту думку, але я взагалі не вважаю відгуки якимось мірилом. Так, вони можуть вказати загальний вектор. Але коли справа стосується освіти — я на жаль не можу навести приклад, де б відгук був чимось релевантним (звісно, ми тут не будемо враховувати крайні варіанти з відвертим кидаловом). Просто будь-який я при бажані зміг би викрутити в будь-якому напрямку. А як можу я — то може будь-хто. Це не є щось, об’єктивне і краще мати власну голову на плечах, і власну думку у цій голові.

а шоб порівняти користь, тре порівняти які знання і мотивацію отримує людина після cs50

Я не бачу, як можна порівняти CS50 із чимось комерційним доступним у нас. Я банально не бачу сенсу в такому порівнянні. Але якщо дуже треба — то найпростіше буде взяти програму CS50W (бо він найближчий до чогось схожого на самостійний курс) і програму Python курсу від «Ввіти в IT» (вигадана IT-школа). І ми легко побачимо що за наповненістю матеріалом та практичним фокусом IT-курси просто скажуть CS50: «Потримай-ка моє пиво». І я повторюсь — це порівняння не має сенсу, бо ці курси відносяться до різних категорій. Або ж словами статті:

з таким самим результатом можна порівнювати ворону та письмовий стіл
... не може сказати шо таке ооп на інтерв’ю

Тут швидше проблема в людині, ніж в універі, чи курсах. Ви ж не думаєте, що викладачі приховують такий великий секрет як ООП?

На жаль, без додаткового контексту я не розумію, що ви бажаєте цим сказати.

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

Проблема початківців в тому що вони не знають з чого почати. Тому для них дуже важко вибрати самостійно набір хороших курсів, їх послідовність і стратегічний шлях навчання. Самоучок які все знайшли і засвоїли на 100% самостійно не так і багато через те.

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

Я б сказав, що проблема початківців у тому, що вони не знають «чи потрібно їм оте IT».
За останні десятиріччя IT-сфера набула не аби яку популярність, не без допомоги — залучились по-трошки усі — і не безпідставно. І сюди йдуть люди, які мають дуже розпливчасте уявлене про сферу загалом. Як результат — доволі слабка мотивація, бо тільки на «там платять в долларах» (що також не повністю правда) далеко не поїдеш. Ані ментор, ані курси цього не виправлять.

А почати можна з roadmap.sh. Але я погоджусь, що хоча б на перший час потрібен досвідчений ментор, що буде контролювати та спрямовувати процес.

PS: я якось починав писати покроковий гайд для початківців, хто зна — може колись я завершу цю працю і хоч трохи полегшу їм життя.

на роботі тому і платять гроші бо інакше би її не робили.

напевно є багато історій аля фізик теоретик хотів заробити грошей і успішно робить порносайти.одне одному не мішає.

Підписатись на коментарі