September 10th, 2020

розовый глаз

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

Решила завести пост для ссылок на хорошие подборки.

Сама взялась недавно перейти с Python на Java. Логика такая, что на Питоне пишут веб и машинное обучение, а на Джаве практически всё что угодно, надежда на разнообразие на будущей работе. Что конечно, не гарантирует, что не будет всё тот же веб. Прошла курс на Степике, хороший курс. Сейчас взялась за javaRush. Начало сильно пересекается с курсом Степика, а времени нужно гораздо больше, но и задачек тренировочных больше, а дальше маячат новые темы и шанс пройти стажировку про Спринг. И очень понравилось программировать там игры.

Ещё очень хороши задачки на ресурсах вроде https://www.codewars.com
Там разделение программистов по "поясам", как в восточных боевых искусствах. Примерное разделение:
Белый пояс 8 кю - задачи на знание синтаксиса.
7 кю - задачи, решаемые в одну строку из нескольких функций, знание основных модулей.
Жёлтый пояс 6 кю - написать несколько строк кода, одну функцию.
5 кю - требуется знание классических алгоритмов и структур данных, например алгоритма Евклида, умение использовать словарь словарей, разбивать код на функции, оптимизировать код.
Синий пояс 4 кю - нужно уметь писать самим несложные алгоритмы динамического программирования, классы, декораторы, знать паттерны проектирования.

Собственно, подборка:
https://habr.com/ru/company/habr_career/blog/516360/ Бэкенд
https://habr.com/ru/company/habr_career/blog/512040/ Фронтенд
https://habr.com/ru/company/ruvds/blog/518914/ Tensorflow

Если вкратце:
Java легче, чем Python, т.к. меньше надо заучивать функций, всё аккуратно систематизировано, статическая типизация предупреждает многие ошибки. Но курсы для новичков по питону найти проще, по джаве бесплатный курс на stepik.org рассчитан на тех, кто уже умеет программировать на другом языке, например том же питоне. Так что начать придётся с питона, потом перейти или не перейти на джаву. В любом случае одного знания языка для трудоустройства недостаточно. Питонистам надо ещё знать как минимум Django, а джавистам Spring, в обоих случаях найти хорошие бесплатные курсы проблематично. Впрочем, по спрингу видела что-то на coursera.org, а по джанго есть djangogirls.

Update: снова взялась за Python, для определённой вакансии. Нашла отличный курс по джаве и питону https://hyperskill.org
Позволяет выявлять и устранять пробелы, оставшиеся после изучения тут и там. Обучение совмещено с практическими проектами, которые затем размещаются в портфолио на гитхабе.
Upd: на гиперскилле можно изучать бесплатно также Spring и Django. Лучше всего перед регистрацией получить приглашение от одного из пользователей (рефералку), тогда плюс три месяца бесплатно, а помимо этого есть два бесплатных месяца за выполнение первого проекта за неделю. Вот тут чат, где можно получить пригласительную ссылку (на английском): https://discord.gg/ut6nEqu

Update: ещё хорошие русскоязычные курсы есть на openedu.ru, в т.ч. по Django, но по сравнению со степиком показались более сжатыми и не так удобно смотреть структуру курса, а кроме того сертификаты платные, но недорогие, и требуют видео-участия в экзамене. На Coursera есть большая бесплатная специализация по Python от Mail.ru.