Scala Language Fundamentals

blur

Learn Path Description

Scala (/ˈskɑːlɑː/ SKAH-lah) combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance systems with easy access to huge ecosystems of libraries.

Skills You Will Gain

Courses In This Learning Path

blur
icon

Total Duration

0.4 hour

icon

Level

Beginner

icon

Learn Type

Certifications

Scala Language: The Big Picture

If you don't know if a programming language will help you solve your problem, it can be intimidating. This course, Scala Language The Big Picture, will help you get started with Scala Language. You'll first learn about the language and how it is built using libraries and tools. Next, you will learn how Scala code works. You'll also learn how to combine Java code and Scala, and then run them together. After completing this course, you will have the knowledge and skills to dive deeper into Scala and learn the basics of the language.

blur
icon

Total Duration

122 minutes

icon

Level

Beginner

icon

Learn Type

Certifications

Scala Language: Getting Started

Imagine that you are looking for Scala knowledge and have read a lot of documentation, but you're still unsure where to begin. This is the end of your search. This course Scala Language: How to Get Started will teach you how to use the basic concepts of Scala Language in a practical way. You'll first learn about variables, types, values. Next, you will learn how Scala controls and expressions work. Next, you'll learn Pattern Matching and how it works in Scala. Next, you'll learn about functions and how they work and create your own functions. You'll also learn how to run these concepts on the command line. After completing this course, you will have the Scala Language skills and knowledge to create Scala programs confidently.

blur
icon

Total Duration

195 minutes

icon

Level

Intermediate

icon

Learn Type

Certifications

Scala 2 Methods and Functions

Because functional code can be distributed so easily, it is becoming increasingly important to understand functional programming constructs when working with Big Data. Scala is a general-purpose programming language that runs on the JVM and supports both functional and object-oriented programming paradigms.In this course, Scala Methods and Functions, you'll learn to utilize those aspects of Scala that are specific to the functional programming paradigm.First, you'll see how variables with different type modifiers are assigned and evaluated and you'll understand the differences between Scala val, var, lazy val, and def keywords.Next, you'll discover the attributes of first-class functions, and the use of higher-order functions and partial functions in order to simplify code design.Next, you'll learn how to harness the power of features for Scala methods such as currying, recursion, named and positional arguments, and varargs.Finally, you'll learn how to deal with missing values and errors in Scala and work with functional error handling idioms such as Try-Success-Failure, Option-Some-None, and Either-Right-Left.When you're finished with this course, you'll have the skills and knowledge of functions and methods in Scala needed to write correct, concise, yet easily understandable code that combines the power of the functional programming paradigm with a strong static type system.

blur
icon

Total Duration

1.59 hour

icon

Level

Intermediate

icon

Learn Type

Certifications

Scala Collections by Pluralsight

Java and its collection types are essential for programmers who want to target the JVM. This course, Scala Collections will teach you about Scala's power as well as its collections which will be helpful in your next application. You'll first learn about Scala lists and how you can find elements within them. Next, you will learn about collection types and which one is best for you. You'll also learn how to simplify complicated computations and transform elements. This course will equip you with the knowledge you need to use Scala's collections, as well as some functional programming idioms.

blur
icon

Total Duration

64 minutes

icon

Level

Intermediate

icon

Learn Type

Certifications

Scala Classes and Objects

When you begin working with Scala you may find yourself in a position where you have to create projects. A project must apply multiple language features. This course, Scala Classes & Objects, will teach you how to combine multiple Scala features while creating a bank. You'll first learn about classes that are essential to object-oriented programming. Next, you will learn about traits which allow you to abstract behavior and create rich interfaces that can be modified. You'll also learn how to use case class and package your code for improved code visibility and organization. This course will equip you with the knowledge and skills to create or extend a project using Scala classes and objects.

blur
icon

Total Duration

1.37 hour

icon

Level

Beginner

icon

Learn Type

Certifications

Scala Build Tool: Getting Started

This course is ideal for Scala developers, who plan to contribute to the codebase. Scala Build Tool (sbt), which is widely accepted in the Scala Ecosystem is used to build and ship the Scala language codebase. Scala Build Tool: How to Get Started is a course that teaches you the basics of using the sbt shell. You'll learn about setting up tasks, scopes and build definitions. Also, how to use plugins and work with 3rd-party libraries. This course will show you how to create a project, add source files, and test it. Next, you'll learn how to compile your source code and then test it. The final step is to learn how to open-source the work you have done in this project, and then to make it available for everyone in the world. You will learn the basics of sbt and be able to refactor the codebases that you are working with.

blur
icon

Total Duration

88 minutes

icon

Level

Advanced

icon

Learn Type

Certifications

Scala Asynchronous Programming

Software systems should be scalable, performant, and efficient. It depends on how it is written. Scala Asynchronous Programming will teach you how to improve performance and scaleability with non-blocking and dynamic code. You'll first discover why blocking isn't the best way to go. Next, you will understand why it's important that you write asynchronous codes. Next, we'll look at one of the top abstractions to write async codes, namely. Scala Futures. Scala Futures. The Akka actor model will be explained, including how to write message protocols and async communication. Actors will show you how to handle a shared mutable condition. This course will also teach you how Actors handles shared mutable states.

blur
icon

Total Duration

144 minutes

icon

Level

Beginner

icon

Learn Type

Certifications

Unit Testing in Scala

ScalaTest is a popular tool for testing Scala projects. It is used by many open-source projects like Akka. This course will teach you how to use ScalaTest to test Scala projects. You will first test your codebase with Matchers and Assertions. Next, you'll learn how to create Fixtures and test for asynchronous codes using different methods. Next, you'll learn how to mock complex objects and test for behavior. Finally, you'll also learn to create tags, apply them selectively to tests, and run tests based upon the tags. You will also learn how ScalaTest libraries can be used to run tests. After completing this course, you will be able to plug ScalaTest in your projects and begin testing with confidence.

blur
icon

Total Duration

90 minutes

icon

Level

Advanced

icon

Learn Type

Certifications

Scala Type Classes and Parameterization

Static typing is a great way to make software easier. This course, Scala Type Class and Parameterization, will teach you how to use Scala’s many generic programming constructs to create concise, type-safe code. You'll first learn what code abstraction and type safety really mean in software development. Next, you will learn about parameterization in Scala. This includes how it is implemented using abstract and parameterized types. Finally, you will learn how to implement generic methods. Next, you will learn about type bounds as well as variance. You'll also learn about implicits in Scala, and how to use them when writing typeclasses. After completing this course, you will have the knowledge and skills to create abstract code that is easy to understand.

blur
icon

Total Duration

1.5 hour

icon

Level

Advanced

icon

Learn Type

Certifications

Scala Design Patterns

Scala is used to create real-world applications. It requires you to be able to write structured and understandable code. This can often be accomplished using a well-defined design template. Scala Design patterns is a course that will teach you how to use these design patterns to create well-structured Scala apps. You'll first learn how to use the Typeclass and Cake patterns. Next, you will learn how to lazy evaluate expressions. The concepts of Lens, Implicits injection, and Memoization patterns will be covered. After the course is over, you will have the knowledge and skills to use design patterns in order to understand when, how, and why.

blur