Данный курс посвящен гибридному объектно-функциональному языку программирования Scala.
Он рассчитан на программистов на Java уровня от твердый Junior или Middle. Возможен также переход из других объектно-ориентированных языков - Python, C#, PHP.
Для прохождения курса потребуется около трех месяцев при затратах 6-10 часов в неделю при условии, что Вы хорошо понимаете базовые идеи современного промышленного программирования: шаблоны проектирования, generics, рекурсивные алгоритмы, XML/JSON, Объектно-Ориентированное Программирование (наследование, композиция, агрегация, инкапсуляция, сокрытие информации, полиморфизм).
Учебный материал состоит из 20 разделов, которые включают 200 небольших лекций и 50 тестов.
Курс серьезно насыщен терминологией современного программирования: continuation passing style, tail call optimization.
Scala включает несколько разделов, которые встречаются в других современных промышленных языках: higher-kind types, path-dependent types, macroses, parser combinators.
Платформа позволяет вести чат. Студентам рекомендуется задавать интересующие их вопросы в нем. Это позволит ответить как преподавателю, так и другим студентам.
Около 25% материала посвящено математике (алгебра, теория множеств, комбинаторика). Причина в том, что функциональные языки программирования особенно хороши при работе на стыке computer science и математики. Математический уклон позволяет показать многие глубокие идеи языка.
Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.
Удачи в изучении Scala!