Много лет назад, когда я впервые начал учиться программировать, я помню, как проводил большую часть своего времени в поисках бесплатных ресурсов в Интернете. У меня не было денег, и мне нужно было найти способ учиться в рамках бюджета. После успеха и получения моей первой должности инженера-программиста я написал руководство под названием Основные принципы обучения программированию за 1 год.

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

Давайте начнем…

Проект Один

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

Учебная программа разделена на 7 различных основных разделов:

  • Веб-разработка - 35 уроков
  • Программирование на Ruby - 22 урока
  • Базы данных - 3 урока
  • Ruby on Rails - 33 урока
  • HTML5 и CSS3 - 29 уроков
  • Javascript - 29 уроков
  • Прием на работу - 14 уроков

Как видите, в учебной программе основное внимание уделяется HTML, CSS, JavaScript и jQuery, программированию на Ruby и Ruby on Rails. Odin Project был одним из первых полностью бесплатных онлайн-курсов по современным веб-технологиям, и на протяжении многих лет в него добавлялись и обновлялись новые материалы.

Идея проекта Odin, цель которого - сделать программирование доступным для всех, - это то, от чего мы все можем отойти:

Odin Project - один из тех ресурсов, «что я хотел бы иметь, когда учился». Не у всех есть доступ к образованию в области информатики или средств для посещения интенсивной школы программирования, и ни то, ни другое в любом случае не подходит для всех. Этот проект призван восполнить пробел для людей, которые пытаются взломать его самостоятельно, но все же хотят получить качественное образование. - Сайт проекта Odin

У проекта Odin уже много лет многие люди следуют его учебной программе. У проектов есть активный форум и групповой чат Gitter, в котором на момент написания статьи насчитывалось 8000+ участников.

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

Ознакомьтесь с некоторыми из вдохновляющих историй успеха здесь.

FreeCodeCamp

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

Вот классное видео от Куинси Ларсона, создателя FreeCodeCamp, о том, почему он решил создать это удивительное сообщество.

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

Согласно их веб-сайту, пока:

Более 9000 отдыхающих получили свои первые рабочие места разработчиками.

Более 11 000 опытных разработчиков получили работу еще лучше.

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

Помимо этого, FreeCodeCamp имеет очень активное сообщество с открытым исходным кодом. После того, как вы поработали с некоммерческой парой, вы также можете начать вносить свой вклад в проекты с открытым исходным кодом других участников FreeCodeCamp и даже в сам проект FreeCodeCamp. Я бы порекомендовал просмотреть репозитории на их Github, чтобы посмотреть, не найдете ли вы что-нибудь интересное, в чем вы можете внести свой вклад.

Академия кода

Отличное место для начала. Code Academy дает вам простое введение в программирование. Это избавляет от необходимости настраивать собственную среду разработки.

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

Code Academy предлагает бесплатные курсы по HTML и CSS, Python, JavaScript, JavaSQL, Bash / Shell и Ruby.

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

GA Dash

Бесплатный курс программирования Генеральной Ассамблеи. Программа полностью основана на проекте. Ориентирован на HTML, CSS и Javascript. Курс состоит из 5 проектов, с помощью которых вы разблокируете набор из 82 навыков с помощью различных контрольных точек в каждом проекте.

Эти проекты очень просты и дают вам только вводную базу знаний, но представляют собой отличное простое введение в простые концепции интерфейсного программирования.

Здесь вы можете увидеть предоставленный интерфейс, несколько похожий на некоторые другие в среде песочницы браузера. Dash знакомит вас только с HTML, CSS и некоторым базовым Javascript, поэтому он будет служить только базовым курсом. Затем вам придется перейти к более углубленным курсам, чтобы больше погрузиться в программирование в реальном мире с использованием некоторого внутреннего языкового компонента.

Однако уникальность Dash заключается в том, что он основан исключительно на проекте.

Ранее в этом году мы создали Dash, интерактивную интерактивную программу обучения программированию в качестве инструмента адаптации для наших студентов, изучающих погружение в веб-разработку. В то время существовало много продуктов, но мы хотели что-то интерактивное и увлекательное в реальном, проектном формате, которое подготовило бы студентов, которые раньше не программировали, к погружению в них. Поэтому мы решили создать это сами. . - Брэд Харгривз, основатель General Assembly

Если вам нужно простое введение в программирование, в основном основанное на проектах, это хорошая альтернатива для изучения.

Ханская Академия

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

Этот план разделен на 8 разделов, в которых рассматриваются различные вводные аспекты компьютерного программирования.

  • Введение в JS: рисование и анимация - 105 разделов
  • Введение в HTML / CSS: создание веб-страниц - 71 раздел
  • Введение в SQL: запросы и управление данными - 38 разделов
  • Advanced JS: игры и визуализации - 31 раздел
  • Advanced JS: Natural Simulations - 74 раздела
  • HTML / JS: создание интерактивных веб-страниц - 52 раздела
  • HTML / JS: создание интерактивных веб-страниц с помощью jQuery - 49 разделов
  • Встречайте профессионала - 12 разделов

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

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

Если вы хотите начать с учебной программы, ориентированной на javascript-анимацию / визуализацию, чтобы начать свое путешествие, Khan Academy может вам подойти.

Заключение

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

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