→ Основы программирования для начинающих читать онлайн. Как начать обучение программированию, если ты полный ноль. Современный учебник Javascript

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

Почему сразу "идей нет"? Если я о чём-то уверенно говорю - значит, я достаточно об этом подумал, чтобы быть уверенным.

    В текущей ситуации быстрее и дешевле будет написать на HTML+JavaScript (щедро смазав дополнительными костылями). Причина заключается в том, что на данный момент не существует движущей силы, "точки притяжения", которая могла бы способствовать появлению достойной альтернативы HTML. Поэтому все мучаются с HTML. Именно мучаются. Это вам подтвердит любой честный веб-разработчик.

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

Если бы вместо HTML мы имели возможность динамически загружать и компилировать WPF с динамическим подключением библиотек на C# в качестве клиентской логики - эта технология превосходила бы HTML как минимум в 10 раз по скорости работы и как минимум в 10 раз по скорости разработки.

И Apple, и Google (и множество других более мелких компаний), конечно, сделают всё возможное, чтобы эта технология была несовместима с их устройствами (при том что каждый из них старается проталкивать свои технологии), не имела широкого распространения, не поддерживалась браузерами.

Вторая технология - это Flash. Технически, он, с одной стороны, слабее, чем.NET. С другой стороны, он выбрал очень актуальные сильные стороны: очень простой, вместе с тем удобный/современный, удобен для аниматоров, сумел пролезть на 99% компьютеров. В истории Флэша были моменты, когда на нём действительно можно было делать хорошие сайты. И я говорю не о тех сайтах, где куча визуальных рюшечек затмевала любой функционал. Я говорю о платформе Flex и его аналоге WPF под названием MXML. По настоящему кроссплатформенный, почти строгая типизация (массивы не были типизированными и это плохо), разработан специально для интернета с учётом его особенностей (например, возможность динамической подгрузки приложения прямо во время его работы), разработан вокруг паттерна MVVM (разновидность MVC), разделение логики и интерфейса с динамическим поздним связыванием, которое выполняется одной строкой.

Очень медленный (основная проблема Флэша), но зато очень функциональный. Тормознутость можно было бы решить оптимизацией Flash-машины (Flash-плеера). Флэш был не очень далеко от того, чтобы стать HTML-ом 21-го века. При всех его недостатках, основа у него была хорошей, а все проблемы - исправимыми.

И что произошло дальше? Apple начал целенаправленно выдворять Flash со своих устройств и одновременно рекламировать "быстрый и эффективный HTML5", который изменит мир (что на тот момент являлось откровенным враньём, потому что тогда HTML5 был очень молод и по факту работать не мог). При том, что Flash по всем пунктам был минимум вдвое лучше, чем HTML5. И даже до сих пор Flash умеет делать многие вещи, которые недоступны в HTML (например, многопоточное программирование - слабо на JavaScript? поддержка игровых контроллеров прямо из коробки? поддержка микрофона и веб-камеры со встроенным алгоритмом эхоподавления? программируемая аппаратно-ускоренная низкоуровневая графика? (WebGL пока ещё в зачаточном состоянии)? поддержка сетевых протоколов с постоянным подключением (TCP, UDP, P2P)). Но ведь тут дело принципа. Нельзя было допустить, чтобы Flash стал действительно всеобщей средой. Сейчас Flash почти полностью умер. На мой взгляд, незаслуженно. Я бы, например, предпочёл, чтобы вместо него умерли HTML, CSS и JavaScript. Но придётся и дальше с ними мучаться.

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

Захар День

куратор профиля «Дизайн и программирование»
Школы дизайна НИУ Высшей школы экономики

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

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

Что касается бытового уровня, то в повседневной работе иногда нужно вытащить какую-нибудь картинку или обойти криво написанный код, который не даёт вам на сайте что-то сделать. История из жизни. Мы периодически заказываем еду домой на сайте одной сети ресторанов. После логина через Facebook поле для ввода телефона на сайте заблокировано, а без телефона нельзя заказать еду. Достаточно удалить в коде сайта слово disabled, чтобы не остаться голодным.

В веб-разработке порог входа значительно ниже, чем в мобильной. Чтобы разрабатывать под браузер, необходимо изучить язык гипертекстовой разметки HTML, каскадные таблицы стилей CSS и единственный язык программирования под браузер - JavaScript (не путать с Java).

Последние несколько лет активно развивается JavaScript. С его помощью можно писать практически под всё, а если под что-то нельзя, то в ближайшем будущем, скорее всего, будет можно. В любом случае без JavaScript ничего дельного в браузере сделать нельзя, потому что это единственный язык программирования, который понимает браузер. Но в данный момент в экосистеме JavaScript всё весьма непросто для новичков, к тому же сам язык не очень выразительный. Зато очень развита и удобна для начинающего разработчика экосистема языка Ruby, хоть он постепенно и теряет свою популярность. Более того, важен не только язык, а фреймворк (большой инструмент, состоящий из обширного количества библиотек) на этом языке - Ruby on Rails. С его помощью можно за пару часов сделать многопользовательский веб-сервис. Это моя личная рекомендация для старта.

Если говорить про изучение языков, то самая распространённая ошибка связана с несоблюдением синтаксиса. Одна пропущенная кавычка, скобка, запятая делают ваш код нерабочим. Кроме того, опасно брать новые задачи в работу, не выполнив предыдущие или не сменив приоритеты. Не стоит думать, что язык и инструмент, с которым вы работаете, сможет решить все задачи. Другая частая ошибка: код принято украшать отступами, таким образом создавая структуру. Лучше с самого начала научиться структурировать свой код правильно.

Стоит уделять время изучению документации. У каждого языка, библиотеки и инструмента есть техническая документация, а иногда и спецификация. Зачастую - ещё и сообщество вокруг этого инструмента со своим чатом или любым другим сервисом для общения.

Обязательно нужно уметь гуглить. Можно найти ответ практически на любой вопрос. Нужно быть усидчивым: некоторые вещи занимают большое количество времени и требуют серьёзной мозговой активности и концентрации.

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

Егор Яковишен

Senior Frontend Developer в Look At Media

Причин, почему стоит начать программировать, несколько. Это активно растущий рынок труда. Я неоднократно видел цифру в миллион человек - таков будет недостаток людей в этой сфере к 2020 году. Есть такая книга, своего рода манифест, «Программируй или будь запрограммирован ». Суть её сводится к тому, что либо ты сам начинаешь разбираться в технологиях, либо технологии начинают формировать твою жизнь. Продукты, которыми мы пользуемся, пронизаны алгоритмами, которые не все понимают. Соответственно, если хочется хоть как-то разбираться, что к чему, было бы неплохо понимать основы.

Абсолютно точно можно научиться кодингу прямо из дома. Есть множество сайтов для онлайн-обучения. Я сам время от времени прохожу какие-то курсы, мне очень нравится. Они интерактивные, понятные, ты сразу начинаешь что-то писать. К тому же сейчас стало появляться всё больше коротких интенсивов, где можно за пару занятий освоить базу. Как правило, преподаватели на них учат тому, с чем сами имеют дело, и на практике знают, что работает, а что - нет. Книги - это хорошо, но очень часто веб-технологии развиваются с такой скоростью, что информация в книге может быстро устареть. Читать что-то, что вышло больше двух лет назад, смысла нет.

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

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

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

Я бы точно порекомендовал ходить на митапы - когда программисты собираются и по очереди выступают с какими-то докладами. Это мотивирует, там всегда приятная атмосфера, можно подойти к любому человеку и задать вопросы по теме. Из самых известных - регулярные встречи разработчиков JavaScript MoscowJS Meetup , «Я.Субботник» и Moscow Tech Meetup.

Где учиться в Москве

Moscow Coding School

Большинство курсов в MCS разработаны в основном для тех, кто с кодом знаком понаслышке. Обучение интенсивное, длится обычно четыре-шесть дней по выходным. За это время слушатели узнают основы и в конце могут создать более-менее рабочий проект. В качестве преподавателей выступают ведущие разработчики из стартапов и медиа: Hello Computer, Hyperboloid, SoundCloud, Look At Media и Meduza. Помимо HTML/СSS и инструментов веб-разработки, можно научиться основам создания мобильных приложений. Занятия проходят в красивом пространстве DI Telegraph на Тверской, а команда собирается в основном из представителей креативных индустрий.

Центр компьютерного обучения «Специалист»

«Специалист» действует при МГТУ имени Баумана. Сайт выглядит слишком сложно, поэтому с ходу найти нужный курс, возможно, не получится. Зато учат здесь многому, а курсы поделены на разные уровни подготовки. Погружаться в мир кодинга с нуля рекомендуется на курсе «Основы программирования и баз данных». Выпускники получают свидетельство об окончании курса, а если после захочется сменить профессию, у центра есть своя служба персонала, помогающая выпускникам устраиваться на работу. Главный плюс - множество точек обучения по Москве, и в каждой нужный курс начинается в разные даты.

Где учиться онлайн

Codecademy

Самый популярный и абсолютно бесплатный сервис в области обучения программированию с нуля. Обучение проходит в форме коротких упражнений с простыми заданиями и инструкциями. Учиться здесь стоит базовым принципам работы с JavaScript, HTML и CSS, а для более глубокого погружения - идти на другие сайты.

Programming and the Web for Beginners

Проверенная временем Coursera сотрудничает с известными учебными заведениями, поэтому внушает особое доверие. Курсы более подробные, к тому же, в отличие от Codeacademy, заниматься придётся как в школе: есть хоть и удалённый, но учитель и определённый темп, который не позволит расслабляться. Интересный вводный курс Гарвардского университета есть ещё на edX .

HTML Academy

Полезный русскоязычный ресурс с 37 разделами, посвящёнными разным аспектам работы с вёрсткой: от занятия по структуре HTML-документа до курсов о новых возможностях HTML5 и CSS3. Для тех, кто хочет стать профессионалом, есть два онлайн-интенсива (базовый и продвинутый).

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

Варианты изучения

С чего начать обучение программированию с нуля?Существует несколько способов освоения нового материала в данной области. Частные преподаватели подскажут, как начать изучать программирование с нуля, и обучат вас важным аспектам построения программного кода. Однако данный метод достаточно затратный, поэтому в основном используют такие способы обучения:

  1. Специализированные курсы. Их стоимость намного меньше, чем уроки персонального репетитора. Стоит заметить, что множество работодателей положительно реагируют на наличие разнообразных сертификатов о завершении обучения в компьютерных академиях. Обратите внимание на курсы всемирно популярных компаний «Майкрософт» и «Циско».
  2. Удаленные бесплатные курсы. В интернете очень большое количество сервисов, с помощью которых вы сможете просмотреть курсы лекций Оксфорда, Гарварда и других именитых учебных заведений мира. Также существуют специальные платформы для тренировки практических навыков программирования. Более подробно об удаленном обучении и полезных интернет-сервисах читайте далее в статье.
  3. Самообучение. С чего начать изучение программирования с нуля, если вы не планируете записываться на курсы и тратить деньги? В таком случае проще всего заняться самообразованием. Начать изучение следует с прочтения основ, не углубляйтесь в теорию, сразу приступайте к практике, ведь только в процессе создания программы вы будете приобретать необходимые навыки.

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

Как выбрать подходящее направление?

Напрямую зависит от типа ПО, которые вы будете создавать в будущем:


Если наиболее важную роль для вас играет размер заработной платы, обратите свое внимание на рынок вакансий. Сейчас самыми востребованными считаются разработчики, которые специализируются на языках Java, C#, ASP.NET, C++.

Языки низкого и высокого уровней. Разница и области применения

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

Высокоуровневые языки намного легче в применении, ведь они используют встроенные библиотеки для упрощения и визуализации кода. Большинство современного ПО пишется с помощью языков высокого уровня.

Программирование с нуля: с чего начать приложений?

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

  1. Google Play. Магазин приложений для пользователей операционной системы "Андроид". Данная ОС имеет наибольшую долю пользователей на рынке. Для разработки приложений и игр используются языки java и C/C++. Наибольшей популярностью пользуются приложения-мессенджеры, клиенты социальных сетей, облачные хранилища, игры.
  2. Windows Mobile Store. Данный магазин стремительно набирает популярность вместе со смартфонами от компании «Майкрософт». В странах СНГ большинство пользователей предпочитают планшеты на платформе Windows Phone. Программирование приложений для такого магазина помогает заработать больше денег на монетизации, ведь, в отличие от "Андроида", практически все программы в магазине Windows распространяются на платной основе.
  3. App Store. Еще одна выгодная площадка для разработки (язык - Objective-C). Процесс создания программ для устройств компании Apple требует предустановленной среды разработки под названием Xcode. Следующим шагом нужно изучить Objective-C программирование с нуля. С чего начать написание кода, подскажет книга Дэвида Марка «Изучение С для Mac. Издание второе».

Язык Java

Большинство профессиональных разработчиков рекомендуют начинать познание программирования с языка Java. Он является простым в изучении и в то же время востребованным на рынке. Воспользуйтесь нижеприведёнными советами, если вы решили изучать программирование с нуля. С чего начать Java-разработку?

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

Программирование с нуля. С чего начать Java- и Web-кодинг?

Язык Java широко используется в веб-разработке. Прежде чем начать полноценный процесс программирования, следует изучить Java, PHP, MySQL, HTML, CSS. Более подробная расшифровка этих понятий приведена ниже:

  1. Java - используется в написании утилит для сайтов и прописания логики функционала веб-страниц.
  2. PHP - язык для создания персональных страниц сайтов. Имеет скриптовую структуру. Лидирующий язык в создании популярных сегодня динамических веб-сайтов. PHP нужен, чтобы понять скрипты и программирование с нуля. С чего начать? C прочтения книги Джоша Локхата «PHP: Правильный путь».
  3. MySQL - система для руководства азами данных. Широко применяется в создании веб-сайтов, которые требуют хранения больших объемов сгруппированных данных.
  4. HTML - не является языком программирования. Это язык разметки, использующийся для написания базы веб-страницы (построения блоков, распределение текста и абзацев и так далее).
  5. CSS - каскадная таблица стилей. Используется только совместно с HTML для придания языку разметки стиля и внешнего вида.

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

Web-программирование. Актуальность и особенности

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

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

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

Создание приложений под операционную систему Windows

Для разработки таких программ вам понадобятся познания языка C#. Бесплатный сервис от компании «Майкрософт» под названием Virtual Academy позволит вам выучить все особенности данного языка и попрактиковаться в написании простых приложений.

Согласно новой политике «Майкрософта», все приложения выкладываются в магазин ПО, таким образом можно получить доступ к монетизации своего проекта.

Семейство языков С (С, С++, С#). Особенности

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

Языки С, С++, С# имеют одну общую черту - наличие функции ООП (объектно-ориентированного программирования). Такая технология позволяет значительно упростить процесс написания программного кода. Каждый программный объект описывается в определенном классе и имеет свои параметры, методы и свойства. Таким образом, программист может не прописывать каждый раз огромные куски кода, если один и тот же объект нужно использовать несколько раз.

Полезные интернет-сервисы для изучения основных принципов программирования и структуры кода любого приложения

На первом этапе обучения практически любой веб-сервис предложит вам попробовать свои возможности, используя «Паскаль» - наиболее простой из языков высокого уровня. Он используется в обучающих целях, его преподают в школах и техникумах, дабы студенты смогли понять программирование с нуля. С чего начать «Паскаль»-кодинг? Прежде всего, нужно скачать на ваш ПК среду разработки. Это небольшой исполняемый файл, в котором и предстоит писать программный код. Используйте TurboPascal, ведь это наиболее популярная среда изучения данного языка программирования.

HourOfCode - веб-сервис от компании «Майкрософт». Он предназначен для того, чтобы наглядно показать ученикам, что такое цикл, переменная, класс, условия. Процесс обучения похож на игру.

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

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

Получение начального опыта. Фриланс

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

Итог

Программирование с нуля: с чего начать? Для чайников профессора всемирно известных университетов советуют поупражняться с базовыми структурами, которые составляют основу любого языка программирования. Запишитесь на специализированные курсы или займитесь самообучением, прослушивая лекции в режиме онлайн.

Самый популярный сервис в области обучения программированию с нуля, получивший несколько значительных раундов финансирования. Известен тем, что абсолютно бесплатен и создан специально для тех, кто ничего в программировании не понимает. Учит базовым принципам работы с JavaScript, HTML and CSS, Python и Ruby. Обучение проходит в форме коротких упражнений с простыми заданиями и инструкциями. Пользователь пишет код и сразу видит результат своих действий.

Для дополнительной мотивации в Codecademy придумали систему поощрительных бейджей за выполненное задание, прохождение раздела или сдачу тестов. Сервис внимательно следит за успеваемостью и последовательно выстраивает курс обучения, подсказывая, какие темы нужно дальше изучить. Также любой желающий может сделать собственный курс или написать несколько упражнений для остальных пользователей. Самый популярный курс называется Code Year - пройдя его, можно научиться делать сайты или игры.

Если Codecademy исповедует минималистичный подход к обучению, то в Code School любят фантазировать и экспериментировать. Самое интересное у них - не базовые уроки по Ruby, JavaScript, HTML/CSS и iOS, а курсы-продолжения, такие как Rails for Zombies . Кредо компании - Learn by Doing («Обучайся, действуя»). Вместо скучных абстрактных заданий они предлагают пользователям программировать то, что им интересно, например игры про зомби.

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

Treehouse делают акцент на обучающем видео. Даже если вы не готовы к полноценному курсу по созданию сайта, приложения для iPhone или Android, а просто хотите получить базовые знания о том, что такое интернет и как он работает, стоит подписаться на их канал на YouTube. Тех, кто решит начать изучать Ruby on Rails, PHP и другие языки программирования, на сайте ждёт более 1 000 видеоуроков. Они собраны в курсы, посвящённые веб-дизайну, программированию, технологическому предпринимательству и многому другому.

Видео постоянно обновляются, так что курсы морально не устаревают. После каждого видео даются практические задания, интерактивные квизы. В конце каждого курса у вас будет готов небольшой проект. После этого сервис подскажет, что стоит изучить дальше. На сайте есть хороший пользовательский форум, можно получить фидбэк от экспертов, поучаствовать в мастер-классах. Единственный недостаток - обучение стоит денег, от $250 до $490 в год. У Treehouse есть отличный бесплатный дочерний проект для тех, кто уже чему-то научился, - Code Racer . Там нужно кодить на скорость, соревнуясь с противником. В процессе ему можно всячески мешать: например, забрасывать его экран фотографиями кошек.

Если обучение в одиночку вам не подходит, можно пройти онлайн-курсы с другими начинающими на Coursera, Udacity и других профильных сайтах, о которых мы уже . Плюс таких курсов в том, что у вас есть хоть и удалённый, но учитель, и определённый темп обучения, который не позволяет расслабляться. Курс Introduction to Computer Science (на видео) очень популярен среди новичков. Udacity, созданный на базе Стэнфордского университа, хорош тем, что совершенно бесплатно предоставляет университетские курсы в адаптированной под удалённое обучение форме. Рядом с каждым курсом есть шкала сложности. Предполагается, что, пройдя курс с нулевой сложностью, вы будете готовы к прохождению остальных, где изучаются конкретные языки. На Coursera тоже немало курсов для начинающих программистов, например, этот , посвящённый Python, и этот ­- про создание креативных мобильных приложений.

Если подавить гордость и признать, что все вышеуказанные курсы всё равно слишком сложны, можно начать с тех, что созданы специально для детей. Например, приложение для iPad и iPhone Move the Turtle . Это игра, которая обучает программированию через небольшие задания, каждое из которых заставляет двигаться черепашку. Сервис Alice , созданный в Carnegie Mellon University, учит созданию движущихся 3D-героев, параллельно давая основы C++ и Java. Hackety Hack - приложение, обучающее азам Ruby. В отличие от предыдущих оно делает это не через картинки, а уже через конкретные языковые команды. Но, конечно, самое лучшее для детей - это роботы, запрограммированные выполнять простые команды, которые сначала нужно прописать в виде компьютерного кода. Один из таких - робот Sparki, собравший деньги на Kickstarter. Сделать предзаказ можно , и стоить он будет всего $100.

Фотография via Shutterstock

  • Технологии: HTML, CSS, JavaScript, Git, Node.js, React.js и другие.
  • Язык: английский.

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

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

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

2. Codecademy

  • Технологии: HTML, CSS, JavaScript, Angular.js, React.js, Python, Ruby и другие.
  • Стоимость: бесплатно или от 20$ в месяц за дополнительный контент.
  • Язык: английский.
  • Уровень сложности: лёгкий-средний уровни.

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

В Codecademy также есть комплексные платные программы, которые систематизируют и объединяют материалы разных курсов. К примеру, программа Build Websites from Scratch шаг за шагом обучает разработке простого сайта с нуля с использованием различных технологий.

3. Coursera

  • Технологии: HTML, CSS, JavaScript, Angular.js, Java, Python, Ruby, Swift и другие.
  • Стоимость: бесплатно или от 49$ в месяц за дополнительный контент.
  • Язык: английский, русский и другие.
  • Уровень сложности: все уровни.

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

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

4. edX

  • Технологии: HTML, CSS, JavaScript, Java, Python, Ruby и другие.
  • Стоимость: бесплатно или от 49$ в месяц за сертификат.
  • Язык: английский и другие.
  • Уровень сложности: все уровни.

На edX вы можете получить доступ к курсам от известных компаний и университетов. Среди них есть, к примеру, знаменитый вводный курс для начинающих программистов Introduction to Computer Science от Гарвардского университета. Образовательный контент представлен в основном видеолекциями и текстами. Некоторые курсы содержат тесты и другие интерактивные задания.

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

5. ИНТУИТ

  • Технологии: HTML, CSS, JavaScript, алгоритмы и базы данных, C#, Java, Python, Ruby, и другие.
  • Стоимость: бесплатно или от 500 рублей в месяц за услуги тьютора.
  • Язык: русский.
  • Уровень сложности: все уровни.

В каталоге образовательной платформы «ИНТУИТ» есть текстовые и видеокурсы от российских учебных заведений и международных IT-компаний. Контент площадки охватывает все основные сферы программирования от разработки сайтов до создания настольных программ. Самостоятельное обучение бесплатно, но есть платная услуга, в рамках которой пользователю помогает персональный тьютор.

6. Stepik

  • Технологии: JavaScript, C#, нейронные сети, C++ и другие.
  • Стоимость: полностью бесплатно.
  • Язык: русский, английский.
  • Уровень сложности: легкий-средний.

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

7. Современный учебник Javascript

  • Технологии: JavaScript и другие.
  • Стоимость: бесплатно или от 6 500 рублей за дополнительный курс.
  • Язык: русский.
  • Уровень сложности: все уровни.

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

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

 

 

Это интересно: