Онлайн-курс — сертифицированная профессиональная специализация по функциональному программированию в масштабе Федеральной политехнической школы Лозанны.

Программа высокого уровня. Напишите элегантный функциональный код для анализа данных, больших или маленьких.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Средний уровень

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • язык программирования Скала
  • Параллельный расчет
  • Апач Спарк
  • Функциональное программирование

What you will learn in the course

Courses for which the course is suitable

  • Разработчик программного обеспечения
  • инженер-программист
  • Разработчик приложений Scala
  • Аналитик систем данных
  • Разработчик функционального программного обеспечения
  • Параллельный разработчик программного обеспечения
  • Разработчик решений на базе Apache Spark
  • Инженер данных
  • Разработчик распределенных систем

Стажировка — курс из 5 занятий

  • Узнайте, как написать элегантный код, который будет работать при первом запуске.

Описание курса

Эта специализация обеспечивает практическое введение в функциональное программирование с использованием популярного языка программирования Scala. Курс начинается с основных элементов функциональной модели, показывающих, как их использовать для решения небольших задач, а затем переходит к этапу объединения этих концепций для разработки более крупных функциональных программ.

Основные темы
  • Функциональная модель облегчает параллельное и распределенное программирование.
  • Серия практических примеров и заданий по программированию.
  • Анализ наборов данных разного размера.
  • Параллельное программирование на многоядерных архитектурах.
  • Распределенное программирование в кластере с использованием Apache Spark.

Финальный проект

Последний завершающий проект позволит вам применить полученные навыки при создании большого приложения с интенсивным использованием данных, использующего реальные данные.

Прикладной учебный проект

Учащиеся будут создавать приложения малого и среднего масштаба, используя знания и навыки, в том числе:

  • Функциональное программирование
  • параллельное программирование
  • Манипулирование большими наборами данных
  • функции высокого уровня
  • Функциональное тестирование
  • Функциональное физическое программирование

Details of the courses that make up the specialization

Принципы функционального программирования на Scala

  • Курс 1
    • 56 часов
    • 4,8 (8242 оценки)
  • Детали курса
    • чему ты научишься
      • Понимать принципы функционального программирования
      • Пишите чисто функциональные программы, используя рекурсию, сопоставление с образцом и функции высокого порядка.
      • Проектируйте неизменяемые структуры данных
      • Объедините функциональное программирование с объектами и классами.
    • Навыки, которые вы приобретете
      • Категория: Рекурсия
      • Категория: Программирование на Scala
      • Категория: функции высокого порядка
      • Категория: Неизменяемые ленты
      • Категория: функциональное программирование

Проектирование функциональных программ на Scala

  • Курс 2
    • 35 часов
    • 4,5 (3132 оценки)
  • Детали курса
    • чему ты научишься
      • Знать и применять принципы проектирования функциональных программ.
      • Проектируйте функциональные библиотеки и их API
      • Напишите простые реактивные функциональные приложения.
      • Понимать логические методы работы с программами, сочетающими функции и состояния.
    • Навыки, которые вы приобретете
      • категория: структуры данных
      • Категория: Параллельный расчет
      • Категория: Параллелизм по данным
      • Категория: параллельные алгоритмы

параллельное программирование

  • Курс 3
    • 32 часа
    • 4,4 (1839 оценок)
  • Детали курса
    • чему ты научишься
      • Сегодня, когда каждый смартфон и компьютер имеют несколько процессоров, использование функциональных идей для облегчения параллельного программирования становится все более распространенным.
      • В этом курсе вы изучите основы параллельного программирования, от параллельной рекурсии до параллелизма данных.
      • Посмотрите, насколько хорошо знакомые идеи функционального программирования вписываются в парадигму параллелизма, управляемого данными.
      • Мы начнем с практических аспектов автоматизации операций с известными коллекциями и перейдем к управлению параллельными коллекциями.
      • Мы применим эти концепции на нескольких практических примерах анализа реальных данных.
    • результаты обучения
      • В конце курса вы сможете:
        • Расскажите о параллельных программах задач и данных.
        • Выражайте общие алгоритмы в функциональном стиле и решайте их одновременно.
        • выполнить микро-бенчмаркинг для параллельного программного обеспечения
        • Пишите программы, которые эффективно используют параллельные коллекции для достижения производительности.
    • Рекомендуется дать характеристику фона.
      • У вас должен быть опыт программирования не менее одного года.
      • Навыки работы с Java или C# идеальны, но также желателен опыт работы с другими языками, такими как C/C++, Python, Javascript или Ruby.
      • Вы должны быть знакомы с использованием командной строки.
      • Курс предназначен для изучения после разработки функциональных программ на Scala.

Функциональное программирование и большие данные с помощью Scala и Spark

  • Курс 4
    • 27 часов
    • 4,6 (2586 оценок)
  • Детали курса
    • чему ты научишься
      • Манипулирование большими данными, распределенными по кластеру, с использованием функциональных идей широко распространено в отрасли.
      • Это отражается в популярности MapReduce и Hadoop, а в последнее время и Apache Spark.
      • Мы увидим, как парадигма параллелизма может быть расширена на основе данных на случай распределения.
      • Мы подробно рассмотрим модель программирования Spark.
      • Мы узнаем, когда следует учитывать важные вопросы, связанные с распространением, такие как задержка и сетевая связь.
    • результаты обучения
      • В конце курса вы сможете:
        • Чтение данных из постоянного хранилища и загрузка их в Spark Apache.
        • Для манипулирования данными с помощью Spark и Scala.
        • Алгоритмы экспресс-анализа данных в функциональном стиле
        • Определите, как избежать дублирования и перезапуска в Spark.
    • Рекомендуется дать характеристику фона.
      • У вас должен быть опыт программирования не менее одного года.
      • Навыки работы с Java или C# идеальны, но также желателен опыт работы с другими языками, такими как C/C++, Python, Javascript или Ruby.
      • Вы должны быть знакомы с использованием командной строки.
      • Курс предназначен для изучения после параллельного программирования.

Функциональное программирование в финальном проекте на Scala

  • Курс 5
    • 32 часа
    • 4,4 (544 оценки)
  • Детали курса
    • чему ты научишься
      • В финальном проекте вы примените полученные навыки при создании большого приложения с большим объемом данных.
      • Это приложение покажет интерактивные иллюстрации изменения температуры во времени по всему миру.
    • Разработка такого приложения будет включать в себя:
      • Преобразование данных, предоставляемых метеостанциями, в значимую информацию.
      • Создание изображений на основе этой информации с использованием методов пространственной и линейной интерполяции.
      • Реализация того, как пользовательский интерфейс будет реагировать на действия пользователя.

Навыки, которые вы приобретете

  • Категория: Программирование на Scala
  • Категория: Большие данные
  • Категория: SQL
  • Категория: Апач Спарк