Scala for Java Developers (in Russian)
Узнайте, как начать программировать на современном объектно-функциональном языке программирования Scala "с нуля".
Description
Данный курс посвящен гибридному объектно-функциональному языку программирования 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!
What You Will Learn!
- Разберетесь с тем, что такое Функциональное программирование
- Поймете наиболее "темные" уголки языка: Generics, Macroses, Path Dependent Types
Who Should Attend!
- Этот курс предназначен для уже состоявшихся программистов на каком-либо из современных объектно-ориентированных языков программирования (Java, C#, Python, ...)