Scala for Java Developers
Описание курса
Данный курс посвящен гибридному объектно-функциональному языку программирования 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!
Каковы требования?
- Установить JDK
- Установить Scala SDK
- Установить какую-либо Scala IDE (JetBrains IDEA, Eclipse, ...)
Что я вынесу из этого курса?
- Более 112 лекций и 12.5 час(ов) содержания!
- Начнёте программировать на Scala как Middle scala Developer
- Разберетесь с тем, что такое Функциональное программирование
- Поймете наиболее "темные" уголки языка: Generics, Macroses, Path Dependent Types
Какова целевая аудитория?
- Этот курс предназначен для уже состоявшихся программистов на каком-либо из современных объектно-ориентированных языков программирования (Java, C#, Python, ...)
Критерий завершения
Certificate
-
Intro
-
OOP - I: No inheritance
-
OOP - II: "operator overloading"
-
Type - I. Scala Type Hierarchy
-
Control - I: buil-in control flow structures, expression-oriented programming
-
Set theory - I: Множество, Отношение, операции над множествами
-
Functional Programming - I: Syntax
-
Generics - I: without higher-kind types
-
Collections - I: Array, List, Set, Map
-
Комбинаторика: порождение комбинаторных объектов
-
Алгебра: магма, полугруппа, моноид, группа
-
Tuples
-
Lazyness
-
For-loops and for-comprehensions
-
Set theory - II: Морфизмы
-
Implicits
-
Control - II: create your own control flow structures
-
Pattern matching
-
String interpolation
-
Numbers and Strings
-
Interacting with Java
-
Functional - II: tailcall, trampoline, corecursion
-
Compilations
-
Structural types
-
Category Theory - I
-
Exception handling
- 1107
- 26 декабря 2015, 23:23
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением