Skip to main content
CourseFlix

Scala & Functional Programming for Beginners | Rock the JVM

11h 21m 51s
English
Paid

Learn the basics of Scala and functional programming in a clear and hands-on way. You write real Scala code in small steps. You work through many short examples and exercises that help you build skill and confidence.

Why Learn Scala

Scala runs on the Java Virtual Machine. You can use it in many real projects. It also blends object‑oriented code with functional ideas, so you can write clear and safe programs.

  • You can use Scala in data tools like Spark and in backend systems with Akka and Play.
  • You can reuse your JVM knowledge while you learn a new style of coding.
  • You can write code that is short, strong, and easy to test.
  • You can join many teams that use Scala for data, backend work, or streaming jobs.

How the Course Works

You learn by writing code. Each idea comes with small steps and clear examples. You see how a concept works before you move on to the next one.

What You Practice

  • basic Scala syntax
  • functions and immutable data
  • pattern matching
  • collections and higher‑order functions
  • error handling with options and eithers
  • simple functional design

How Lessons Are Built

  • You learn one idea at a time.
  • You see each idea in working code.
  • You try small tasks that reinforce each topic.
  • You build larger code as you move forward.

Who Should Take This Course

This course is for developers who know at least one other language. You should understand core ideas like variables, loops, functions, memory, and how programs run. You do not need Java or Scala experience.

Requirements

  • basic skill in any programming language
  • comfort with computer science basics like memory and run time
  • Java is helpful but optional

What You Will Learn

  • read and understand Scala code in real projects
  • think in a functional style and write pure functions
  • build small and medium apps in Scala from scratch
  • join and contribute to open‑source Scala projects
  • prepare for tools built on Scala like Spark, Akka, and Play

Learning Approach

You get both theory and practice. Each lesson mixes ideas with code demos and tasks. You get space to try things, make mistakes, and fix them. This helps you build real skill, not just follow along.

Why This Works

  • You stay active by coding often.
  • You learn concepts in a clear order.
  • You build good habits early.
  • You see progress as you solve more tasks.

Final Notes

You get the most from this course when you stay focused and try every exercise. Work step by step, write lots of code, and enjoy the process. You will learn more by doing than by watching.

About the Author: rockthejvm.com

rockthejvm.com thumbnail
Rock the JVM aims to be the go-to resource for learning Scala, Akka, Spark and everything JVM. Everything is battle-tested on yours truly. I'm Daniel Ciocîrlan, a developer and teacher from Bucharest, Romania. I've started Rock the JVM to share everything that I learned through pain, blood, sweat and tears and distill everything in action-packed courses with a smooth learning curve. Since 2013, I've been teaching a variety of programming topics to people all over the world and at every level of the game, from senior engineers processing trillions of data points to 7-year-olds moving spaceships on the screen. At first, I mastered Java, then I taught it for 3.5 years to university students. I found Scala 7 years ago when a good friend told me about functional collections. I was blown away, and still am to this day as I discover more of the Scala magic. The rabbit hole only went deeper from there: I learned Akka with my own small projects, then Spark and big data while at Palantir. I left Palantir in mid 2019, but it's very likely my old pipelines are still crunching data every day, as we speak. I hope you enjoy my material - in the meantime, I've just started on Twitter and would love to meet you! A bit more I spend most of my time between Scala, Akka and Spark, and I'm really fortunate I get to work with them and teach them to other developers. I love the expressiveness and the concise power of a good technology. I learn from the community and the people I've had in my courses and I love to share back what I've learned. I love to speak at meetups and conferences and I adore people's faces when something really hard "clicks" in their mind and their face lights up. I don't know how people react to my online courses in real time, but I love the "this changed my life" comments. I've graduated from University Politehnica of Bucharest with a BSc and a MSc in Computer Science. My Bachelor and Master theses were on quantum computation, of all things. That can be explained by the fact that I was really into physics before - I was winning medals at international physics competitions. When I'm not coding, I dance salsa and bachata and I tend to play an absurd amount of Ed Sheeran on my acoustic guitar.

Watch Online 40 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 40 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Getting Started!
All Course Lessons (40)
#Lesson TitleDurationAccess
1
Getting Started! Demo
15:15
2
Values, Variables and Types
11:47
3
Expressions
19:35
4
Functions
21:53
5
Type Inference
04:22
6
Recursion
25:14
7
Call-by-Name and Call-by-Value
08:51
8
Default and Named Arguments
08:54
9
Smart Operations on Strings
15:09
10
Object-Oriented Basics
14:41
11
Object-Oriented Basics (exercises)
17:09
12
Syntactic Sugar: Method Notations
16:34
13
Method Notations (Exercises)
12:10
14
Scala Objects
15:38
15
Inheritance
16:41
16
Inheritance, Continued: Abstract Classes and Traits
11:48
17
Inheritance Exercises: Implementing Our Own Collection
15:50
18
Generics
26:03
19
Anonymous Classes
06:26
20
Object-Oriented Exercises: Expanding Our Collection
26:07
21
Case Classes
11:41
22
Scala 3: Enums
09:17
23
Exceptions
27:06
24
Packaging and Imports
12:42
25
What's a Function, Really?
23:01
26
Anonymous Functions
13:15
27
Higher-Order-Functions and Curries
19:39
28
HOFs and Curries (Exercises)
32:09
29
map, flatMap, filter and for-comprehensions
25:52
30
A Collections Overview
03:40
31
Sequences: List, Array, Vector
23:45
32
Tuples and Maps
15:33
33
Tuples and Maps (Exercises)
30:52
34
Options
26:20
35
Handling Failure
22:35
36
Pattern Matching
22:05
37
ALL the Patterns!
19:58
38
Patterns Everywhere
09:45
39
Scala 3: Braceless Syntax
20:12
40
What's next
02:17
Unlock unlimited learning

Get instant access to all 39 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription