Scala for Java Developers (in Russian)
3.5 (200 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
708 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Scala for Java Developers (in Russian) to your Wishlist.

Add to Wishlist

Scala for Java Developers (in Russian)

Узнайте, как начать программировать на современном объектно-функциональном языке программирования Scala "с нуля".
3.5 (200 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
708 students enrolled
Created by Ivan Golovach
Last updated 6/2016
Russian
Price: $50
30-Day Money-Back Guarantee
Includes:
  • 15 hours on-demand video
  • 26 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Разберетесь с тем, что такое Функциональное программирование
  • Поймете наиболее "темные" уголки языка: Generics, Macroses, Path Dependent Types
View Curriculum
Requirements
  • Установить JDK
  • Установить Scala SDK
  • Установить какую-либо Scala IDE (JetBrains IDEA, Eclipse, ...)
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!

Who is the target audience?
  • Этот курс предназначен для уже состоявшихся программистов на каком-либо из современных объектно-ориентированных языков программирования (Java, C#, Python, ...)
Compare to Other Programming Languages Courses
Curriculum For This Course
136 Lectures
15:55:01
+
Intro
6 Lectures 40:28
Материалы по Scala
02:29

Материалы по Математике
01:37


JRE, Java, JVM, Reflection API and Scala
13:21


+
OOP - I: No inheritance
15 Lectures 01:24:39
Intro
04:06

Fields: var/val implementation
10:12

Fields: override accessor/mutator
06:06

Fields: Java bean style getter/setter
03:17

Constructor: primary
06:08

Constructor: auxiliary
08:00

Object: Intro
02:48

Object: Utility functions / constants
01:56

Object: Companion object
08:36

Object: Singleton
05:24

Methods: Simplification
07:26

Также вы можете почитать

"Programming in Scala", 2ed, глава 10.3 "Defining parameterless methods"

или онлайн 1ed = глава 10.3 "Defining parameterless methods" = http://www.artima.com/pins1ed/composition-and-inheritance.html#10.3

Methods: Parentless
04:46

Methods: "Procedure" style
05:28

Imports
05:58

Материалы по OOP - I: No inheritance
04:28
+
OOP - II: "operator overloading"
9 Lectures 42:58
Operators: Intro
05:11

Method call: infix notation (basic)
06:06

"Pointless" vs "point-free" (basic)
04:14

"Operators": "Pointless" vs "Point-free" style (basic)
4 questions

"Operator" precedence (medium)
08:26

"Operators" precedence (basic)
7 questions

"Operator" associativity (medium)
07:42

"Operators": associativity (basic)
5 questions

"Operators": precedence + associativity (medium)
4 questions

"Operators": precedence + associativity (hard)
10 questions

Infix types (hard)
08:03

Infix types (hard)
6 questions

Prefix operators: +, -, !, ~
02:54

Methods: "operator style" - material
00:08

Материалы по OOP - II: "operator overloading"
00:14
+
Type - I. Scala Type Hierarchy
7 Lectures 46:16
Muddle in terms: Kind, Type, Class
05:24

Type terms in Java
08:37

Type terms in Scala
05:46

Scala class hierarchy
04:25

Type Any, universal trait
06:49

Top Types: Any, AnyVal, AnyRef
12 questions


Bottom types: Null, null, Nothing
3 questions

Материалы по Type - I. Scala Type Hierarchy
00:17
+
Control - I: buil-in control flow structures, expression-oriented programming
9 Lectures 01:12:52
Expression-oriented programming
09:42



Assignment: syntax sugar
08:26

Code block
04:56

Keyword 'if'
04:19

Keyword 'if' (BASIC)
5 questions

While, do-while loops
05:40

For loop
05:23

Материалы по Control - I
01:04
+
Set theory - I: Множество, Отношение, операции над множествами
7 Lectures 50:56
Set definition, predicative and generative forms
21:02

Set definition, predicative and generative forms (материал)
01:24

Cartesian product, binary relation
10:05

Cartesian product, binary relation (материал)
02:09

Function as binary relation
11:20

Function as binary relation (материал)
02:09

Operations on functions - I
5 questions

Operations on functions - II
5 questions

Equality as binary relation (материал)
02:46

Operations on equivalence relations
4 questions
+
Functional Programming - I: Syntax
11 Lectures 01:57:29
What is 'Function'?
11:21

Functional literal and Functional value
13:12

Partially defined functions - API
14:18

Partially defined functions - With Collections
13:00

Eta-expansion: Intro
08:21

Eta-expansion: Syntax
08:24


Curring: Math - I
10:30

Curring: Math - II
07:33

Данный тест проверяет, понял ли слушатель как работают конструкторы множеств 'Cartesian product' и 'Function' и базовые формулы вычисления мощности множеств (количество элементов, cardinality).

Set constructors, cardinality (BASIC)
4 questions

Set constructors, cardinality (MIDDLE)
4 questions

Math of curring (MIDDLE)
4 questions

Tupling / untapling
20:29

Материалы по Functional Programming - I
01:38
+
Generics - I: without higher-kind types
11 Lectures 51:10
Co-variance, contra-variance, non-variance
05:26

Java arrays
07:47

Scala generics vs Java generics
07:20




Field, co-varian or non-variant position
03:53

Co-variant / contra-variant positions (basic)
10 questions

Tuple example
04:30

Function example
05:26

Higher-order function example
04:46

Subtype / supertype (basic)
10 questions

Материалы по Generics - I: without higher-kind types
00:45
+
Collections - I: Array, List, Set, Map
6 Lectures 39:48
List internals
11:20

List methods: head, tail
01:02

List methods: init, last, reverse
05:31

List methods: take, drop, splitAt, patch
06:28

What are result of calculations?
12 questions

What does this method?
5 questions

Вложенные mkString
4 questions

Isomorphic methods
6 questions

List methods: map, flatten, flatMap
11:05

List: map, flatten, flatMap
9 questions

Материалы по Collections - I: Array, List, Set, Map
04:22
+
Комбинаторика: порождение комбинаторных объектов
9 Lectures 01:06:18

Декартово произведение: map, flatMap (basic)
4 questions


Генерация всех перестановок (middle)
09:10

Генерация всех подмножеств (middle)
04:44

Терминология
3 questions

Генерация всех разбиений (middle)
12:41

Упрощенный Functional Pearl 6 (middle)
08:37

Задание на упрощенный Functional Pearl 6 (middle)
01:40

Полный Functional Pearl 6 (hard)
08:29

Исходный код комбинаторной библиотеки
00:24
14 More Sections
About the Instructor
Ivan Golovach
3.8 Average rating
241 Reviews
818 Students
3 Courses
Java/Scala техлид, обучил более 200 человек

Программирую и преподаю более 10 лет на Scala, JavaEE, Java ME, C/C++. Руковожу образовательной компанией в области Java и Scala. Большой опыт выступлений на различных конференциях и семинарах. Обучил более 200 человек. На мой видео канал подписано более 12.000 человек. С радостью научу Вас до уровня Middle Scala Developer.

Опубликовал курсы "Программирование на Java с нуля" и "Scala for Java Developers".