In this article you can find online courses to Elevate your Scala Computing Skills.
Scala is a strong statically typed general-purpose programming language which supports both object-oriented programming and functional programming. Designed to be concise, many of Scala’s design decisions are aimed to address criticisms of Java.
Scala source code can be compiled to Java bytecode and run on a Java virtual machine (JVM). Scala provides language interoperability with Java so that libraries written in either language may be referenced directly in Scala or Java code. Like Java, Scala is object-oriented, and uses a syntax termed curly-brace which is similar to the language C. Since Scala 3, there is also an option to use the off-side rule (indenting) to structure blocks, and its use is advised. Martin Odersky has said that this turned out to be the most productive change introduced in Scala 3.
Unlike Java, Scala has many features of functional programming languages like Scheme, Standard ML, and Haskell, including currying, immutability, lazy evaluation, and pattern matching. It also has an advanced type system supporting algebraic data types, covariance and contravariance, higher-order types (but not higher-rank types), and anonymous types. Other features of Scala not present in Java include operator overloading, optional parameters, named parameters, and raw strings. Conversely, a feature of Java not in Scala is checked exceptions, which has proved controversial.
The name Scala is a blend of scalable and language, signifying that it is designed to grow with the demands of its users.
In the following list, you can find the top 15 online courses about Scala for experienced or beginner programmers. Enjoy!
Advanced Scala & Functional programming – JVM Guru
Suresh Mandalapu via Udemy
In this course, we will learn advanced Scala concepts. This course is recommended for Scala beginners to gain good experience in advanced Scala concepts. You will also gain experience in other Scala–based libraries like: Cats, Apache Akka…etcincluding ScalaTest whichis a pretty standard library for testing Scala based applications. I believe the practice is very important alongside learning and listening to the language, so we will go through real–world projects and explain how things work, plus lots of code examples and assignments
★★★★★(5-star rating)
Akka Persistence with Scala | Rock the JVM
Daniel Cioc rlan via Udemy
In this course, we will learn how to write long–term, fault–tolerant distributed applications using Event Sourcing and Akka Persistence. You’ll write 1500+ lines of Akka code yourself, with guidance, and you will become a rockstar. This course is for Scala/Akka programmers who need to design critical and long–lived distributed applications. This course is for established programmers with experience with Scala and Akka at the level of the Rock the JVM courses. I already assume a solid understanding of general programming fundamentals. This course is NOT for you if you’ve never written Scala code before.
★★★★★(5-star rating)
Scala Applied, Part 3
Dick Wall via Udemy
Scala Applied, part 3 is the final part of this Scala programming language course. The course in its entirety is aimed at giving you a full, day–to–day working knowledge of Scala programming, including some of the most common core library APIs. This part starts with a final language feature for Scala (continuing from the other language features covered in parts 1 and 2). Pattern matching, partial functions and case classes are examined, how they can be used together, and how partial functions can help you avoid certain runtime errors by validating input to a function before you call it.
★★★★★(5-star rating)
Apache Spark 3 – Spark Programming in Scala for Beginners
Learning Journal – Prashant Kumar Pandey via Udemy
This course does not require any prior knowledge of Apache Spark or Hadoop. We have taken enough care to explain Spark Architecture and fundamental concepts to help you come up to speed and grasp the content of this course. I designed this course for software engineers willing to develop a Data Engineering pipeline and application using the Apache Spark. I am also creating this course for data architects and data engineers who are responsible for designing and building the organization s data–centric infrastructure.
★★★★★(5-star rating)
Advanced Scala and Functional Programming | Rock the JVM
Daniel Cioc rlan via Udemy
In this course, we will learn the tricks used by the top 1% of Scala developers. You’ll write 2000+ lines of Scala code yourself, with guidance, and you will become a rockstar. This course is for Scala programmers who need to design complex, scalable systems, or need to customize existing tools (e.g. Spark) or write their own. Mastering scala is important because it’s the hottest language based on the Java Virtual Machine – the number of Scala jobs has exploded, but demand is even higher. Scala offers significantly higher pay (> 20%) than same–level Java positions – the top Scala devs are paid 2x, 10x, even more!
★★★★★(5-star rating)
Scala Applied, Part 2
Dick Wall via Udemy
Scala Applied, Part 2 covers Scala features that are different from other languages or maybe unique to Scala. It is intended to follow on from Part 1, and dovetails nicely into that flow. In particular, by following this course you will: Understand Scala’s composition and inheritance features, Create abstract classes and pure abstract members (methods and fields), Override and overload methods, Create primary and auxiliary constructors, Call superclass constructors and methods, Understand and use parametric fields and much more..
★★★★★(5-star rating)
Akka HTTP with Scala | Rock the JVM
Daniel Cioc rlan via Udemy
In this course, we will learn how to write reactive microservices, backends and REST APIs using the powerful Akka HTTP. You’ll write 2000+ lines of Akka code yourself, with guidance, and you will become a rockstar. This course is for Scala/Akka programmers who need to design large–scale reactive HTTP backends and microservices. This course is for established programmers with experience with Scala and Akka (including Akka Streams) at the level of the Rock the JVM courses. I already assume a solid understanding of general programming fundamentals. This course is NOT for you if you’ve never written Scala code before you’ve never worked with Akka.
★★★★★(5-star rating)
Taming Big Data using Spark & Scala
Anshul Roy via Udemy
The Course is for those who do not know even ABC of Big Data and tools, want to learn them and be in a comfortable situation to implement them in projects. The course is also for those, who have some knowledge on Big Data tools, but want to enhance them further and be comfortable working in Projects. Due to the extensive scenario implementation, the course is also suitable for people interested to write Big Data Certifications like CCA 175. The course contains Practice Test for CCA 175. In the course, we will learn how to utilize Big Data tools like Hadoop, Flume, Kafka, Spark, Scala (the most valuable tech skills on the market today).
★★★★★(5-star rating)
Scala Applied, Part 1
Dick Wall via Udemy
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. Unlike many other courses that teach a specific aspect of the Scala language, for example reactive programming or functional concepts, Stairway to Scala Applied provides a balanced and thorough introduction to the whole language and its concepts, including libraries like Actors and Collections.
★★★★★(5-star rating)
Akka Essentials with Scala | Rock the JVM
Daniel Cioc rlan via Udemy
In this course, we will learn how to write concurrent and resilient applications using Akka actors. You’ll write 2000+ lines of Akka code yourself, with guidance, and you will become a rockstar. This course is for Scala programmers who need to design complex and scalable concurrent applications. This course is for established programmers with experience with Scala and with functional programming at the level of the Rock the JVM Scala beginners course. I already assume a solid understanding of general programming fundamentals. The course is comprehensive, but you’ll always see me get straight to the point. So make sure you have a good level of focus and commitment to become a badass programmer.
★★★★★(5-star rating)
Spark 3.0 & Big Data Essentials with Scala | Rock the JVM
Daniel Cioc rlan via Udemy
In this course, we will learn how to write big data applications with Apache Spark 3 and Scala. You’ll write 2000+ lines of Spark code yourself, with guidance, and you will become a rockstar. This course is for Scala programmers who are getting started with Apache Spark and big data. The course is not for advanced Spark engineers. This course is for established programmers with experience with Scala and with functional programming at the level of the Rock the JVM Scala beginners course. I already assume a solid understanding of general programming fundamentals.
★★★★★(5-star rating)
Functional Programming Principles in Scala (FREE)
Martin Odersky via 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. 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.
★★★★★(5-star rating)
Scala & Functional programming – JVM Guru
Suresh Mandalapu via Udemy
In this course, we will learn Scala programming language features in detail and also how to write quality Scala code using both functional and object oriented fashion. In this course, we will discuss the following features of Scala: Immutability,Type Inference, String Interpolation & Multi–line strings, Functions,Call–by–value & call–by–name, Default & Named arguments,Recursion & Tail Recursion, Higher–Order functions, Currying, Nested Functions, Anonymous functions (or Function Literals), Closures, Lazy Evaluation. I believe the practice is very important alongside learning and listening to the language, so we will go through real–world projects and explain how things work, plus Scala code examples and assignments
★★★★★(5-star rating)
Scala Advanced, Part 2 – Best Practices, Async, Serializing
Dick Wall via Udemy
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 2 provides advice on best practices and patterns drawn from many years of real–world experience in Scala programming. In addition, strategies for compile–time verified dependency injection are covered, then XML and JSON serialization and deserialization, the use of custom extractors for pattern matching, and finally the very popular and important topic of asynchronous programming using Scala Futures.
★★★★★(5-star rating)
Big Data Analysis with Scala and Spark (FREE)
Prof. Heather Miller via Coursera
In this course, we’ll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout. We’ll cover Spark’s programming model in detail, being careful to understand how and when it differs from familiar programming models, like shared–memory parallel collections or sequential Scala collections. Through hands–on examples in Spark and Scala, we’ll learn when important issues related to distribution like latency and network communication should be considered and how they can be addressed effectively for improved performance.
★★★★★(5-star rating)