Scala for Java Developers

Узнайте, как начать программировать на современном объектно-функциональном языке программирования Scala "с нуля". 

Scala for Java Developers
Цена
3359
Кэшбэк до 7.5%
136 уроков136 уроков
Бесплатное ознакомлениеБесплатное ознакомление
СертификатСертификат
РусскийРусский
Udemy
Купить с кэшбэком

Описание:

Данный курс посвящен гибридному объектно-функциональному языку программирования 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 и математики. Математический уклон позволяет показать многие глубокие идеи языка.

Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.

Чему вы научитесь

  • Разберетесь с тем, что такое Функциональное программирование
  • Поймете наиболее "темные" уголки языка: Generics, Macroses, Path Dependent Types

Программа курса:

  1. OOP - I: No inheritance
  2. OOP - II: "operator overloading"
  3. Type - I. Scala Type Hierarchy
  4. Control - I: buil-in control flow structures, expression-oriented programming
  5. Set theory - I: Множество, Отношение, операции над множествами
  6. Functional Programming - I: Syntax
  7. Generics - I: without higher-kind types
  8. Collections - I: Array, List, Set, Map
  9. Комбинаторика: порождение комбинаторных объектов
  10. Алгебра: магма, полугруппа, моноид, группа
  11. Tuples
  12. Lazyness
  13. For-loops and for-comprehensions
  14. Implicits
  15. Control - II: create your own control flow structures
  16. Pattern matching
  17. Numbers and Strings
  18. Interacting with Java
  19. Category Theory - I
  20. Exception handling
  21. Algebraic Data Types
  22. Co-data, Stream API
  23. Optimization techniques in FP