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

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

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

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

Effective Programming in Scala

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

О курсе

Scala is an expressive, versatile, and safe programming language. In this course, you will learn how to get the most out of Scala to solve common programming tasks such as modeling business domains, breaking down complex problems into simpler problems, manipulating data, or running parallel tasks. Along the journey, you will also learn the best practices for writing high-quality code that scales to large applications, how to handle errors, how to write tests, and how to leverage a productive development environment. This comprehensive, hands-on, course aims at leveling up your programming skills by embracing both functional programming and object-oriented programming. You will become familiar with the standard library and the common patterns of code used in the real world. Each week contains about 1h30 of video lectures. Each lecture is a ~10 min video focused on a specific skill or concept. We always start by looking at concrete problems, and then explain how language features or libraries make you more productive to solve these problems in general. Lectures are generally followed by a quiz to assess your progress. At the end of each week, a graded assignment inspired by real-world applications will give you an opportunity to put things in practice. The course covers Scala 3, and it mentions the differences with Scala 2.

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

Scala ProgrammingData StructuresAlgorithmsObject Oriented Programming (OOP)Data ModelingSoftware TestingBuild ToolsUnit TestingObject Oriented DesignEnterprise ModelingProgramming PrinciplesProgram DevelopmentData Validation

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

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

01Getting Started, Basics, Domain Modeling23 материалов

Getting Started

IntroductionВидеоWorking on AssignmentsЧтениеTools Setup (Please Read)ЧтениеScala 3 REPL and WorksheetsЧтение

Basics

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

Julien Richard-Foy

Computer Scientist

Noel Welsh

Преподаватель курса

Effective Programming in Scala
В каталоге вашей программы

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

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

Начать на Coursera

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

Обучение на Coursera

≈ 74.4 ч

6 модулей

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

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

Часть программы вашего университета
Elements of ProgramsВидео
TypesВидео
TypesЗадание
Methods and ParametersВидео
Methods and ParametersЗадание
ConditionsВидео
ConditionsЗадание
Evaluating DefinitionsВидео
When Evaluation FailsЧтение

Domain Modeling

Domain ModelingВидеоCase ClassesВидеоCase ClassesЗаданиеSealed TraitsВидеоSealed TraitsЗаданиеEnumerationsВидеоDomain ModelingЗаданиеBusiness LogicВидео

Assessment

Fireworks (audit version)ПрограммированиеFireworksПрограммирование
02Standard Library, Loops26 материалов

Collections

First Steps With ListsВидеоFunctionsВидеоShort Syntax for FunctionsЧтениеFunctionsЗаданиеMore Operations on ListsВидеоMore Operations on ListsЗаданиеIntroducing CollectionsВидеоConstructing CollectionsВидеоConstructing CollectionsЗаданиеQuerying CollectionsВидеоQuerying CollectionsЗаданиеTransforming CollectionsВидеоTransforming CollectionsЗаданиеSequences and MapsВидеоOptionВидеоOptionЗаданиеCollections ExtraВидеоCollectionsЗадание

Loops

Introducing LoopsВидеоMore Loop ExamplesВидеоLoopsЗаданиеTail RecursionВидео“for” SyntaxВидео“for” SyntaxЗадание

Assessment

Democracy (audit version)ПрограммированиеDemocracyПрограммирование
03Build Tools, Modules19 материалов

Tooling

Organize CodeВидеоOrganize CodeЗаданиеBuild ToolsВидеоIntroduction to the sbt Build ToolВидеоsbt, Keys, and ScopesВидеоProgram Entry PointВидеоProgram Entry PointЗадание

Modules

EncapsulationВидеоEncapsulationЗаданиеExtending and Refining ClassesВидеоExtending and Refining ClassesЗаданиеCase Classes vs Simple ClassesВидеоCase Classes vs Simple ClassesЗаданиеOpaque Types

Assessment

Todo List (audit version)ПрограммированиеTodo ListПрограммирование
04Reasoning About Code17 материалов

Reasoning About Code

Reasoning About CodeВидеоRefactoring-Proof ProgramsВидеоRefactoring-Proof ProgramsЗаданиеA Case for Side-EffectsВидеоMutable ObjectsВидео

Interlude: Phone Mnemonics

Interlude: Phone MnemonicsЧтение

Testing

Unit TestingВидеоUnit TestingЗаданиеProperty-Based TestingВидеоProperty-Based TestingЗаданиеMockingВидеоIntegration TestingВидеоTestingЗаданиеTesting the TestsВидеоDebugging ProgramsВидео

Assessment

Quickcheck (audit version)ПрограммированиеQuickcheckПрограммирование
05Type-Directed Programming16 материалов

Type-Directed Programming

MotivationВидеоContext ParametersВидеоContext ParametersЗаданиеGiven DefinitionsВидеоGiven DefinitionsЗаданиеPriorities Between Given DefinitionsВидеоPriorities Between Given DefinitionsЗаданиеType ClassesВидеоConditional Given DefinitionsВидеоConditional Given DefinitionsЗаданиеType-Directed Programming in Scala 2Чтение

Extension Methods and Implicit Conversions

Type Classes and Extension MethodsВидеоImplicit ConversionsВидеоImplicit ConversionsЗадание

Assessment

Codecs (audit version)ПрограммированиеCodecsПрограммирование
06Error Handling, Concurrent Programming16 материалов

Error Handling

Error HandlingВидеоExceptionsЗаданиеError Handling with TryВидеоManipulating Try ValuesВидеоValidating DataВидеоManipulating Validated ValuesВидеоCombining Try and EitherВидеоTry and EitherЗаданиеFollow the TypesЧтение

Asynchronous Programming

Concurrent ProgrammingВидеоOperations on Type FutureВидеоExamples with FutureВидеоExecution ContextВидеоFuturesЗадание

Assessment

Wikigraph (audit version)ПрограммированиеWikigraphПрограммирование
Видео
Opaque TypesЗадание
Extension MethodsВидео
Extension MethodsЗадание