Skip to content
#2 in ScalaUdemyBestseller on UdemyScalaPaid courseIntermediate levelCertificate

Scala & Functional Programming Essentials (Udemy.com)

Become a Scala programmer and get the skills you need to work with Spark, Akka, and any Scala framework!

Created by: Daniel Ciocîrlan

Last updated October 2024

Our take

Based on the ratings of 15,399 students, a sample of their written reviews and the syllabus, as the course stood in October 2024. No course pays to be reviewed.

This is a language course, not a Spark course. Daniel Ciocîrlan spends 11 hours and 40 lectures walking established programmers through Scala basics, object-oriented Scala, functional programming, and pattern matching, with exercises the course description says add up to over 3,000 lines of code. It was last updated in October 2024, and the description says it now covers Scala 3 alongside Scala 2. The audience is people who already build software and need the language to work with Spark, Akka, or Flink.

Reviewers like how tight it is. The words that come up are clear, concise, and precise, and one Java developer says the concepts click quickly because he builds on what they already know, and that Spark became easier to understand afterward. The complaints are consistent too. He talks fast, and if you miss a step it's easy to get lost for the rest of the video. The generics section trips up a lot of people, one three-star reviewer joking they were lost 'just like everybody else'. A couple also feel the exercises ask for more than the lessons taught.

Around 68,000 students and 15,400 reviews at 4.5 stars, with over 90 percent giving four or five, is a strong record for a niche language. Next to the Spark-focused courses it sits beside, this is the one to take first if the language itself is the gap. Expect to pause and rewind, and budget real time for the exercises. For programmers who want Scala done properly rather than a quick Spark syntax tour, it's an easy recommendation.

Best forWorking developers, Java ones especially, who need to read and write Scala before touching Spark, Akka, or Flink.
Skip it ifYou've never programmed before, or you want big-data pipelines rather than the language itself.

Pros

  • Tight 11 hours: reviewers repeatedly call it clear, concise, and precise
  • A Java developer says the concepts click fast and Spark got easier to understand afterward
  • Last updated October 2024, and the description says it covers Scala 3 as well as Scala 2
  • Plenty of exercises, over 3,000 lines of code by the course description's count

Cons

  • Instructor talks fast; miss one step and reviewers say you're lost for the rest of the video
  • The generics section confuses many students, even ones who rate the course highly
  • Exercises sometimes demand more than the lessons covered, so expect head scratching
Clear, concise and in-depth. One of the better programming courses I have taken.
Ryan Jude Sukdeo, a student

Intermediate is accurate: you need to have built something in another language and know CS basics. Not a first programming course.

icon
What you will learn

  • understand Scala code in production environments or open-source projects
  • think code differently with functional programming
  • write applications in Scala from scratch
  • contribute to products and open-source projects written in Scala
  • skills to start developing with powerful tools on top of Scala: Spark, Akka, Play

Course content

6 sections · 40 lectures · 11 hours of video

  1. 1Welcome 1 free preview1 lecture · 15 min
  2. 2The Absolute Scala Basics 1 free preview8 lectures · 1.9 hours
  3. 3Object-Oriented Programming in Scala 1 free preview15 lectures · 4 hours
  4. 4Functional Programming in Scala 1 free preview11 lectures · 3.9 hours
  5. 5Pattern Matching4 lectures · 1.2 hours
  6. 6You rock!1 lecture · 2 min

Who it is for

The instructor says it suits

  • programmers with little or no experience with Scala or functional programming

What you need before you start

  • some experience with some other programming language - you've built something useful that works
  • computer science fundamentals: memory, running time, how programs compile and run
  • some Java knowledge is a plus, but not required

How it compares

Against the other 34 rated Udemy courses in Scala on CourseDuck:

  • Rating4.5 out of 5higher than 58% of them
  • Reviews15,399#1 of 35 by number of reviews
  • Length11.3 hourslonger than 85% of them
  • Last updatedOctober 2024more recently than 85% of them

icon
Course Description

Updated for Scala 3! This course is now fully compatible with both Scala 2 and Scala 3.

In this course, we will learn the basics of Scala and functional programming, two highly in-demand topics in software industry today. Write 3000+ lines of Scala code yourself, with guidance, through 100+ examples and exercises.

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

  • Scala 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

I like to get to the point and get things done. This course

  1. deconstructs Scala - which is otherwise hard to learn - into the critical pieces you need

  2. selects the most important Scala concepts and separates them into what's simple but critical and what's powerful

  3. sequences ideas in a way that "clicks" and makes sense throughout the process of learning

  4. applies everything in live Scala code

The end benefits are still much greater:

  • significant bump in salary when you switch to Scala - return on investment for this course >100x in the first year alone!

  • more enjoyable work - Scala is fun!

  • future-proof skills - you'll be able to work with some of the cutting edge technologies (Spark, Akka etc)

This course is for established programmers with otherwise no experience with Scala language or little to no experience with functional programming. I already assume a solid understanding of general programming fundamentals. If you've never coded before, this course is likely not for you.

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.

I believe both theory and practice are important. That's why you'll get lectures with code examples, real life Scala code demos and assignments, plus additional resources, instructions, exercises and solutions.

I've seen that my students are most successful - and my best students work at Google-class companies - when they're guided, but not being told what to do. I have assignments waiting for you, where I offer my (opinionated) guidance but otherwise freedom to experiment and improve upon your Scala code.

Definitely not least, my students are most successful when they have fun along the way!

So join me in this course and let's rock the JVM with Scala!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Daniel Ciocîrlan

I'm a software engineer with a passion for teaching. Big fan of Scala and the JVM.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.

For 8+ years, I've taught a variety of Computer Science topics to 100000+ of students at various levels. I've held Hour of Code for 7 year-olds, I've taught university students who now work at Google and Facebook, I've held live trainings for software engineering teams at Adobe and Apple, and I'm now so excited to share what I know with a wider community online.

icon
More courses by Daniel Ciocîrlan

$39.99

$39.99

$39.99

$39.99

$39.99

Free

icon
More Scala courses

Free

$39.99

$74.99

$74.99

$39.99

$11.99

icon
Reviews

4.5

15,399 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By prakash on 6/8/2026

it is good but should explain in simple and give more real time code examples

By Zachary Mayuga on 10/17/2025

Yeh, just like everybody else, completely lost at generics haha. I still watched the remaining videos, still helpful.

By Chino Rao on 10/7/2025

After many many lines of coding in Pascal in mid-late eighties to a NextJs React app more recently, this was refreshing although lot of head scratching on the exercises. Needed to learn Scala3 because the current app requires it with Apache Flink. Enjoyable course and signed up for the advanced one. The only gotcha was I could not get the discount as stated but I think this is Udemy carting experience.

By Patrick Alex Silva on 8/7/2025

Excellent course — exceeded my expectations! As a Senior Big Data Engineer with AWS, Azure, and Databricks experience, I found the content perfectly structured for building solid foundations in Scala and functional programming. The explanations are clear, examples are practical, and the instructor makes even complex concepts approachable. This course is a must for anyone looking to apply Scala in real-world data engineering scenarios, especially with Spark.

By Vishakha Shetye on 10/2/2022

I had experience in Java programming before taking this course. I love how the instructor has taught the course such that any java developer will be able to pick up the scala concepts easily. The instructor has given proper examples for learning the thought process for functional programming. Also, the content is covered in minimum time while covering all topics and concepts. Spark has become easier to understand after taking this course.

By Ramakrishna A on 10/3/2020

Nice content covered... Expect it to me from the perspective of Why , not just HOW... for example, I am interested in Why Currying, instead of How do we Currying. That's just an example. But overall this course is really awesome.

By Michael Reuter on 12/2/2019

It’s a fantastic course, which covers many topics of the Scala language and nicely explains the concepts of functional programming. After a very brief introduction of Scala-basics and a first glimpse into functions, it deeply dives into OOP and FP. Accompanying this path is the stepwise implementation and expansion of a generic List-type collection containing the famous methods map, flatMap, filter, foreach as well as their applications in pattern matching and for-comprehensions. This stepwise build-up beautifully reveals the origin of Scala-functions or their connection to OOP, respectively. At the latest with the final 4.5 hours coding practice this course settles beyond a beginner level.

By Pingpoh Finlay Ojoawoh on 4/16/2019

The course material and structure is quite good. Every concept is built from scratch and I find the regular exercises after a new concept is introduced quite helpful in making the new skills stick. It would however be helpful to build in milestone projects ( not as complicated as the Filesystem for beginners) to drive the key points home. Great work!!!

By Alireza Sadeghi on 2/7/2019

This course actually got me started on Scala on a professional level. Coming from imperative, dynamic languages (Python & Javascript), the transition to a functional, static language seemed really hard for me, but this course (and the course after it, which is way more advanced and ...) helped me kickstart Scala. It teaches you OO concepts in Scala & then moves on into Functional Concepts and during these two, you write, from scratch, a "collection" type called "MyList" which has an amazing resemblance to Scala's built in types. All in all, I really recommend this course to anyone who wants to learn Scala, the good way!

By Malvina Pushkova on 11/14/2018

I suppose this is the best Scala course for beginners on Udemy. I passed it having only basic programmer skills, but it was very difficult and took me 1.5 months of hard almost everyday work. Twice I was in deadlock and returned back to previous lectures. Thanks Daniel for support in discussions. I know that I caused a lot of trouble. Now I'm very happy that I begin to understand Scala and functional programming. The next step, I need practise to strengthen the skills, and then I will take an advanced course.

Showing all 10 reviews on CourseDuck

Read all 15,399 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100