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

1.Python for everybody
Проходил: Мариана Зорькина

Комментарий: Python for everybody — курс для тех, кого в принципе всегда пугала идея программирования: здесь не будет математики и каких-либо сложных задач, поэтому тем, у кого есть какой-то опыт и навыки, курс может показаться слишком медленным. Но если вы — полный новичок, или уже в бессилии бросили несколько других курсов, которые с первых занятий погружали слушателей в линейную алгебру и статистику, то этот курс для вас. Я нежно его люблю и всегда советую его пройти всем начинающим программировать гуманитариям: преподаватель достаточно мудр, чтобы не объяснять основы основ на примере многомерных пространств, но при этом даёт навыки, которые могут оказаться полезны сами по себе. Параллельно с основами Python преподаватель на пальцах покажет, как работать с текстами и веб-сайтами, чтобы получать простейшую статистику; что такое регулярные выражения и базы данных.

2. Алгоритмы на Python 3.
Проходил: Владимир Селеверстов

Комментарий: Этот курс подходит тем, кто интересовался программированием на школьном уровне, но за последнее время мог что-нибудь забыть. Лектор по большей части не учит синтаксису языка (хотя знакомит с некоторыми полезными приемами), концентрируется на принципиальном подходе, который решил бы текущую задачу. С одной стороны, курс порадует тех, кто не знает синтаксис и пока не начал его изучать, с другой — расстроит тех, кто хотел «с места в карьер» решать большие задачи. Много внимания уделяется подробному документированию вводимых функций. Курс больше теоретический, описывает структурные особенности планирования программы и работы с данными, но присутствует и работа с конкретными задачами.

3. Python tutor
Проходил: Елизавета Кузьменко

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

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

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

4. Нетология. Python и математика для анализа данных (в составе курса Data Science)
Проходил: Ксения Михайлова

Комментарий: Данный курс входит в профессию Data Scientist в Нетологии. Это онлайн курс по основам языка Python с уклоном использования языка для анализа данных. Первая часть по основам Python, а вторая по линейной алгебре, математической оптимизации и статистике и их реализации в Python. После каждого занятия даются домашнии задания с умеренной сложностью для закрепления знаний. Также курс включает две лабораторных работы после каждой части и итоговую работу. Курс рассчитан на тех, кто хочет научится анализу данных с помощью Python.

Плюсы: часть по Python подходит новичкам и дает хорошее понимание основ языка.

Минусы: вторая часть по верхам пробегается по математической теории, и тем, кто не имел отношения к аналитике и статистике, может быть сложновато.

В целом курс позволяет научится основам анализа данных с помощью Python.

5. Skillfactory
Проходил: Системный Блокъ

Комментарий: Курс состоит из 16 модулей на разные темы: вводные модули А об основах синтаксиса языка и В, самые объемные — про инструменты работы с данными. Даже имея небольшой опыт с работой на Python, я смог найти в соответствующих разделах что-то новое и улучшить навыки. Самыми полезными оказались разделы по очистке и визуализации данных, работе с HTML и API. В целом кажется, что человеку, который придет учиться с нуля, курс сможет дать достаточно мощную базу, на которую потом легче «положить» все дополнительные умения (например, освоить необходимые библиотеки). В вводных занятиях предусмотрен обзор популярной рабочей среды Jupyter, в ней же и выполняются домашние задания. Проверяются они автоматически: код нужно выложить в специальное поле. Иногда для закрепления материала есть тесты по теории.

Плюсы: сообщество однокурсников и поддержка онлайн: на любом этапе курса можно прислать в чат неработающий код и получить помощь и комментарий.

Минусы: На фоне других курсов подборки (в основном, бесплатных) минусом можно назвать цену, но это закономерная плата за поддержку преподавателей.

Бонус: бесплатные мобильные приложения

  • Solo Learn Python — Приложение не сможет заменить полноценный курс, но будет полезно для закрепления навыков в игровой форме
  • Stepik — Системный Блокъ рекомендует эту платформу с курсами именно в виде мобильного приложения: видеолекции удобно сохранять в кэш и смотреть в дороге вместо видео с котиками 🙂
  • Python Рецепты — 250 примеров кода на Python для различных задач. StackOverflow для ленивых 🙂

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