цікаво

Найкращі способи навчити себе кодексу

Фото: Крістофер Говер (Unsplash)

Якщо ви хочете навчитися кодувати, то перші ваші кроки до цього величезного Всесвіту можуть здатися важким, якщо не залякаючим завданням. Ось великий секрет: Є безліч безкоштовних (і недорогих) ресурсів, які ви можете використати, щоб надати собі всю необхідну допомогу, навчити себе нових методик і зробити цей навчальний процес цікавим і захоплюючим - настільки захоплюючим, як кодування може отримати, принаймні .

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

Запитайте себе: Чому ви хочете навчитися кодувати?

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

Ваша відповідь може допомогти визначити, якою (якою) мовою програмування ви повинні оволодіти, а також якою прихильністю (у часі та грошах) може знадобитися ваша мета. Наприклад, якщо ваша мрія створити наступну чудову операційну систему або вбивцю альтернативу PhotoShop, ви отримаєте користь від формальної освіти з інформатики, яка навчає вас C ++, а також більш складних тем, таких як структура даних, алгоритми та розподіл пам'яті.

З іншого боку, якщо ви професіонал середньої кар’єри, який прагне переходу на технологічну кар'єру, короткостроковий завантажувальний станок може мати більше сенсу, ніж зайняття боргу на другу ступінь. Якщо все, що ви хочете зробити, це створити веб-сайти або підштовхнути ваш Raspberry Pi до своїх меж, можливо, вам достатньо поєднання інтерактивних навчальних посібників та безкоштовних онлайн-курсів.

Виберіть правильну мову програмування

Визначивши, чому ви хочете кодувати, ви зможете легше визначити, до якої мови програмування слід скористатися. Хоча не існує єдиної «найкращої» мови програмування, яку слід вивчити, деякі мови більш зручні для користувачів, ніж інші. HTML і CSS вважаються найпростішими точками входу у світ кодування, але вони дуже корисні лише для розробки основних веб-сайтів.

Для більш інтерактивних веб-сайтів, що включають платіжні системи або бази даних, вам потрібно знати Javascript, PHP, SQL і Python, щоб всі компоненти співали. Виробники мобільних додатків використовують Swift або C для створення додатків для iOS, а Java або Kotlin для додатків Android. Розробники відеоігор звернуться до Unity або навіть C #, щоб реалізувати свої ігрові ідеї.

Ви все ще не можете визначитися з початковою мовою програмування? Більшість професіоналів рекомендують вивчити Python, C # або JavaScript, оскільки вони пропонують найбільшу корисність та гнучкість у кар’єрі. Щоб вирішити проблему, перегляньте цю чудову інфографіку, яка порівнює кілька популярних мов програмування.

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

Спробуйте кілька онлайн-курсів

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

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

Хочете більше тренінгу та підготовки до кар'єри, не займаючись повним завантаженням? Спробуйте записатись на курси сертифікації моделей підписки з Udacity або Treehouse, де у вас є можливість звернутися до репетитора про допомогу, а не потерпіти від ваших помилок кодування або питань. Ви не можете зробити набагато краще, ніж 19 кодуючих класів кодування від Udemy (ще менше, коли є розпродаж) - на ці заняття підписуються навіть штатні завантажувачі та студенти з інформатики, щоб доповнити своє навчання.

Незалежно від того, скільки курсів ви закінчили, багатьом новачкам все ще важко застосувати свої відносно базові знання. З цією метою багато хто рекомендує безкоштовний практичний JavaScript-курс від Watch and Code, який обертається навколо одного проекту, який ви постійно повторюєте.

Зосередьтеся на навчанні обчислювальному мисленню

Замість гіперфокусування на вивченні конкретної мови програмування ви також можете навчитися таким чином, що комп'ютер зрозуміє. Іншими словами, вдосконалюйте свої навички в таких поняттях, як розпізнавання візерунків, алгоритми та абстракції. Також є лінгво, як петлі, які обов'язково з’являться на будь-якій мові, яку ви використовуєте. Чим краще ви розумієте ці принципи, тим легше буде вивчити наступну мову (і в результаті спроектувати кращі продукти чи проекти).

Завдяки Інтернету вам не потрібно вступати на чотирирічну програму коледжу, щоб засвоїти основи інформатики; ряд занять на рівні коледжу доступні в Інтернеті безкоштовно (або номінальна плата).

Я не можу достатньо порекомендувати Harvard CS50x Вступ до інформатики. Ви можете пройти аудит курсу безкоштовно через edX та отримати сертифікат, виконавши всі завдання, або ви можете піти у власному темпі та переглянути всі лекції, розміщені на Youtube. Ви можете створити власну програму з інформатики на рівні коледжів за допомогою цього вибору з п’ятнадцяти онлайн-курсів (багато з яких також перелічені в нашій серії Goldavelez.com U).

Отримайте книгу

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

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

Як програміст-самоук, ви також можете скористатися книгами, які пропонують більш широкі поради щодо професії. Ви вдосконалите своє мислення та звички, риси, які можна застосувати до будь-якої мови, яку ви вирішите вивчити. Код на 900 сторінок Стіва МакКоннелла: Практичний посібник з побудови програмного забезпечення (2-е видання) вважається остаточним посібником з передового досвіду, що містить підкріплені даними поради щодо всього дизайну проекту до налагодження коду.

Дослідженням цього бегемоту є «Чистий код»: Довідник з гнучкої майстерності програмного забезпечення «дядька Боба» Роберта Мартіна. Мартін вважає, що код повинен бути ефективно написаний для легкого тестування та масштабування, що робить його обов'язковим для читання для багатьох сучасних команд розробників.

Оскільки програмування насправді стосується вирішення проблем, ви оціните роздум і рішення «назад у конверт», якими ділиться Джон Бентлі в програмуванні Pearls (2-е видання). Кожна глава закінчується рядом завдань, які часто використовуються на співбесіді з технічної роботи, тому зробіть цю книгу частиною вашої роботи.

Перегляньте кілька інтерактивних навчальних посібників чи ігор для кодування

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

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

Ігри про кодування - це також цікавий спосіб змочити ноги в програмуванні. Якщо у вас є година на вбивство, ви можете спробувати прості ігри Hour of Code. Крім того, багато шкіл вже використовують Minecraft: Educational Edition, щоб навчити дітей основам програмування за допомогою блоків кодування та навіть JavaScript. (Ви можете завантажити цю версію Minecraft безкоштовно, якщо у вас є обліковий запис Office 365.)

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

Спробуйте дитячу іграшку

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

Якщо ви хочете краще зрозуміти взаємозв'язок між апаратним та програмним забезпеченням, то вам сподобається Piper Computer Kit 2, в якому ви створюєте комп'ютер Raspberry Pi, що працює на комп'ютері. Використовуючи цей самостійний ноутбук, ви можете навчитися кодувати через свої спеціальні завдання Minecraft Story Mode, використовувати перетягування Blockly мови для вивчення фізичних обчислень або просто підібрати базовий Python із попередньо встановлених уроків.

Хоча напевно ви не зможете створити власний дроїд BB-8, ви можете навчитися кодувати його за допомогою BOLT Sphero. Використовуючи додаток-супровід, ви можете керувати вашим дроїдним кулькою за допомогою перетягувальних блоків кодування під назвою "Скретч" або рівнями до JavaScript, щоб запрограмувати більш досконалі кроки.

Навчіть улюблені пристрої (та помічників) нових хитрощів

У вас є спритний пристрій, як Amazon Echo? Ви можете випробувати свої навички кодування на тест, створивши індивідуальні міні-програми, щоб отримати більше функціональних можливостей цифрових помічників пристроїв. Alexa Amazon, можливо, вже знає багато основних "навичок голосових команд", як, наприклад, читання останніх заголовків новин, але ви можете навчити її складнішим завданням, кодуючи в Node.js, Java, Python, C # або Go. (Або, якщо ви хочете почати з чогось легшого, спробуйте простіший креслення сайту майстерності Alexa.)

Можливо, ваш інтерес до кодування обмежений - ви, можливо, захочете навчитися достатньо Python, щоб ваш Raspberry Pi, наприклад, робив круті проекти. Якщо це так, ви можете скористатися самостійним підходом до навчання, ознайомившись з багатьма проектами, якими інші діляться на його веб-сайті.

Відтворюючи існуючі проекти, ви дізнаєтесь більше про внутрішню роботу вашого високонастроюваного пристрою. Можливо, ви навіть надихнетесь створити нові способи використання свого міні-комп’ютера та заглибитись далі у світ коду. (Ви навіть можете записатись на платформу UC Irvine The Raspberry Pi Platform та програмування Python для класу Raspberry Pi Platform через Coursera, якщо ви хочете трохи допомогти. Початок роботи.)

Дивіться відео про кодування

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

Я рекомендую перевірити CS Dojo, TheNetNinja та канал Гарвардського CS50 YouTube. Якщо у вас немає часу на пошук ідеального кодування відео чи каналу, ви також можете ознайомитись з величезною бібліотекою відео LinkedIn Learning для перевірених та професійних навчальних посібників. У той час як плата за підписку на 30 доларів США на місяць не повинна чхати, ви можете переглядати необмежену кількість вмісту та тем, завдяки чому LinkedIn Learning вигідніше, ніж інші онлайн-класи за запитом, які мають набридливі обмеження.

Практика з особистими проектами

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

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

Святкуйте маленькі Перемоги

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

Потрібно набратися терпіння до себе; не сподівайтеся кодувати наступний лише через кілька місяців навчання або кілька завантажувальних камер. Кодування весільної RSVP-форми без помилок на веб-сайті або створення простої, але правильної гри з прогнозуванням чисел вже є значним досягненням для новачків. Якщо ви застрягли, не здайтеся. Вам слід абсолютно шукати допомоги скрізь, де ви можете її знайти, а також знати, коли зробити перерву, щоб уникнути вигорання. А потім спробуйте, спробуйте ще раз.

Google ваші повідомлення про помилки

Це найкраща порада з кодування: Якщо ви не можете зрозуміти, чому ваш код порушений, ви завжди можете шукати рішення в Інтернеті. Зрештою, ви не перша людина, яка помилилася, і хтось із Інтернету вже точно знайшов рішення вашої проблеми. Просто "скопіюйте та вставте" повідомлення про помилку в Google (або у вибрану пошукову систему), додайте пару лапок навколо всієї фрази, щоб ви не просто шукали ключові слова, а потім натискали "Enter". Сподіваємось, ця маленька хитрість призведе вас до правильної відповіді.

Якщо у вас все ще виникають проблеми, ви завжди можете розміщувати своє запитання на форумах розробників, таких як Stack Overflow, програмування Reddit subreddit або GitHub. Ніколи не боляче телефонувати другові або незнайомцю в Інтернеті.

Злому чужого коду

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

Отримати наставника (або навчити когось іншого)

Спільнота програмування повна людей, які готові допомогти наступному поколінню програмістів. GitHub, онлайн-сеанс для розробників, які використовують Git для керування своїми проектами кодування, розроблені для онлайн-співпраці. Не тільки розробники приймають та діляться своїми проектами з однолітками, вони також надають відгуки про коди та загальні поради для громади.

Можливо, ви зможете знайти корисних інструкторів в Інтернеті через GitHub або познайомитись з іншими розробниками-ветеранами на локальному заході Meetup Meetup або хакатоні. Отримавши певний досвід програмування, ви зможете відповісти на запитання інших людей або навіть навчити новачків, чого ви навчились - чудовий тест, щоб дізнатися, чи справді ви знаєте свої речі.

Відвідайте завантажувальний буфер

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

Якщо ви хочете зайнятися професіоналом та стати штатним розробником, вам може допомогти інтенсивний і персональний програмування кодування, особливо якщо ви найкраще навчаєтесь у структурованому середовищі з реальними людьми, щоб мотивувати вас. Однак такі типи завантажувальних камер часто є найдорожчими та трудомісткими для відвідування. Ви дивитесь на 15 000 доларів США лише за навчання, плюс витрати на життя протягом кількох місяців, поки не закінчите навчання.

На щастя, такі установи, як Школа Флатірон та Програма Грейс Хоппер, пропонують стипендії або відкладене навчання, щоб зробити ці завантажувальні камери доступнішими для груп з низьким рівнем представництва, таких як меншини та жінки в техніці. Перегляньте звіт про курси, щоб отримати повну інформацію про багато онлайн-та особистих завантажувальних камер - включаючи докладні огляди їхніх випускників, які допоможуть вам вирішити, чи буде завантажувальний кемп допомогти вам досягти ваших мрій програмування.