Обучение программированию с нуля – пошаговое руководство для начинающих. Десять шагов от чайника к программисту-профессионалу

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

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

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

1. Codecademy

Полностью бесплатные курсы Codecademy – это прекрасное место для старта простых уроков по 9-ти наиболее популярным web-языкам программирования. Это надежный сервис, где каждый желающий научиться кодить найдет для себя, что-то интересное, будь то базовые HTML и CSS или более продвинутые Python, Ruby и PHP. Как и в большинстве онлайн курсов, весь процесс обучения построен в игровой форме, с возможностью набора баллов за хорошие результаты и отображением рейтинга в наподобие соревновательной таблицы. Платформа предоставляет целый ряд интересных опций, включая возможность создания групп по изучению и сотрудничеству, а также шанс по организации своих собственных курсов для наиболее продвинутых студентов академии.

2. Treehouse


Это не бесплатный сайт, здесь за месяц обучения вам придется заплатить 25 долларов США. Однако если вы хотите как можно быстрей погрузиться в мир программирования, чтобы максимально быстро овладеть новыми навыками, 25 долларов – это не такая уж и большая цифра. Учебный процесс в Treehouse построен вокруг реальных задач и их решений, поэтому здесь вы найдете мало теории и много практики. На сайте представлено более 1000 обучающих видео-уроков, каждый из которых подготовлен в соответствии с хорошо структурированной обучающей философией его создателей. Каждый из уроков – это независимый проект, который вращается вокруг разработки сайтов и сервисов для продвижения ваших идей (социальные сети, интернет магазины и т.д.).

3. Free Code Camp


Этот сайт полностью посвящен изучению JavaScript. Процесс обучения проходит в интересной форме, при этом вы не только приобретаете новые навыки, но и приносите реальную пользу людям. База Free Code Camp насчитывает большое количество уроков и курсов, от простой web-разработки HTML-страниц до работы с современными фреймворками наподобие Node.js. Полный курс обучения включает 800 часов занятий, что довольно впечатляюще. После прохождения курсов Free Code Camp дает вам шанс попробовать свои знания на практике, помогая своими приобретенными навыками разрабатывать приложения на JavaScript для некоммерческих организаций (естественно на некоммерческой основе).

4. Crunchzilla


Курсы на Crunchzilla разделены по возрастным категориям, однако начинающий взрослый может не боясь стартовать с обучающей программы Code Monster. Не обращайте внимание на надпись «for preteens» (рус. «для детей 10-12 лет»), так как этот курс дает хороший набор базовых знаний в программировании. По завершению этого курса, настоятельно рекомендуем продолжить обучение уже в более продвинутых программах, таких как Code Maven и Game Maven, которые дадут более развернутое представление о кодинге, так как по ходу обучения вы будете разрабатывать софт на JavaScript. Задания выполняются пошагово, что очень легко и удобно, а главное – это дает возможность для маневра и эксперимента с собственным кодом.

5. Dash


Если вы ищите уроки, которые научат вас эксклюзивному программированию, Dash – это отличное место для старта. Занимаясь в онлайн классах созданных General Assembly, нью-йоркской фирмой позиционирующей себя главной кузницей новых старт-апов, вы пройдете весь путь карьеры web-разработчика. Сначала вы научитесь создавать персональные сайты, после чего на базе полученных знаний создадите полноценную платформу электронной коммерции (читай – интернет-магазин). Весь курс обучения построен на общении с виртуальным клиентом, который в каждом новом уроке будет давать вам новое задание, а после его выполнения комментировать полученный код. По завершению курса вы без каких-либо ограничений можете опубликовать свои сайты в Интернете.

6. CodeHS


Несмотря на то, что изначально программа обучения CodeHS разрабатывалась для школьников, она вполне может подойти и для взрослых, которые только начинают свой путь в программировании. Сайт CodeHS был создан в 2012 году двумя выпускниками-компьютерщиками Стэнфордского Университета, которые хотели создать платформу, подготавливающую будущих студентов к изучению программирования. Маскотом программы является песик Karel (название заимствовано у обучающего языка программирования), который проведет вас от базовых знаний до понимания программирования на JavaScript, HTML и Java.

7. Code Combat


Для некоторых людей сухой академический материал – непосильная ноша в изучении, им подавай что-нибудь более простое и легкое. Для таких новичков Code Combat – это великолепное решение. Все обучение по этой программе представлено в форме фантазийной игры, где каждый игрок вооружен некоторым набором инструментов JavaScript. Каждый уровень игры – это независимая загадка, разгадав которую вы откроете для себя новые возможности программирования и сразу же поэкспериментируете с ними. Если вам по душе максимально профессиональное обучение программированию, то, скорее всего, Code Combat не для вас. Однако, если вы не хотите с головой погружаться только в изучение, и желаете также получать удовольствие приобретая новые знания, обязательно загрузите игру и попробуйте свои силы. Помимо этого, эта платформа имеет русскую версию, что для незнающих английский язык, очень немаловажно.

8. Khan Academy


Один из мировых лидеров по дистанционному обучению, проект Khan Academy нельзя назвать полностью ориентированным на программирование, однако все его уроки профессионально разработаны и главное – бесплатны. Также для русскоязычных изучающих, немаловажным плюсом является наличие русской версии сайта. В Khan Academy большое внимание уделено JavaScript, мощному языку, который довольно широко применяется при web-разработке для придания простым HTML-страницам интерактивности. Уроки разбиты на две части: сначала вам показывается видео, где объясняются важные правила, после чего вы решаете поставленные задачи для закрепления просмотренного материала. По завершению уроков, вам будет необходимо выполнять «проекты», где применяя полученные знания вы будете создавать программы, а другие пользователи Khan Academy вместе с учителями сайта будут давать вашим работам оценку. Сервис имеет интуитивно понятный интерфейс, что очень важно на начальном этапе изучения.

9. Code School


Платя ежемесячно $29, вы получаете безлимитный доступ к урокам и упражнениям на Code School. В отличии от всех предыдущих сервисов, подходя к этим курсам изучающий должен уже обладать хотя бы базовыми знаниями программирования. Code School предлагает широкий спектр по изучению языков программирования, от базовых web-языков HTML/CSS до Ruby и даже Objective-C. Сервис Code School наиболее ценим за хорошее соотношение цены и качества, а также за интеграцию уроков, что делает весь процесс более связанным между собой, а не простым набором упражнений. Помимо этого, создателей хвалят за ясность изложения материала и персональный подход.

10. Udemy


Если сравнивать целую стоимость курса, то Udemy – это вероятно самый дорогой сервис из всех представленных в заметке. На сайте имеется множество разноплановых дистанционных курсов, которые вы сможете проходить исходя только из своего свободного времени и желания (нет никакой помесячной оплаты), большинство из которых бесплатны. Однако, такие курсы настолько коротки, что их скорей всего стоит называть уроками, плюс к этому в них изучающему постоянно предлагается приобрести дополнительные сервисы. Но вместе с этим, если вы обладаете базовыми знаниями кодинга, и хотите получить профессиональное обучение, вкладывание денег в Udemy – хорошая инвестиция. Udemy выглядит не столь привлекательно и красочно как другие курсы программирования – здесь вы не найдете игрового процесса в изучении, у вас не будет возможности обучаться вместе с другими студентами, а сами презентации очень стандарты и просты. Однако самые лучшие курсы Udemy имеют главное преимущество перед своими соперниками – в них есть все по изучаемому предмету. К примеру, на сайте осуществлена очень серьезная поддержка такого популярного игрового 3-D движка как Unity, по нему есть масса уроков и занятий, учащих не только создавать и запускать свои проекты в жизнь, но и делать это правильно. Оплата происходит отдельно за каждый курс, при этом в интернете, если поискать, всегда можно найти специальные купоны, которые значительно снизят стоимость курсов.

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

1. CS50 (Computer Science 50)

Один из лучших вводных курсов в мире по основам программирования от Гарвардского и Йельского университетов. Этот курс реально можно пройти бесплатно и он находится в открытом доступе.

Продолжительность: 12 недель.

Стоимость: все материалы абсолютно бесплатны, но оригинальный сертификат Гарвардского университета, полученный после завершения курса, обойдётся вам в 90$.

Чему обучают: C, HTML, JavaScript, PHP, SQL, CSS (охват всех 6 языков за один курс).

Уровень: для новичков.

Платформы:

  • edX - оригинальные лекции, практические задания, видеоматериалы, дополнительные материалы и онлайн-чат поддержка.
  • JavaRush - весь курс в русском переводе;
  • Prometheus - весь курс в украинском переводе и приятный бонус в виде получения бесплатного сертификата при поддержке инициативы Technology Nation.

2. Codecademy

Одна из самых известных и популярных образовательных компаний. По статистике 2014 года 24 миллиона пользователя выполнили свыше 100 миллионов заданий на этой платформе.

Продолжительность: зависит от языка, который планируется изучить.

Стоимость: абсолютно бесплатно.

Чему обучают: Python, JavaScript, PHP, Ruby, SQL, Java, Rails, jQuery, AngularJS, ReactJS, Git, HTML, CSS, APIs.

Уровень: для новичков.

Платформа: одна - codecademy и только на английском.

3. Code Avengers

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

Продолжительность: 1 курс в среднем длится 12-17 часов.

Стоимость:

  • первые 7 дней - бесплатно (5 уроков на каждый курс);
  • 1 месяц - 29$;
  • 6 месяцов - 120$.

Чему обучают: Python, HTML, JavaScript, CSS, Web Development, Design, Intro to coding, Computer Science, Game Development.

Уровень: для новичков и продвинутых.

Платформа: Code Avengers поддерживает 6 языков, включая русский.

4. Coursera

Это гигант в сфере онлайн-образования, на котором находятся более 2 000 курсов и 169 специализаций. Значительную часть платформы занимают ИТ-курсы на любой вкус и цвет, от начального до продвинутого уровней.

Продолжительность: от 6 до 10 недель.

Стоимость: бесплатно, но если вы хотите получить сертификат о прохождения курса необходимо заплатить от 30 до 100$, в зависимости от курса. Доступны как отдельные программы, так и «специализации», в рамках которых выбранная дисциплина изучается углубленно.

Чему обучают: от основ программирования до компьютерной науки.

Уровень: от начального до продвинутого.

Платформа: курсы на Coursera представлены на английском, русском и других языках, к тому же многие видео имеют с субтитры.

5. Code School

Это одна из самых продвинутых школ по программированию, на которое можно найти более 60 различных курсов от ИТ-профессионалов. Хорошее предложение для всех, кто уже освоил азы и хочет выйти на новый уровень.

Продолжительность:

Стоимость: в целом бесплатно, но за некоторые занятия придётся заплатить.

Чему обучают: CSS, CSS3, HTML5, Ruby, PHP, Python, Git, Javascript, Elixir, .Net, Database, Electives.

Уровень: для среднего и продвинутого.

Платформа: Code School работает только на английском языке.

6. FreeCodeCamp

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

Продолжительность: 2 тысячи часов для получения статуса специалиста широко профиля.

Стоимость: абсолютно бесплатно.

Чему обучают: CSS3, HTML5, Git& GitHub, Javascript, Database, Node.js, React.js, D3.js.

Уровень: для начинающих.

Платформа: FreeCodeCamp - только на английском языке.

7. Udacity

Частная образовательная онлайн-школа, которая была основана на базе программы по информатике в Стэндфордском университете. Всего 14 уникальных и познавательных курсов.

Продолжительность: зависит от сложности и структуры курса.

Стоимость: бесплатно, но некоторые занятия - платные.

Чему обучают: от нанотехнологий до разработки мобильных приложений.

Уровень: от начинающего до продвинутого.


Едва ли сегодня есть смысл писать о том, что программирование — это письменность 21 века, богатый набор возможностей для самореализации и комплекс эффективных упражнений для приведения ума в порядок. Об этом всем вы уже наверняка не раз читали или слышали. Особенно на фоне экономического кризиса, который в наших краях не ударил разве что по кошелькам разработчиков ПО и других ИТ-специалистов. Если вы хотите освоить программирование ради перечисленных благ, но не знаете, с чего начать, эта подборка вам поможет. Вошедшие в нее курсы преимущественно рассчитаны на новичков и не требуют от учащихся никаких специальных навыков и знаний. Хотя эти уроки не превратят вас в матерых профи, они дадут системное представление о программировании, обучат основам и сориентируют для дальнейшего развития.


Едва ли сегодня есть смысл писать о том, что программирование - это письменность 21 века, богатый набор возможностей для самореализации и комплекс эффективных упражнений для приведения ума в порядок. Об этом всем вы уже наверняка не раз читали или слышали. Особенно на фоне экономического кризиса, который в наших краях не ударил разве что по кошелькам разработчиков ПО и других ИТ-специалистов. Если вы хотите освоить программирование ради перечисленных благ, но не знаете, с чего начать, эта подборка вам поможет. Вошедшие в нее курсы преимущественно рассчитаны на новичков и не требуют от учащихся никаких специальных навыков и знаний. Хотя эти уроки не превратят вас в матерых профи, они дадут системное представление о программировании, обучат основам и сориентируют для дальнейшего развития.

Основы основ

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

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

Преподаватель курса Введение в архитектуру ЭВМ. Элементы операционных систем (ресурс: Stepic, доступ: с 8 ноября, длительность: 7 недель) обещает разъяснить, как функционирует компьютерная техника начиная с элементарных логических схем, заканчивая сложными мультипроцессорными системами.

Хорошим дополнением к предыдущему может стать курс История ЭВМ и программирования (ресурс: Лекториум, доступ: зима 2015/2016, длительность: 5 недель). От него стоит ждать хронологии развития компьютерных систем и программирования в СССР и России в сравнении с аналогичными тенденциями в США и Западной Европе. В программу занятий также включены ключевые принципы работы электронно-вычислительных машин и основные типы языков программирования.

Мини-курсы Основы программирования 1 (ресурс: Geek Brains, доступ: всегда открыт) и (ресурс: Geek Brains, доступ: с 5 ноября, длительность: 2 недели) раскрывают базовые термины и понятия, необходимые программисту, объясняют, чем отличаются популярные языки, и для чего предназначен каждый из них. Преподаватели рассказывают о популярных направлениях разработки, учат создавать простейшие программы и помогают определиться с выбором языка для дальнейшего изучения. Два курса одинаковые по содержанию, но отличаются форматом. Первый состоит из видеозаписей, второй - это несколько онлайн-трансляций, во время которых можно задавать вопросы лектору.

Еще один мини-курс, предназначенный для ознакомления с основами разработки ПО - Объектно-ориентированное программирование (ресурс: Geek Brains, доступ: всегда открыт). Материал полностью сфокусирован на одноименной парадигме программирования, знание которой необходимо для освоения практически любого современного языка.

Более углубленное погружение в предмет обеспечит курс Основы программирования (ресурс: Prometheus, доступ: с 19 января, длительность: 8 недель). Его автор учит азам разработки на примере конкретных задач с использованием языка Python.

Освоив базовые принципы программирования, вы сможете пройти курс Разработка и анализ алгоритмов (ресурс: Prometheus, доступ: с 26 января, длительность: 9 недель), чтобы лучше разобраться в подходах к анализу, сравнению и построению алгоритмов. Эти знания пригодятся в любом направлении разработки.

Веб-программирование

Вы давно мечтаете создать личный блог или реализовать свои идеи в новом веб-сервисе? А, может, хотите разрабатывать интернет-проекты под заказ? Тогда вам нужно освоить инструменты для построения и визуального оформления веб-страниц (HTML, CSS), языки веб-программирования (JavaScript, PHP, Python и т.д.) и разобраться со смежными технологиями вроде баз данных. Попробуйте что-нибудь из этих курсов:

  • Основы разработки сайтов и веб-приложений
  • Web-технологии
  • HTML, CSS (ресурс: HTML Academy, доступ: всегда открыт).
  • HTML5. Основы клиентской разработки (ресурс: ИНТУИТ, доступ: всегда открыт);
  • JavaScript и JQuery с нуля
  • Программирование на Python (ресурс: Stepic, доступ: всегда открыт);
  • Введение в программирование на Python (ресурс: ИНТУИТ, доступ: всегда открыт);
  • Введение в программирование на языке Python (ресурс: Microsoft Virtual Academy, доступ: всегда открыт);
  • Основы PHP (ресурс: Lendwings, доступ: всегда открыт);
  • PHP. Быстрый старт (ресурс: Geek Brains, доступ: всегда открыт);
  • Базы данных (ресурс: ИНТУИТ, доступ: всегда открыт).

Программирование под мобильные платформы

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

Устали от скучных книг и лекций? Мы сделали подборку ресурсов для обучения языкам программирования в интерактивной форме.

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

Hexlet

Hexlet - здесь собраны бесплатные курсы по C, PHP, JavaScript, Bash.

Главное отличие от других проектов (например, Codecademy или CodeSchool) в том, что здесь нет симуляторов: в каждом уроке пользователь работает с полноценной машиной, подключенной к сети. На сайте представлено 8 целиком бесплатных курсов.

HTML Academy

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

Codeacademy

Codeacademy - популярный ресурс для новичков, в 2014 году достигший отметки в 24 миллиона пользователей. Здесь собраны курсы по самым популярным языкам, инструментам и многому другому. Задания написаны максимально понятным языком, а если что-то не получается, можно воспользоваться подсказкой или поискать решение на форуме.

Codeschool

Codeschool - ещё одна популярная платформа для начинающих и тех, кто уже в процессе карьерного роста. Процесс обучения сводится к просмотру видеороликов и упражнений по ним. Здесь собраны более 60 курсов, в том числе по HTML/CSS, JavaScript, Ruby, Python, .NET, iOS, Git, аналитике данных, из которых 13 доступны бесплатно.

CheckIO

CheckIO - онлайн игра для обучения программированию на Python или JavaScript, построенная в формате приключения.

CodinGame

CodinGame - онлайн-платформа для программистов, где решение задачи сопровождается визуализацией в стиле видео-игр, а IDE поддерживает 23 языка программирования. Кроме того, крупные компании принимают в качестве примера код, написанный в CodinGame, при устройстве на работу.

Codecombat

Codecombat - одна из лучших игр для изучающих программированию. Она позволяет игрокам получить базовые знания нескольких языков программирования, например JavaScript или Python. Приятно ещё и то, что игра локализована, а значит доступна и тем, у кого проблемы с английским.

Code Hunt

Code Hunt - игра от Microsoft Research, которая учит искать ошибке в коде. Решив проблему, игрок получает очки и может двигаться дальше.

Писать можно на Java, C#, или на обоих языках.

CodeFights

CodeFights - ещё одна платформа для решения задач. Можно сражаться с ботами, друзьями и неизвестными игроками. Интересно то, что участвуя в турнирах, которые, кстати, проходят довольно часто, можно попасть на собеседование в известную IT компанию.

Ruby Warrior

Ruby Warrior - забавная игра для изучения Ruby и искусственного интеллекта. Нужно писать сценарии, чтобы ваш герой сражался с остальными и достигал целей.

The AI Games

The AI Games - развивайте навыки программирования в соревнованиях с другими игроками, пишите своих ботов, выигрывайте призы, но главное - получайте удовольствие от программирования.

Codewars

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

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