Это осенью я закончил курс на Курсере "Functional Programming Principles in Scala". Этот курс - часть специализации из 5 курсов "Functional Programming in Scala." Это 6 недельное введение в функциональное программирование и Scala.

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

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

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

Там больше тестов, чем доступно в шаблоне с заданием. Я настоятельно рекомендую писать дополнительные тесты. Это не всегда легко, но это существенно увеличивает пользу от курса.

И в заключение, если вы решите после этого курса, что Scala не для вас, то пройдите следующий курс в специализации.



c