Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Ivan Golovach

Данный курс посвящен гибридному объектно-функциональному языку программирования Scala.

Он рассчитан на программистов на Java уровня от твердый Junior или Middle. Возможен также переход из других объектно-ориентированных языков - Python, C#, PHP.

Read more

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

Enroll now

What's inside

Syllabus

Intro
Материалы по Scala
Материалы по Математике
HelloWorld in Scala
Read more

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

"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

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

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Focuses on Scala's hybrid object-functional programming paradigm, which allows Java developers to leverage their existing knowledge while exploring functional programming concepts
Requires a solid understanding of modern industrial programming concepts, such as design patterns, generics, recursive algorithms, and object-oriented programming principles
Covers advanced topics like continuation passing style and tail call optimization, which are essential for understanding modern programming paradigms
Includes sections on higher-kind types, path-dependent types, macroses, and parser combinators, which are features found in other modern industrial languages
Dedicates approximately 25% of the material to mathematics (algebra, set theory, combinatorics), highlighting the strong connection between functional programming and computer science
Features numerous tests designed to assess material comprehension, ensuring learners actively engage with and retain the concepts taught throughout the course

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Scala для java-разработчиков: введение и основы

Основываясь на описании курса, учащиеся с опытом работы с Java или другими ООП-языками, вероятно, найдут этот курс подходящим введением в Scala. Курс обещает подробное сравнение Scala с Java и охватывает основные концепции ООП и ФП в Scala. Заявлено наличие 200 коротких лекций и 50 тестов, что предполагает четкую структуру и возможность самопроверки. Однако, около 25% материала посвящено математике (алгебра, теория множеств), что может быть неожиданным или сложным для некоторых и предполагает серьезный уклон в теорию. Курс рассчитан примерно на три месяца изучения.
Есть значительная часть математики
"Увидел в описании, что 25% курса это математика, это интересно, но возможно сложно."
"Не думал, что для Scala нужно знать теорию множеств и алгебру."
"Надеюсь, математика объяснена хорошо и действительно помогает понять ФП."
Много коротких лекций и тестов
"Нравится, что лекции короткие (200 мелких лекций) – это удобно для усвоения."
"Наличие 50 тестов звучит как хорошая возможность проверить себя."
"Три месяца по 6-10 часов в неделю кажется реалистичным сроком."
Ожидаю сравнений с Java
"Мне важно понять, чем Scala отличается от Java и что похоже."
"Надеюсь увидеть много примеров кода, сравнивающих два языка."
"Сравнение с Java должно упростить понимание новых концепций Scala."
Курс хорошо подходит для перехода
"Как Java-разработчик, я искал курс, который поможет мне перейти на Scala."
"Описание говорит, что он для тех, кто знает Java, это как раз для меня."
"Ожидаю, что курс учтет мой бэкграунд в ООП."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Scala for Java Developers (in Russian) with these activities:
Повторите основы Java
Повторите основные концепции Java, чтобы лучше понять, как Scala взаимодействует с JVM и использует существующие Java-библиотеки.
Browse courses on Java
Show steps
  • Просмотрите основные концепции ООП в Java.
  • Повторите синтаксис Java.
  • Ознакомьтесь с основными классами и интерфейсами Java Collections Framework.
Прочтите 'Programming in Scala'
Прочтите книгу 'Programming in Scala', чтобы получить глубокое понимание языка и его возможностей.
Show steps
  • Прочтите книгу от начала до конца.
  • Выполните примеры кода из книги.
  • Попробуйте решить упражнения в конце каждой главы.
Ознакомьтесь с 'Scala Cookbook'
Используйте 'Scala Cookbook' как справочник для решения конкретных задач и изучения новых техник программирования на Scala.
Show steps
  • Просмотрите оглавление книги.
  • Найдите рецепты, которые соответствуют вашим задачам.
  • Изучите примеры кода и объяснения.
  • Примените рецепты в своих проектах.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Решайте задачи на Scala на HackerRank
Решайте задачи на HackerRank, чтобы улучшить свои навыки программирования на Scala и закрепить знания, полученные в курсе.
Show steps
  • Зарегистрируйтесь на HackerRank.
  • Выберите категорию задач по Scala.
  • Решайте задачи разной сложности.
  • Анализируйте решения других пользователей.
Напишите блог о Scala для Java-разработчиков
Напишите серию статей в блоге, объясняющих концепции Scala для Java-разработчиков, чтобы закрепить свои знания и поделиться ими с другими.
Show steps
  • Выберите тему для статьи.
  • Изучите выбранную тему.
  • Напишите статью, объясняющую тему простым и понятным языком.
  • Опубликуйте статью в своем блоге или на платформе для разработчиков.
Создайте небольшое приложение на Scala
Создайте небольшое приложение на Scala, чтобы применить полученные знания на практике и увидеть, как Scala работает в реальном проекте.
Show steps
  • Выберите проект, который вам интересен.
  • Разработайте архитектуру приложения.
  • Напишите код приложения.
  • Протестируйте приложение.
Внесите вклад в open-source проект на Scala
Внесите вклад в open-source проект на Scala, чтобы получить опыт работы в команде, улучшить свои навыки программирования и внести свой вклад в сообщество Scala.
Show steps
  • Найдите open-source проект на Scala, который вам интересен.
  • Изучите код проекта.
  • Найдите задачу, которую вы можете решить.
  • Решите задачу и отправьте pull request.

Career center

Learners who complete Scala for Java Developers (in Russian) will develop knowledge and skills that may be useful to these careers:
Разработчик Scala
Разработчик Scala специализируется на создании приложений с использованием языка Scala. Этот курс предназначен для программистов на Java, желающих изучить Scala, что делает его отличным стартом для карьеры разработчика Scala. Курс включает в себя изучение основ Scala, а также более продвинутые темы, такие как higher-kind types и macroses. Курс также снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.
Java разработчик
Java разработчик создает и поддерживает программное обеспечение, используя язык программирования Java. Этот курс Scala для Java разработчиков будет полезен для изучения Scala, так как он предназначен для Java программистов уровня Junior или Middle. Курс насыщен терминологией современного программирования, такой как continuation passing style и tail call optimization. Знание Scala позволит Java разработчику расширить свой инструментарий и решать более сложные задачи. Около 25% материала курса посвящено математике, что особенно полезно при работе на стыке computer science и математики.
Разработчик программного обеспечения
Разработчик программного обеспечения занимается проектированием, разработкой и тестированием программных продуктов. Этот курс по Scala помогает разработчику перейти на функциональное программирование. Учебный материал состоит из 20 разделов, которые включают 200 небольших лекций и 50 тестов, что позволяет углубленно изучить Scala. Также, курс охватывает такие разделы, как higher-kind types, path-dependent types, macroses, parser combinators, которые встречаются в других современных промышленных языках. Около 25% материала посвящено математике, что позволяет показать многие глубокие идеи языка.
Инженер по машинному обучению
Инженер по машинному обучению проектирует, разрабатывает и внедряет модели машинного обучения. Scala хорошо подходит для машинного обучения, благодаря своей поддержке функционального программирования и параллельных вычислений. Этот курс может быть полезен для инженера по машинному обучению, так как он охватывает основные концепции и инструменты Scala. Около 25% материала посвящено математике (алгебра, теория множеств, комбинаторика). Причина в том, что функциональные языки программирования особенно хороши при работе на стыке computer science и математики.
Инженер по данным
Инженер по данным отвечает за разработку, построение и поддержку систем обработки и хранения данных. Знание Scala может быть очень полезным, так как Scala часто используется в больших проектах данных. Этот курс может быть особенно полезен, так как он охватывает темы, которые важны для работы с данными, такие как функциональное программирование и работа с коллекциями. Курс включает в себя изучение основ Scala, что помогает строить надежные и эффективные системы обработки данных. Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.
Научный сотрудник
Научный сотрудник занимается исследованиями и разработками в области компьютерных наук. Этот курс полезен, так как Scala часто используется в научных вычислениях и машинном обучении. Курс серьезно насыщен терминологией современного программирования: continuation passing style, tail call optimization. Около 25% материала посвящено математике (алгебра, теория множеств, комбинаторика). Причина в том, что функциональные языки программирования особенно хороши при работе на стыке computer science и математики. Математический уклон позволяет показать многие глубокие идеи языка.
Архитектор программного обеспечения
Архитектор программного обеспечения проектирует высокоуровневую структуру программных систем. Этот курс может помочь архитектору программного обеспечения расширить свои знания и включить Scala в свой арсенал. Курс знакомит с такими важными концепциями, как шаблоны проектирования и объектно-ориентированное программирование. Scala включает несколько разделов, которые встречаются в других современных промышленных языках: higher-kind types, path-dependent types, macroses, parser combinators.
Аналитик данных
Аналитик данных анализирует данные для выявления тенденций и закономерностей, помогающих принимать бизнес-решения. Этот курс может помочь аналитику данных, желающему использовать Scala для обработки и анализа больших объемов данных. Курс включает в себя изучение основ Scala, которые важны для эффективной работы с данными, а также функциональное программирование, важное для анализа данных. Около 25% материала посвящено математике, что особенно полезно при работе на стыке computer science и математики.
Преподаватель программирования
Преподаватель программирования передает знания и навыки программирования студентам. Если вы хотите преподавать Scala, этот курс может быть очень полезным для вас. Материал курса состоит из 20 разделов, которые включают 200 небольших лекций и 50 тестов, что гарантирует глубокое понимание материала. Курс серьёзно насыщен терминологией современного программирования, а также около 25% материала посвящено математике, что позволит вам показать глубокие идеи языка.
DevOps инженер
DevOps инженер автоматизирует процессы разработки, тестирования и развертывания программного обеспечения. Изучение Scala может быть полезным для DevOps инженера, так как Scala может использоваться для написания инструментов автоматизации. Курс включает в себя изучение основ Scala, что поможет в создании инструментов автоматизации. Учебный материал состоит из 20 разделов, которые включают 200 небольших лекций и 50 тестов, что позволяет углубленно изучить Scala.
Разработчик игр
Разработчик игр создает видеоигры для различных платформ. Знание Scala может быть полезным при разработке серверной части игр или инструментов разработки. Курс включает в себя изучение основ Scala, что может помочь в разработке игр. Также он затрагивает темы, такие как функциональное программирование и работа с коллекциями. Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.
Технический писатель
Технический писатель создает документацию для программного обеспечения. Если вы хотите писать документацию по Scala, этот курс может быть полезным для вас. Курс знакомит с такими важными концепциями, как шаблоны проектирования и объектно-ориентированное программирование. Scala включает несколько разделов, которые встречаются в других современных промышленных языках: higher-kind types, path-dependent types, macroses, parser combinators.
Тестировщик программного обеспечения
Тестировщик программного обеспечения проверяет качество программных продуктов. Этот курс может помочь тестировщику программного обеспечения, так как Scala может использоваться для написания автоматизированных тестов. Курс включает в себя изучение основ Scala, что может помочь в автоматизации тестирования. Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.
Системный администратор
Системный администратор отвечает за поддержание и управление компьютерными системами. Знание Scala может быть полезным для написания скриптов автоматизации задач. Этот курс может помочь системному администратору, так как он охватывает основы Scala. Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.
Менеджер проектов
Менеджер проектов управляет проектами разработки программного обеспечения. Курс может помочь менеджеру проектов, так как он дает представление о языке Scala, что может помочь в управлении проектами, использующими Scala. Также он знакомит с терминологией современного программирования и математическими аспектами. Зная Scala, менеджер проектов может лучше понимать технические аспекты проекта и общаться с разработчиками.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Scala for Java Developers (in Russian).
Эта книга является исчерпывающим руководством по Scala, написанным одним из создателей языка. Она охватывает все аспекты Scala, от основ до продвинутых тем, и содержит множество примеров кода. Книга особенно полезна для понимания принципов функционального программирования в Scala. Она также служит отличным справочником для опытных разработчиков.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser