Ресурсы для изучения программирования и веб-разработки

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

Ссылки на ресурсы, которыми я пользуюсь

Образовательные ресурсы, которыми я пользуюсь, можно условно разделить на MOOC (massive open online course), набор на которые идет 1-2 раза в год, и на обучающие сервисы, на которых можно начать заниматься в любой момент.

MOOC я в основном прохожу на этих сайтах:

  • EDx – курсы по разным предметам от ведущих университетов мира. Отдельно отмечу очень удобный интерфейс.
  • Coursera – курсы по предметам темам от ведущих университетов мира. В последнее время Coursera перешла на систему “специализаций”, когда человек проходит несколько по близким дисциплинам. Мне не очень нравится этот формат, и поэтому я почти не пользуюсь их сайтом в посленее время.
  • Udacity – курсы по программированию. В целом, довольно неплохо, если нужно быстро познакомиться с какой-то технологией. Однако мне не очень понравится интерфейс сайта, из личного кабинета не виден прогресс по каждому курсу, не удобно сделан поиск.

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

Отзывы о курсах, которые я прошла

Базовые знания о программировании

Курс Introduction to Computer Science, CS50 (EDx, Гарвард). Восхитительный базовый курс по Computer Science. Он дает понимание абстракций, алгоритмов, структур данных, учит алгоритмическому мышлению и другим концепциям, которые лежат в основе всех языков программирования. На мой взгляд, главное преимущество курса перед аналогичными в том, что основная часть видеолекций – это видеозаписи реальных лекций в Гарварде. Для общения с сокурсниками есть общий чат в Slack. Курс открыт для прохождения всегда.

Курсы по математике на Khan Academy. У меня не очень хорошо с математикой. Если честно, то у меня все плохо с математикой. И курсы на Khan Academy помогают с этим справиться. Иногда я удивляюсь, почему в школе нам не объясняли материал так, как на этом сайте.

Курсы по веб-разработке

Codecademy. Про Codecademy, наверное, знают все. Я проходила курсы по JavaScript, jQuery, PHP, Ruby, Ruby on Rails. Если нужно быстро познакомиться с основами новой технологии – то эти курсы очень полезны, и помогут быстро вникнуть в новый язык. Но как мне кажется, знания на выходе не очень глубокие, и после этих курсов обязательно нужно что-то еще.

Free Code Camp, – сервис для изучения Full-stack разработки на JavaScript. Прохожу сейчас. Формат обучения похож на Codecademy. Обучение построено по принципу самообразования от простого к сложному. Сначала дается основа (напрмер, функция JS, и простая задачка на нее), а затем дают задание, которое выходит за рамки изученного, и нужно решить его самостоятельно. Все начинается с HTML, CSS, Bootstrap (эту часть я пропустила), и продолжается заданиями по базовым функциям JS, задачами на алгоритмы, фронтэнд проектами. Планируется к запуску раздел про React. Для общения есть чат в Gitter.

HTML Academy. Если все остальные ресурсы и курсы, которые я описываю, бесплатные и на английском языке, то HTML Academy – платная (300 руб. в месяц) и на русском. Есть и бесплатная базовая часть, но я ее не проходила. Курс дает хорошее понимание работы HTML5 и CSS3, включая фишки новых стандартов: градиенты, трансформации, анимации, фильтры. Некоторые задания убивали мой мозг на пару часов.

Курс HTML5 Part 1: HTML5 Coding Essentials and Best Practices (EDx, W3Cx). Хороший курс о новых фишках HTML5, и API, которые там появились. Несмотря на название курса, нужно будет использовать очень много JavaScript. Рассматриваются темы семантики и доступности сайта для людей с ограниченными возможностями, создания форм на HTML5, работа с canvas, аудио и видео, получение геолокации и данных через камеру и микрофон пользователя.

Курсы на Udacity. Я брала несколько прикладных курсов (Responsive Images, AJAX, OOP in JS, JS Testing). Не могу сказать, что мне очень понравилось, но кое-что полезное я узнала.

В планах

Курс HTML5.2x HTML5 Part 2: Advanced Techniques for Designing HTML5 Apps (EDx, W3Cx). Вторая часть курса про HTML5, рассматриваются вопросы работы с мультимедиа и разработки HTML5 игр. Записалась в декабре, но пока не было времени, чтобы пройти курс.

Еще о двух курсах я слышала хорошие отзывы, но пока не проходила их:

Курс CS106A – Programming Methodology, Стэнфорд.

Курс CS106B – Programming Abstractions, Стэнфорд.

Занимаетесь ли вы самообразованием, и какие курсы проходили? Что понравилось больше всего?