К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Functional Programming Principles in Scala (Scala 2 version) · LearnSpace
Назад в каталог
courseraПрограммирование

Functional Programming Principles in Scala (Scala 2 version)

Курс от École Polytechnique Fédérale de Lausanne
Средний≈ 44.6 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera. In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks, such as modeling business domains or implementing business logic. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. The course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series programming projects as homework assignments. Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity using the command line.

Навыки, которые вы освоите

Scala ProgrammingFunctional DesignObject Oriented Programming (OOP)Programming PrinciplesData StructuresComputational LogicOther Programming LanguagesObject Oriented DesignCommand-Line Interface

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

6 модулей · 60 учебных материалов

01Getting Started + Functions & Evaluation22 материалов

Getting Started

Course IntroductionВидеоTools Setup (Please read)ЧтениеTools Setup for LinuxВидеоTools Setup for Mac OS XВидео

Учитесь у экспертов

Martin Odersky

Professor

Functional Programming Principles in Scala (Scala 2 version)
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 44.6 ч

6 модулей

Язык: Английский

Субтитры: Арабский, Французский, Украинский, Европейский португальский, Сербский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Вьетнамский, Нидерландский, Корейский, Немецкий, Русский, Тайский, Индонезийский, Шведский, Турецкий, Испанский, Хинди, Японский, Казахский, Польский

Часть программы вашего университета
Tools Setup for WindowsВидео
Example AssignmentПрограммирование
Cheat SheetЧтение
IntelliJ IDEA TutorialЧтение
SBT tutorial and Submission of Assignments (Please read)Чтение
Learning ResourcesЧтение
Scala TutorialЧтение
Scala Style GuideЧтение

Functions & Evaluation

Lecture 1.1 - Programming ParadigmsВидеоLecture 1.2 - Elements of ProgrammingВидеоLecture 1.3 - Evaluation Strategies and TerminationВидеоLecture 1.4 - Conditionals and Value DefinitionsВидеоLecture 1.5 - Example: square roots with Newton's methodВидеоLecture 1.6 - Blocks and Lexical ScopeВидеоLecture 1.7 - Tail RecursionВидеоLearning check-inЗаданиеRecursionПрограммированиеRecursionПрограммирование
02Higher Order Functions9 материалов

Higher Order Functions

Lecture 2.1 - Higher-Order FunctionsВидеоLecture 2.2 - CurryingВидеоLecture 2.3 - Example: Finding Fixed PointsВидеоLecture 2.4 - Scala Syntax SummaryВидеоLecture 2.5 - Functions and DataВидеоLecture 2.6 - More Fun With RationalsВидеоLecture 2.7 - Evaluation and OperatorsВидеоFunctional SetsПрограммированиеFunctional SetsПрограммирование
03Data and Abstraction5 материалов

Data and Abstraction

Lecture 3.1 - Class HierarchiesВидеоLecture 3.2 - How Classes Are OrganizedВидеоLecture 3.3 - PolymorphismВидеоObject-Oriented SetsПрограммированиеObject-Oriented SetsПрограммирование
04Types and Pattern Matching9 материалов

Types and Pattern Matching

Lecture 4.1 - Objects EverywhereВидеоLecture 4.2 - Functions as ObjectsВидеоLecture 4.3 - Subtyping and GenericsВидеоLecture 4.4 - Variance (Optional)ВидеоLecture 4.5 - DecompositionВидеоLecture 4.6 - Pattern MatchingВидеоLecture 4.7 - ListsВидеоHuffman CodingПрограммированиеHuffman CodingПрограммирование
05Lists7 материалов

Lists

Lecture 5.1 - More Functions on ListsВидеоLecture 5.2 - Pairs and TuplesВидеоLecture 5.3 - Implicit ParametersВидеоLecture 5.4 - Higher-Order List FunctionsВидеоLecture 5.5 - Reduction of ListsВидеоLecture 5.6 - Reasoning About ConcatВидеоLecture 5.7 - A Larger Equational Proof on ListsВидео
06Collections8 материалов

Collections

Lecture 6.1 - Other CollectionsВидеоLecture 6.2 - Combinatorial Search and For-ExpressionsВидеоLecture 6.3 - Combinatorial Search ExampleВидеоLecture 6.4 - MapsВидеоLecture 6.5 - Putting the Pieces TogetherВидеоConclusionВидеоAnagramsПрограммированиеAnagramsПрограммирование