интересно

Лучшие способы научить себя кодировать

Фото: Кристофер Гауэр (Unsplash)

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

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

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

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

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

С другой стороны, если вы профессионал в середине карьеры, желающий перейти в техническую карьеру, краткосрочный буткемп-код может иметь больше смысла, чем влезать в долги на вторую ступень. Если все, что вы хотите, - это создавать веб-сайты или доводить свой Raspberry Pi до предела, вам может быть достаточно сочетать интерактивные учебные пособия и бесплатные онлайн-курсы.

Выберите правильный язык программирования

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

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

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

Прежде всего, просто начните учиться. Как только вы освоитесь с одним языком программирования, вы сможете выбрать следующий гораздо быстрее - например, выучить новый музыкальный инструмент или иностранный язык.

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

Если вам нужен больший контроль над расписанием обучения (или вы не хотите использовать его в одиночку), возможно, лучшим вариантом будет онлайн-курс кодирования, чем персональный буткемп. Тем не менее, существует много разных онлайн-классов, которые преподают одни и те же языки программирования, и может быть трудно понять, какой из них действительно стоит вашего времени и денег.

Если вы не против заниматься сольными играми, попробуйте The Odin Project, бесплатную опцию, которая объединяет лучший контент с открытым исходным кодом для превращения начинающего программиста в программиста.

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

Независимо от того, сколько курсов вы пройдете, многим начинающим по-прежнему сложно применить свои относительно базовые знания. С этой целью многие рекомендуют бесплатный курс практического JavaScript от Watch and Code, который вращается вокруг одного проекта, который вы постоянно повторяете.

Сосредоточиться на изучении вычислительного мышления

Вместо того, чтобы сосредоточиться на изучении определенного языка программирования, вы также можете научиться понимать его так, как понимает компьютер. Другими словами, улучшите свои навыки в таких понятиях, как распознавание образов, алгоритмы и абстракции. Есть также жаргон, как петли, которые обязательно появятся на любом языке, который вы используете. Чем лучше вы понимаете эти принципы, тем легче будет выучить следующий язык (и в результате разработать более качественные продукты или проекты).

Благодаря Интернету вам не нужно записываться на четырехлетнюю программу обучения в колледже, чтобы изучать основы информатики; несколько классов на уровне колледжа доступны онлайн бесплатно (или за символическую плату).

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

Получить книгу

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

Вероятно, вы можете найти электронную книгу для любого языка или фреймворка, которую вы пытаетесь выучить, на GitHub, но многие веб-разработчики клянутся красочными сериями Джона Дакетта обо всем, начиная с веб-разработки и заканчивая веб-разработкой.

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

Следствием этого чудовища является «Чистый код: руководство по гибкому программному обеспечению» от «Дяди Боба» Роберта Мартина. Мартин считает, что код должен быть эффективно написан для легкого тестирования и масштабируемости, что делает его обязательным для чтения многими современными командами разработчиков.

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

Ознакомьтесь с некоторыми интерактивными учебниками или играми по кодированию

Посмотрим правде в глаза: чтение строк кода на экране или в книге может выглядеть как бред. Когда вы видите пример в действии, эта абстрактная концепция внезапно обретает смысл. В этом вся прелесть интерактивных учебников по кодированию, которые вы можете найти в Интернете.

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

Игры в кодирование - также интересный способ погрузиться в программирование. Если у вас есть час, чтобы убить, вы можете попробовать простые игры «Час кода». Кроме того, многие школы уже используют 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. Используя приложение-компаньон, вы можете управлять своим шариком дроида, используя блоки кодирования с перетаскиванием, называемые Scratch, или повышать уровень до JavaScript, чтобы программировать более сложные движения.

Научите ваши любимые устройства (и помощники) новым трюкам

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

Вполне возможно, что ваш интерес к кодированию более ограничен - вы, возможно, просто захотите изучить достаточно Python, чтобы ваш Raspberry Pi, например, делал крутые проекты. Если это так, вы можете принять самостоятельный подход к обучению, ознакомившись со многими проектами, которыми другие делятся на своем веб-сайте.

Воссоздав существующие проекты, вы узнаете больше о внутренней работе вашего настраиваемого устройства. Вы можете даже вдохновиться на создание новых способов использования своего мини-компьютера и углубиться в мир кода. (Вы можете даже зарегистрироваться в UC Irvine's Raspberry Pi Platform и Python Programming для класса Raspberry Pi Platform через Coursera, если вам нужна небольшая помощь для начала работы.)

Смотреть видео о кодировании

Иногда просто наблюдать, как кто-то показывает вам, как это делается. В настоящее время вы можете найти все виды обучающих видеороликов практически по любой теме, связанной с кодированием: бывшие гуглеры обмениваются решениями по интервью кодов, YouTubers транслируют свои марафоны кодирования и даже программируют ветеранов, показывающих, как устранить конкретную ошибку на любом языке, который вы хотите.

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

Практика с личными проектами

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

Начните с малого, но мыслите масштабно. Ваш проект должен включать навыки, которыми вы в настоящее время обладаете в своем наборе инструментов, но у вас также должен быть план будущих функций и навыков, которые вам понадобятся, чтобы воплотить это видение в реальность. Не применяя свои навыки кодирования в нескольких проектах, вы бы даже не попали на профессиональные концерты по кодированию, поэтому начните планировать и практиковаться. (Наш совет? Используйте свои навыки кодирования, чтобы создать удивительную установку для игровой ночи.)

Празднуйте Маленькие Победы

Кодирование - все в деталях, поэтому вам нужно «праздновать маленькие победы», как выразился один из наших профессоров программирования. Требуется практика, чтобы каждый элемент работал самостоятельно, а также постоянное тестирование, чтобы гарантировать, что каждая строка кода будет работать со всеми остальными - без ошибок. Если вы не делаете, казалось бы, незначительные вещи, такие как закрытие тега HTML, вы застряли бы в отладке простой синтаксической ошибки, а не в написании более впечатляющего и сложного кода.

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

Google ваши сообщения об ошибках

Это наш лучший совет по кодированию: если вы не можете понять, почему ваш код не работает, вы всегда можете найти решения в Интернете. В конце концов, вы, вероятно, не первый, кто допустил ошибку, и кто-то в Интернете наверняка уже нашел решение вашей проблемы. Просто «скопируйте и вставьте» ваше сообщение об ошибке в Google (или в предпочитаемую вами поисковую систему), добавьте пару кавычек вокруг всей фразы, чтобы вы не просто искали ключевые слова, а затем нажмите «Ввод». Надеемся, этот маленький трюк приведет вас к правильному ответу.

Если у вас все еще есть проблемы, вы всегда можете опубликовать свой вопрос на форумах разработчиков, таких как Stack Overflow, программный субреддит Reddit или GitHub. Это никогда не повредит позвонить другу или интернет-незнакомец.

Взломать чужой код

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

Получить наставника (или научить кого-то еще)

Сообщество программистов полно людей, которые готовы помочь программистам следующего поколения. GitHub, онлайн-видеовстреча для разработчиков, использующих Git для управления своими проектами по написанию кода, предназначена для совместной работы в Интернете. Мало того, что разработчики размещают и делятся своими проектами со своими коллегами, они также обеспечивают обратную связь по коду и общие рекомендации для сообщества.

Вы можете найти полезных онлайн-наставников через GitHub или встретиться с другими опытными разработчиками на местном мероприятии или хакатоне по кодированию. Когда вы приобретете некоторый опыт в программировании, вы сможете ответить на вопросы других людей или даже научить новичков тому, что вы узнали, - отличный тест, чтобы узнать, действительно ли вы знаете свои вещи.

Присутствовать на коде bootcamp

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

Если вы хотите стать профессионалом и стать разработчиком, работающим полный рабочий день, вам может помочь интенсивный буткемп с личным кодированием, особенно если вы лучше учитесь в структурированной среде с реальными людьми, чтобы мотивировать вас. Тем не менее, эти типы буткемпов зачастую являются самыми дорогими и требуют много времени: вы рассчитываете на более чем 15 000 долларов только на обучение, плюс расходы на проживание в течение нескольких месяцев до окончания обучения.

К счастью, такие учреждения, как Flatiron School и The Grace Hopper Program, предлагают стипендии или отсроченное обучение, чтобы сделать эти учебные лагеря более доступными для недопредставленных групп, таких как меньшинства и женщины в сфере технологий. Ознакомьтесь с отчетом о курсе, чтобы получить подробную информацию о множестве онлайн и персональных буткемпов, включая подробные обзоры их выпускников, которые помогут вам решить, поможет ли буткемп реализовать ваши мечты о программировании.