10 Best Scala Tutorials for Beginners [2024 JUL]— Learn Scala Online

Learn Scala programming to build imperative, logical, functional, and OOP skills with the best Scala tutorials for beginners in 2024.

Quick Code
Quick Code
11 min readMay 16, 2018

--

Apache Spark gives us unlimited ability to build cutting-edge applications. It is also one of the most compelling technologies of the last decade in terms of its disruption to the big data world.

Apache Scala Spark provides in-memory cluster computing which greatly boosts the speed of iterative algorithms and interactive data mining tasks.

Apache Spark is the next-generation processing engine for big data.

Tons of companies are adapting Apache Spark to extract meaning from massive data sets, today you have access to that same big data technology right on your desktop.

Apache Spark is becoming a must tool for big data engineers and data scientists.

1. Learn By Example: Scala

  • Scala is cool because its all the rage for big data applications, and because it manages to be more sophisticated and elegant than Java.
  • That said, Java is a steady, reliable friend — a language you can depend upon, and in which you can express yourself.
  • These 65 examples will help you trust Scala the way you trust Java. Each is self-contained, has its source code attached, and gets across a specific Scala use-case. Each example is simple, but not simplistic.

2. Functional Programming Principles in Scala

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.

In this course, you will learn how to:

  • discover the elements of the functional programming style.
  • apply the elements usefully in your daily programming tasks.
  • develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically.

You will learn the difference between functional imperative programming. You will step through the basics of Scala; covering expressions, evaluation, conditionals, functions, and recursion.

You will learn about functions as first-class values, and higher order functions. You will also learn about Scala’s syntax and how it’s formally defined.

You will learn about methods, classes, and data abstraction through the design of a data structure for rational numbers.

You will cover traits, and learn how to organize classes into hierarchies. You will cover the hierarchy of standard Scala types, and see how to organize classes and traits into packages.

You will touch upon the different sorts of polymorphism in Scala. You will learn about the relationship between functions and objects in Scala; functions are objects!

You will zoom in on Scala’s type system, covering subtyping and generics, and moving on to more advanced aspects of Scala’s type system like variance.

Finally, you will cover Scala’s most widely used data structure, Lists, and one of Scala’s most powerful tools, pattern matching.

3. Scala Essential Trainings

This course will help get you started with Scala, so you can leverage the unique capabilities it offers.

In this course, you will learn about:

  • the basics of Scala.
  • the basics of type inference, variables, loops, functions, and operators.
  • how to read files using a console, perform pattern matching, and handle exceptions.
  • how to use classes, fields, methods, and objects.

First, learn the basics of type inference, variables, loops, functions, and operators. Then, find out how to read files using a console, perform pattern matching, and handle exceptions.

4. Scala Fundamentals: The Type System

From introducing a simple class to writing a typeclass, this course explains the required concepts to leverage Scala’s beautiful static type system. It will help in achieving code abstraction and enable you to write less code and achieve more.

In this course, you will learn:

  • use Scala’s extensive type system to write type-safe, easy to understand, abstract and concise code.
  • the ways to write constructs like classes, objects, case classes, and traits.
  • concepts of type bounds and variance

In this course, Scala Fundamentals: The Type System, you will learn to use Scala’s extensive type system to write type-safe, easy to understand, abstract and concise code.

First, you will explore the ways to write constructs like classes, objects, case classes, and traits, which work as types. Then, you will learn how to make them generic.

Next, you will discover concepts of type bounds and variance. Finally, you will delve into writing typeclasses.

When you are finished with this course, you will have the skills and knowledge of Scala’s extensive type system needed to write easy to understand and editor-friendly code.

5. Learn Scala from Scratch

This course will teach how to program in Scala and advantages of learning scala such as building scalable programs easily and effectively , combines functional programming and object-oriented programming into one flexible package. This course provides free preview lessons.

At the end of course, you will become master of scala and will stay ahead of the curve, make awesome, scalable apps. It’s a statically typed, high-level language.

6. Stairway to Scala Applied, Part 1

Introduction to programming in the Scala language. Core syntax and concepts.

After taking Stairway to Scala part 1, you will be able to:

  • Use the REPL (the Scala Interactive Shell) for experimentation and fun
  • Understand the basics of Scala syntax, including val, var, def, if, while, try, for and more
  • Create classes, objects and instances
  • Define and use function literals and higher order functions
  • Understand the basics of Scala’s type inference and how to use it
  • Write custom control structures to augment those built into the language
  • Start down the path of a more functional style of programming
  • Be ready for Part 2 of Stairway to Scala Applied, which will dig into some of the differences between Scala and other languages

The course is half theory, half practice with hands on coding exercises built around test driven development examples. If you complete all three parts, with all the exercises, you will find that in addition to a strong grounding in the language theory, you will have the practical skills and comfort to code in Scala, as well as having the tools necessary to do so.

The course is taught by two highly experienced Scala developers who use Scala on a daily basis for real world commercial projects, and have done so for several years each.

7. Rock the JVM! Scala and Functional Programming for Beginners

Learn what it takes to get you ready to code reactive applications with Scala, Akka, Spark and more.

In this course, we will learn the basics of Scala and functional programming, two highly in-demand topics in software industry today.

Why Scala:

  • it’s currently the hottest language based on the Java Virtual Machine — the number of Scala jobs has exploded, but demand is even higher
  • it offers significantly higher pay (> 20%) than same-level Java positions
  • it’s incredibly fun — if you learn Scala, you’ll hardly want to get back
  • it unlocks the doors to some of the latest technologies — Spark, Akka and more

This course you will learn,

  1. deconstructs Scala — which is otherwise hard to learn — into the critical pieces you need
  2. selects the most important concepts and separates them into what’s simple but critical and what’s powerful, but more advanced (Skill Vaults)
  3. sequences ideas in a way that “clicks” and makes sense throughout the process of learning

8. Scala and Spark for Big Data and Machine Learning

Learn the latest Big Data technology — Spark and Scala, including Spark 2.0 DataFrames.

Learn how to utilize some of the most valuable tech skills on the market today, Scala and Spark! In this course we will show you how to use Scala and Spark to analyze Big Data.

Scala and Spark are two of the most in demand skills right now, and with this course you can learn them quickly and easily! This course comes packed with content:

  • Crash Course in Scala Programming
  • Spark and Big Data Ecosystem Overview
  • Using Spark’s MLlib for Machine Learning
  • Scale up Spark jobs using Amazon Web Services
  • Learn how to use Databrick’s Big Data Platform
  • and much more!

This course comes with full projects for you including topics such as analyzing financial data or using machine learning to classify Ecommerce customer behavior! We teach the latest methodologies of Spark 2.0 so you can learn how to use SparkSQL, Spark DataFrames, and Spark’s MLlib!

After completing this course you will feel comfortable putting Scala and Spark on your resume!

Thanks and I will see you inside the course!

9. Spark with Scala : Scala + Spark Core,SQL and Streaming

Learn Spark with Live Examples.

This course covers all the fundamentals you need to write complex Spark applications. By the end of this course you will get in-depth knowledge on Spark core,Spark SQL,Spark Streaming.

This course is divided into 9 modules

  1. Dive Into Scala — Understand the basics of Scala that are required for programming Spark applications.Learn about the basic constructs of Scala such as variable types, control structures, collections,and more.
  2. OOPS and Functional Programming in Scala — Learn about object oriented programming and functional programming techniques in Scala
  3. Introduction to Apache Spark — Learn Spark Architecture,Spark Components and spark use-cases
  4. Spark Basics — Learn how to configure/run spark in eclipse/intellij
  5. Working with RDDs in Spark — Learn what is Resilient Distributed Dataset,Different types of actions and transformations which can be applied on RDDs
  6. Aggregating Data with Pair RDDs — Learn how Pair RDD is different from RDD,Different types of actions and transformations which can be applied on Pair RDDs
  7. Advanced Spark Concepts — Learn how Spark uses Broadcast variables and Accumulators to perform calculations,how persistence and partitioning helps to achieve performance
  8. Spark SQL and Data Frames — Understand the difference between Dataframe and Dataset
  9. Spark Streaming — Learn how to analyse massive amount of dataset on the fly

All the concepts are explained using hands-on examples.This course covers 10+ hands-on big data examples such as

  • Explore player data from 2014 world cup
  • Agregate data from ebay online auction data
  • Understand different data points from Adhaar data
  • Develop application to analyse funds received by Indian startup
  • Explore the price trend by looking at the real estate data in California
  • Help retailer to find out valid and invalid purchase transactions of chain of stores in Bangalore
  • Write Spark program find out count of stores in each US region from USA states & Store locations data
  • Develop Spark Streaming application to perform Twitter Sentiment Analysis

30-day Money-back Guarantee! You will get 30-day money-back guarantee from Udemy for this course.

If not satisfied simply ask for a refund within 30 days. You will get a full refund. No questions whatsoever asked.

10. Scalable programming with Scala and Spark

Use Scala and Spark for data analysis, machine learning and analytics.

Taught by a 4 person team including 2 Stanford-educated, ex-Googlers and 2 ex-Flipkart Lead Analysts. This team has decades of practical experience in working with Java and with billions of rows of data.

Get your data to fly using Spark and Scala for analytics, machine learning and data science

Let’s parse that.

What’s Spark? If you are an analyst or a data scientist, you’re used to having multiple systems for working with data. SQL, Python, R, Java, etc. With Spark, you have a single engine where you can explore and play with large amounts of data, run machine learning algorithms and then use the same system to productionize your code.

Scala: Scala is a general purpose programming language — like Java or C++. It’s functional programming nature and the availability of a REPL environment make it particularly suited for a distributed computing framework like Spark.

Analytics: Using Spark and Scala you can analyze and explore your data in an interactive environment with fast feedback. The course will show how to leverage the power of RDDs and Dataframes to manipulate data with ease.

Machine Learning and Data Science : Spark’s core functionality and built-in libraries make it easy to implement complex algorithms like Recommendations with very few lines of code. We’ll cover a variety of datasets and algorithms including PageRank, MapReduce and Graph datasets.

What’s Covered:

Scala Programming Constructs: Classes, Traits, First Class Functions, Closures, Currying, Case Classes

Lot’s of cool stuff ..

  • Music Recommendations using Alternating Least Squares and the Audioscrobbler dataset
  • Dataframes and Spark SQL to work with Twitter data
  • Using the PageRank algorithm with Google web graph dataset
  • Using Spark Streaming for stream processing
  • Working with graph data using the Marvel Social network dataset

.. and of course all the Spark basic and advanced features:

  • Resilient Distributed Datasets, Transformations (map, filter, flatMap), Actions (reduce, aggregate)
  • Pair RDDs , reduceByKey, combineByKey
  • Broadcast and Accumulator variables
  • Spark for MapReduce
  • The Java API for Spark
  • Spark SQL, Spark Streaming, MLlib and GraphX

Who is the target audience?

  • Yep! Engineers who want to use a distributed computing engine for batch or stream processing or both
  • Yep! Analysts who want to leverage Spark for analyzing interesting datasets
  • Yep! Data Scientists who want a single engine for analyzing and modelling data as well as productionizing it.

11. Scala Advanced, Part 1 — The Scala Type System

Mutable State, Scala Type System In-Depth, Implicit.

Scala Advanced, Part 1

The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.

Part 1 provides in depth knowledge of the Scala type system, an important precursor to any library development. We start off with a look at the dangers, and safe use, of mutable shared state in Scala, covering properties and caching. From there we delve into the Scala type system including:

  • Generics
  • Co- and Contra-Variance
  • Upper and Lower Bounds
  • Type Inference
  • Type Parameters and Type Members
  • Path Dependent Types
  • Refinement Types
  • Structural Types
  • Recursive Types
  • F-bounded Polymorphism

The final two modules then move on to the secondary Implicits type system that augments the regular Scala type system, covering:

  • Simple Implicit Parameters
  • Type Classes
  • Implicit classes, objects and methods
  • Type Class Composition
  • Implicit Constraints
  • =:= and <:<
  • Implicit Class and Type Tags
  • Implicit Conversions
  • extends AnyVal

And more.

Parts 2 and 3 (available separately) cover topics like best practices, idioms, patterns, advanced functional programming, asynchronous programming, parser-combinators, macros, performance profiling and optimization, and much more. These parts rely on information presented during this advanced part 1 course.

12. Beginning Scala Programming

Gain a solid understanding of programming with Scala — A course for beginners.

This Scala training course from Infinite Skills teaches you everything you need to know about the Scala programming language. This course is designed for users that already have some programming experience.

You will start by learning the language basics of Scala, including sequences, recursion, and nesting functions. The course will then teach you about the object-oriented aspects of Scala, linearization of trait methods, and building and writing with XML. This video tutorial also covers text processing, parallelism and actors, and libraries for unit testing.

Once you have completed this computer based training course, you will have developed a solid working knowledge of the Scala programming language, and be able to start your own Scala-based project. Working files are included, allowing you to follow along with the author throughout the lessons.

Update: We have created the latest version top tutorials to Learn Scala. Feel free to checkout the best scala tutorials of the year.

Disclosure: We may get a small affiliate commission if you buy a course through links on this page. Thank you.

--

--

Quick Code
Quick Code

A list of best courses to learn programming, web, mobile, chatbot, AR/VR development, database management, data science, web design and cryptocurrency.