Scala programming

Старт навчання
Берестейська Старт курсу запитуйте в адміністрації
Позняки Старт курсу запитуйте в адміністрації
ВДНГ Старт курсу запитуйте в адміністрації
42 год. по 2-3 рази на тиждень

Опис курсу

Мета курсу — навчити студентів програмуванню на мові Scala. Курс призначений для тих, хто вже володіє основами розробки на Java (або іншою мовою) і розуміє принципи ООП.  В ході уроків ви навчитеся розробці, налагодженню та налаштуванню додатків на Scala, познайомитеся як з функціональними, так і з об'єктно-орієнтованими конструкціями мови. Ви отримаєте знання, необхідні для вивчення таких популярних фреймворків, як Spark, Play Framework, Akka і заглибитися в роботу з BigData і Web-розробкою.

Після курсу Ви зможете:

  • Використовувати функціональні і об'єктно-орієнтовані конструкції мови Scala
  • Розробляти і проводити налагодження Scala-додатків
  • Збирати Scala-проекти за допомогою SBT
  • Тестувати написаний код
  • Почати вивчення фреймворків: Spark, Play Framework, Akka і ін.

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

  • Загальна характеристика Scala
    • Історія мови
    • Байт-код
    • Віртуальна машина (JVM)
    • Пошук і завантаження класів
    • Створення і запуск програми на Scala
    • Використання IDE для створення і виконання Scala-програм
  • Читання-обчислення-висновок / REPL — read-eval- print loop
    • Особливості реалізації
    • Основні функції
    • Power-мод
  • Змінні в Scala
    • Values
    • Variables
  • Оператори
    • Типи операторів
    • Створення і використання
    • Порядок черговості
  • Рядки
    • Створення рядків і робота з ними
    • Інтерполяція
    • "s" інтерполятор 
    • "f" інтерполятор
    • "raw" інтерполятор
  • Типи даних
    • Ієрархія типів
    • Type inference
    • Типи Any, AnyVal, AnyRef
    • Тип Nothing
    • Scala Null
  • Функції і методи
    • Функція і метод
    • Side effect, pure functions
    • Рекурсія 
    • Функції вищого порядку (Higher-order functions)
    • Анонімні функції 
    • Часткові функції 
    • Часткове застосування функцій 
    • Currying
    • Функціональні комбінатори
  • Класи і об'єкти
    • ООП в Scala
    • Клас
    • Об'єкт
    • Companion object
    • Зіставлення з зразком (Pattern matching)
      • Зіставлення зі зразком: літерали 
      • Зіставлення зі зразком: класи 
      • Зіставлення зі зразком: колекції 
      • Запечатані (Sealed) класи
    • Кейс клас
    • Кейс об'єкт
    • Вкладений клас
    • Trait
    • Домішки і множинне спадкування
    • Узагальнення
  • Валідація
  • Package & package
  • Монади в Scala 
    • Визначення монади
    • Монада в колекціях
    • Монада "Option", клас "Some" і об'єкт "None" 
    • For-comprehension
  • Обробка винятків 
    • Як працюють виключення в Scala
    • Ієрархія винятків
    • Способи обробки винятків
  • Масиви 
    • Створення і використання масивів
    • Одновимірні масиви
    • Багатовимірні масиви
    • Операції над масивами
  • Колекції 
    • Ієрархія колекцій 
    • Кортежі/Tuple
    • Списки/List
    • Колекції неповторяющихся елементів/Set
    • Послідовності упорядкованих елементів/Seq
    • Карти/Map
    • Об'єкт Nil
    • Обхід колекцій, операції над колекціями
    • Порівняння продуктивності колекцій
  • Implicits
    • Неявні параметри
    • Неявні перетворення
    • Неявні класи
    • Type classes
  • Future
    • Визначення, створення і використання
    • Callbacks
    • Projections
    • Promises
  • SBT (Scala Build Tool)
  • Testing

Мінімальні вимоги:

  • Знання Java Core (Базовий курс Java)
  • Розуміння ООП

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!

spinner-it