Дев’ять сервісів для навчання програмування
Останнім часом я став часто зустрічати в зарубіжних блогах думку, що всі повинні вміти програмувати. Чимось навіть нагадало знамените Ленінське «Кожна куховарка має навчитися керувати державою». Поки куховарки так само варять борщ, я вирішив розібратися в темі.
Прочитавши цю нотатку, ви навряд чи відразу перепишете своє резюме на розробника і кардинально зміните своє життя. Завдання стоїть інше: щоб ви зрозуміли, що немає нічого складного в тому, щоб написати макрос для Excel, скрипт для Photoshop, який обробляє за вас тонну фотографій, або дописати код CMS.
Я прошерстив тонну сервісів і вибрав дев'ять найвдаліших, які допоможуть вам освоїти ази програмування. Проекти розташовані в порядку від простих до складніших, і останні в списку підійдуть тим, хто хоче поглибити свої знання.
Пропоную всім розпочати саме із цього ресурсу. Він створений спеціально для новачків і орієнтований навчання школярів, хоча, звичайно, підійде користувачам різного віку і складів розуму. Серед партнерів сайту такі титани як Apple, Google, Facebook, Amazon. На першому занятті Марк Цукерберг розповідає, навіщо взагалі потрібно вчитися програмувати.
Особливо рекомендую пограти у тамтешню версію FlappyBird.
2. Codecombat
Барвиста гра з цікавим та захоплюючим сюжетом. Вам належить стати чарівником, який за допомогою js-коду змінює навколишній світ.
Спочатку все просто, ви пишете код і відразу бачите на екрані, як він буде виконуватися. Потім завдання стають винахідливішими, і вам доводиться думати все більше і навіть гуглити складні моменти.
Гра буде цікавою практично всім. У неї можуть грати і новачки дуже багато що пояснюється у внутрішніх туторіалах.
3. Bit's Quest
Ви повинні розібратися, що таке події, як використовувати функції, і може знадобитися застосувати замикання.
Але залишимо ненадовго гри — їх дуже багато, і всі вони схожі. Звернемося до шкіл програмування, які допоможуть отримати більш фундаментальні та системні знання.
4. Hello Processing
Туторіал добрий через два моменти: дуже харизматичний лектор, якого дуже цікаво слухати і навіть хочеться виконувати запропоновані завдання. Друге - матеріал подається легко, складні речі лектор пояснює дуже простими словами, що, мабуть, буде приємно для новачків.
5. Codecademy
Прекрасний сайт з гарним вибором можливостей для того, щоб навчитися програмувати для Інтернету. Наприклад, сервіс пропонує створити сторінку про себе, стверджуючи, що на це ви витратите лише півгодини. За цей час вам поступово пояснюється, як працювати з HTML, CSS та JS. Так на простому прикладі стає зрозумілим, як створюється сайт.
Вибір курсів задовільний: є досить грамотні курси з HTML, CSS, JS, jQuery. Якщо раптом ви замислюєтеся про серверну сторону справи, для вас є заняття з PHP, Ruby, Python. Чи завжди було цікаво, як працювати з API сервісів? У «Кодаакадемії» також цього навчають.
6. Codeschool
Сервіс створений програмістами для програмістів, як ми любимо — але він навряд чи підійде тим, хто поки що по той бік консолі. Напевно, це корисний ресурс для тих, хто вирішить стати професійним програмістом (але не робіть цього, прошу вас). Тут є все, що потрібно знати про сучасний веб, є навіть курси створення iOS-додатків. Більшість курсів не безкоштовні, але воно того варте.
Достойний представник онлайн навчання з України. Зізнаюся, жодного курсу я там не проходив, але, судячи з відгуківмоїх колег, сайт вартий уваги.
З представлених курсів варто звернути увагу на курс з математичної логіки, це допоможе розвинути мислення в потрібному напрямку.
І, звичайно, розробці на Android можна приділити час, якщо є плани, що далеко йдуть, на цю платформу.
8. Coursera
«Курсера», найімовірніше, не підійде людям, які хочуть програмувати професійно, оскільки матеріал розглядається докладно і глибоко, і потрібно серйозно підійти до питання навчання, щоб успішно пройти курс.
9. Ruby Warrior
Я залишив гру на десерт.
Сценарій гри: рубі-воїн має вбити всіх поганих і врятувати принцесу-блондинку (насправді ні). Керувати героєм потрібно за допомогою Ruby-коду.
Для проходження потрібно розбиратися в коді, але знань з Ruby буде досить базових.
Вас не навчатимуть програмувати, зате змусять вирішувати логічні завдання, причому іноді до рішень я доходив дуже довго, проходження восьмого рівня у мене зайняло два дні.
Ця гра мені здалася найскладнішою і найцікавішою. Я не полінувався і пройшов її всю, усі дев'ять рівнів. І не пошкодував про витрачений час.
Я далекий від думки, що хтось після прочитання статті все кине і піде лагодити велосипед займеться програмуванням, запиляє свій проект і заощадить на зарплаті розробників. Не покине і не заощадить — зате розширить світогляд.
У сучасних реаліях це теж так чи інакше конвертується в гроші.
Автор: Віктор Бабичев, директор з розвитку бізнесу в агенції «Соціальні Мережі»