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.
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.
Intermediate is accurate: you need to have built something in another language and know CS basics. Not a first programming course.
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
- 1Welcome 1 free preview1 lecture · 15 min
- 2The Absolute Scala Basics 1 free preview8 lectures · 1.9 hours
- 3Object-Oriented Programming in Scala 1 free preview15 lectures · 4 hours
- 4Functional Programming in Scala 1 free preview11 lectures · 3.9 hours
- 5Pattern Matching4 lectures · 1.2 hours
- 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
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
deconstructs Scala - which is otherwise hard to learn - into the critical pieces you need
selects the most important Scala concepts and separates them into what's simple but critical and what's powerful
sequences ideas in a way that "clicks" and makes sense throughout the process of learning
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!
Instructor Details
- 4.5 Rating
15,399 Reviews
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.
More courses by Daniel Ciocîrlan
Programming for Kids and Beginners: Learn to Code in Scratch (2023)
4.4 (12,559 Reviews)
Provider: Udemy
Time: 7.6h
$39.99
Advanced Scala and Functional Programming (2024)
4.7 (3,560 Reviews)
Provider: Udemy
Time: 13.2h
$39.99
Apache Spark 3 & Big Data Essentials in Scala (2024)
4.8 (2,302 Reviews)
Provider: Udemy
Time: 7.3h
$39.99
More Scala courses
Advanced Scala and Functional Programming (2024)
4.7 (3,560 Reviews)
Provider: Udemy
Time: 13.2h
$39.99
Reviews
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.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100









