Бесплатные книги, задачи, курсы и многое другое!

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

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

Бесплатные книги по программированию

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

Я проверял этот репозиторий всякий раз, когда мне рекомендовали книгу по программированию.

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

Проблемы кодирования

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

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

Kaggle курсы

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

Веб-сайты университетских курсов

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

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

Вот некоторые веб-сайты университетских курсов, которые вы можете проверить:

Данные 8 — Калифорнийский университет в Беркли (осень 2021 г.)

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

Машинное обучение — Нью-Йоркский университет (осень 2019 г.)

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

Бонус: Github Student Developer Pack

Этот ресурс, к сожалению, не может быть использован всеми, но я все же хотел им поделиться, так как считаю его преступно недооцененным. Github предоставляет специальный пакет разработчика для студентов колледжей/университетов с различными скидками на программное обеспечение для реализации проектов. У этого также есть скидки/бесплатные месяцы премиальных обучающих платформ, которые вы можете использовать для изучения программирования. На момент написания этой статьи, вот несколько заметных скидок:

  • Образовательный (6 бесплатных месяцев)
  • DataCamp (3 месяца бесплатно)
  • Frontend Masters (6 бесплатных месяцев)

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

Удачного кодирования и обучения!