Effective Programming in Scala


Last updated on April 25, 2024 1:45 pm

Learn Scala, a versatile and safe programming language. Level up your skills with this comprehensive course, covering functional and object-oriented programming. Discover best practices, handle errors, write tests, and leverage a productive development environment. Each week includes video lectures and quizzes, with real-world assignments. Explore topics like basics, domain modeling, standard library, loops, build tools, modules, and reasoning about code. Get up and running with Scala 3, while understanding the differences with Scala 2. Start your journey to becoming a proficient Scala programmer today.

Add your review

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.

What you will learn

Getting Started, Basics, Domain Modeling

First, get up and running with Scala on your computer. Then, learn how to write and evaluate basic expressions and definitions. Last, learn how to model a business domain by defining case classes and sealed traits.

Standard Library, Loops

Manipulate collections of values by using the generic List data type from the standard library. Then, learn about the other generic data structures provided by the standard library (sets, sequences, and maps), and their respective use cases. All the collection classes have a comprehensive set of high-level operations to transform, filter, and iterate over their elements. Last, you will learn a couple of techniques to implement loops in Scala, and their tradeoffs.

Build Tools, Modules

How to write Scala projects larger than a worksheet? Learn how to define an entry point for a Scala project, and discover the tools you can leverage to write, compile, run, and debug your code. Then, use object-oriented programming techniques to break down a complex project into small modular components. Finally, we discuss when to use case classes versus simple classes.

Reasoning About Code

The recommendation in Scala is to use immutable data types by default. Indeed, they have desirable properties such as being thread-safe and allowing local reasoning. However, in some cases, mutable variables lead to simpler code, as you will see in the lectures. We then dive into different testing techniques such as unit testing, property-based testing, integration testing, and mocking.

User Reviews

0.0 out of 5
Write a review

There are no reviews yet.

Be the first to review “Effective Programming in Scala”


    Your Email (required)

    Report this page
    Effective Programming in Scala
    Effective Programming in Scala
    Skip to content